SlideShare a Scribd company logo
クラウドサービスAmazon EC2を
 活用した「SKIPaaS」構築事例

        TIS株式会社
      社内ベンチャーカンパニー
      「SonicGarden」
          並河 祐貴
      (id:rx7, @namikawa)


       Developers Summit 2010
自己紹介
    並河 祐貴    (NAMIKAWA Yuuki)

     TIS株式会社
      社内ベンチャーカンパニー 「SonicGarden」
      SonicGardenでは、Amazon EC2/S3を活用しています

     ブログ / Twitter
      http://d.hatena.ne.jp/rx7/
       – Amazon EC2について日本一詳しく紹介しているブログと思う

      http://twitter.com/namikawa/

     著書、寄稿多数
      Amazon Web Services 関連も




1                                    http://www.sonicgarden.jp/
絶賛発売中!
    EC2/S3に関するノウハウを書籍にまとめました!

                クラウド Amazon EC2/S3のすべて
                ~実践者から学ぶ設計/構築/運用ノウハウ~

                TIS株式会社 / SonicGarden
                並河祐貴 / 安達輝雄 著

                日経BP社より、2009/11/05発売
                (税込) 2,940円

                ※ 紹介エントリ :
                  http://d.hatena.ne.jp/rx7/20091026/p1



      筆者らが、Amazon EC2/S3を活用したサービスを作り上げ、
     運用していく過程で得られた知識やノウハウをまとめた書籍です!


2                                                   http://www.sonicgarden.jp/
アジェンダ
    Amazon EC2/S3の概要、メリット、利用事例
    弊社事例の紹介と、EC2採用の理由
    Amazon EC2の機能の活用ポイント
     カスタムAMI、スケールアップ

    実運用する上での課題とその対策・ポイント
     ネットワーク、ストレージ、バックアップ
     メールサーバ、オペレーションミスの影響、障害対応
    EC2で構築・運用してみて



3                          http://www.sonicgarden.jp/
Amazon EC2/S3とは
            Amazon.com社の提供する
     ITインフラ(ハードウェア/ネットワーク)のクラウドサービス

           Amazon EC2          Amazon S3
            (仮想サーバ)          (オンラインストレージ)




    サービスの特徴
      ロードバランサや監視など、運用に必要となるサービスが揃っている
      初期費用無料、1時間/1GB単位での従量課金($0.085~/1h)
      高い稼働率保障(EC2: 99.95%, S3: 99.9%)

4                                       http://www.sonicgarden.jp/
Amazon EC2/S3のメリット
    インフラの準備にかかる期間を大幅に短縮できる
                                    短納期
    稼働状況に応じてサーバの増強/縮退ができる


    インフラの運用管理にかかるコストを削減できる
                                   低コスト

    世界中にセンターがあり災害対策にも対応できる


    VPNにより自社内ネットワークのリソースとして利用できる

                            高セキュリティ

5                             http://www.sonicgarden.jp/
(参考)Amazon EC2のサーバスペック、価格体系
      Instance     Price※1   Memory                CPU※2                Disk     Platform
    Small          $0.085    1.7 GB   1 EC2 Compute Unit              160 GB     32-bit
    Instance                          (1virtual core with
    (Default)                          1 EC2 Compute Unit)
    Large          $0.34     7.5 GB   4 EC2 Compute Units             850 GB     64-bit
    Instance                          (2 virtual cores with
                                       2 EC2 Compute Units each)
    Extra Large    $0.68     15 GB    8 EC2 Compute Units             1690 GB    64-bit
    Instance                          (4 virtual cores with
                                       2 EC2 Compute Units each)
    High-CPU       $0.17     1.7 GB   5 EC2 Compute Units             350 GB     32-bit
    Medium                            (2 virtual cores with
    Instance                           2.5 EC2 Compute Units each)
    High-CPU       $0.68     7 GB     20 EC2 Compute Units            1690 GB    64-bit
    Extra Large                       (8 virtual cores with
    Instance                           2.5 EC2 Compute Units each)
    High-Memory    $1.20     34.2GB   13 EC2 Compute Units            850GB      64-bit
    Double Extra                      (4 virtual cores with
    Large                              3.25 EC2 Compute Units each)
    Instance
    High-Memory    $2.40     68.4GB   26 EC2 Compute Units            1690 GB    64-bit
    Quadruple                         (8 virtual cores with
    Extra Large                        3.25 EC2 Compute Units each)
    Instance

    ※1: US-eastで、Linuxタイプのサーバを1時間稼動させた時の料金、他別途、転送料が必要($0.1~/1GB)
    ※2: EC2 Compute Unit (ECU) は OpteronもしくはXeonの1.0~1.2GHzクラスに相当

6                                                                      http://www.sonicgarden.jp/
Amazon EC2/S3が利用されている事例
    The New York Times
      数TBの過去記事をS3に保存、アーカイブ処理を100台規模のEC2インスタ
      ンスを使用して処理


    NASDAQ
       過去の株式市場データをS3に保存


    SmugMug
       オンラインフォトストレージ、500TB以上の画像データをS3に保存


    ANIMOTO
      スライドショー作成サービス、動画処理、ファイル保管にEC2/S3を使用、ピーク
      時は3500~4000のEC2インスタンスを同時使用


    twitter
      画像等の配信に、S3やCloudFrontを利用

7                                    http://www.sonicgarden.jp/
Amazon EC2/S3が利用されている事例
    eco ideas net
      パナソニック(株)が運営する、エコアイデアを世界中から集めるWebサ
      イト、EC2やS3などを活用


    クックパッド
      レシピ検索・共有サイト、ログ解析用のバッチシステムで、EC2を利用


    ウェブポ
      日本郵便と提携し、構築されたオンライン年賀状作成ツール、年賀状
      シーズンのみ数十台規模のEC2やS3など、フル活用


    SKIPaaS


8                               http://www.sonicgarden.jp/
弊社運用事例 「SKIPaaS」

    SKIP(社内SNS)をSaaSで提供
      2008/7より提供開始、商用で1年半以上の運用実績
      数十台規模のEC2仮想サーバにて運用中
      様々な業界のお客様にご利用いただいています




            http://www.skipaas.jp/
9                                    http://www.sonicgarden.jp/
Amazon EC2の採用
     社内ベンチャーがSaaS事業を短期間で立ち上げ
       サービスインまでのスピード感
        利用申請から数分でコンピューティングリソースを利用開始できる
       初期投資が不要
        従量課金制のため、インフラのコスト(在庫)が発生しない



     APIでの操作と高い自由度
       操作は全てAPI経由で即時実行、ストレージとの容易な連携
       既存のアプリケーションが改修無しで稼動
       OSイメージのカスタマイズなど、多くの仮想化技術の恩恵を享受できる




10                                    http://www.sonicgarden.jp/
Amazon EC2の機能を活用




         http://aws.amazon.com/




11                                http://www.sonicgarden.jp/
Amazon EC2の基本機能
     AMI
       Amazon EC2で利用できる仮想OSイメージ

             バックアップ/リストアで使用、環境の複製が容易となる


     Key Pairs
       リモートログイン時に必要となるキーの生成(秘密鍵・公開鍵)

           仮想サーバにて指定の鍵認証を実施、ログインセキュリティの強化


     Security Groups
       仮想サーバへのアクセス制限(ファイヤーウォール)を実施

            接続元ネットワークの制限や、接続先ポートの制限を実施


12                                 http://www.sonicgarden.jp/
カスタムAMIの活用
     1.    ベースとなるOSを起動
     2.    内容をカスタマイズ (アプリのインストールなど)
     3.    カスタマイズ済OSをイメージ化し、AMIとして保存 (バックアップ)
     4.    保存されたAMIをもとに、仮想サーバの複製を実施 (リストア)


                                                     カスタマイズ(AMI化)の流れ

                       ベースOS       他ユーザに
                                   公開も可能                      カスタマイズ済
                                                              OS(クローン)
            カスタマイズ
                                                イメージを
                           イメージ化                基に起動
                                                              カスタマイズ済
                                                              OS(クローン)
                                         AMI

              カスタマイズ済OS                  Amazon S3

          ※ AMI = Amazon Machine Image

13                                                            http://www.sonicgarden.jp/
スケールアップ
      AMI / Amazon EBSの活用
          システム領域は、AMIへバックアップ
          データ領域は、Amazon EBSに配置
                                 スケールアップ




                                                                     インスタンス
                                        インスタンス      EBS
     インスタンス               EBS                                        (medium)
                                         (small)   ボリューム
      (small)            ボリューム

                バックアップ                              リカバリ




                             Amazon S3 (ストレージ)
14                                                         http://www.sonicgarden.jp/
実運用する上での課題と
     その対策・ポイントについて



        http://www.sonicgarden.jp/




15                                   http://www.sonicgarden.jp/
1. ネットワーク面の課題

     Webページがもっさりと表示されるんだけど?
     コンテンツのダウンロードが遅いんだけど?




16                          http://www.sonicgarden.jp/
ネットワーク遅延への対策
     日本~アメリカ・ヨーロッパのRTT        (Round Trip Time)
      日本 ⇔ US-east : 190~200msec
      日本 ⇔ US-west : 120~130msec
      日本 ⇔ EU-west : 280~290msec
     Webページ内で参照するファイルが多いと体感速度低下

             Amazon CloudFrontの活用
                       もしくは
         国内に静的コンテンツ配信用のサーバを併設

      以下注意点が許容できるのであればCloudFrontがオススメ
        初回アクセス時の通信速度が遅い
        キャッシュされたデータの生存時間が最低24時間
        HTTPSでのコンテンツ配信に非対応

17                                          http://www.sonicgarden.jp/
Amazon CloudFront
       CDN (Contents Delivery Network) サービス
       S3に配置されたコンテンツを高速配信
       日本国内にもキャッシュサーバ有り (高速)
          ただし初回アクセスは遅い、そのタイミングでキャッシュ
       キャッシュサーバの料金は各国で異なる
          日本では、$0.095~$0.221/1GB
       1000Mbps, 1000reqs/secにも耐えるスペック
       SSL通信は非対応、キャッシュの生存時間は24時間


      ネットワーク距離が遠いため、
      帯域が細くレスポンスも悪い
                                                    Amazon S3
                                                     (US, EU)

                                              S3のデータを
                                               キャッシュ


                                   ネットワーク距離が近いため、
                                   帯域が太くレスポンスも良い
      ユーザ
     (Tokyo)
                 Amazon CloudFront
                 キャッシュサーバ (Tokyo)
18                                                      http://www.sonicgarden.jp/
SKIPaaSシステム構成 (2009/Spring)

                                                            基本、1社毎に
                メンテナンス用サーバ                                  1EC2インスタンスを割当
                  監視サーバ                      SKIPaaS
                    (国内)                  (Amazon EC2/S3)

     システム管理者
                           メンテナンス
                             ライン
                監視

                          画像配信サーバ
                           監視サーバ
                            (国内)

                画像配信サーバ              監視
                  (国内)



                                                                    メールサーバ
       DNSサーバ                DNS                                  (Google Apps)
        (国内)               ラウンドロビン




                                            ユーザ



19                                                          http://www.sonicgarden.jp/
2. ストレージの選定

     いくつかストレージの種類があるんだけど、どれを選べ
     ばいいの?
     ストレージはどう使い分けるのが良いの?




20                         http://www.sonicgarden.jp/
ストレージ設計
     EC2周辺には3種類のストレージが存在
        仮想サーバのローカルディスク、EBS、S3




         Amazon EC2   Amazon EBS
          仮想サーバ                     Amazon S3


     ※ 利用できるストレージごとの信頼性の基準
     Amazon EC2   特に複製は実施されない。そのため重要なデータは要バックアップ。
     Amazon EBS   データ書き込み時に複製を実施。ただし、同一のZone内でのデータ
                  保持。
     Amazon S3    データ書き込み時に、データを物理的に異なる2ヵ所以上のZoneの
                  ディスクへ書き込む。障害時は、別のZoneのディスクより復旧。



21                                              http://www.sonicgarden.jp/
ストレージ設計
     注意点
      仮想サーバのローカルディスクは、サーバを停止させると内容が消滅する
      Amazon EBSは、1ボリュームあたりの利用容量に上限がある


       ロストしたくないデータの保持については、EBSの利用が必須
      EBSで大容量のデータを扱う場合は、ソフトウェアRAIDでカバー

       EBSは仮想サーバの停止や障害に左右されない
       EBSでは、バックアップしやすいスナップショット機能も有している


     SKIPaaS事例でのストレージ利用方法
        Amazon EC2    Amazon EBS     Amazon S3

                     アプリケーションで扱う
       基本的に変更しない                    バックアップデータ
                     データ(ファイル、DB)
        システムデータ                      カスタムAMI
                       ログデータ等



22                                     http://www.sonicgarden.jp/
3. バックアップの実際

     結局、EC2では、バックアップって勝手にやってくれる
     の?
     EC2上で、バックアップは実際にどうやってやるの?




23                       http://www.sonicgarden.jp/
バックアップ設計
     システムバックアップは、AMI化 (S3へ)
      SKIPaaSでは、各インスタンスでシステム領域の内容はほぼ同一
      変更点の少ないデータを、EC2サーバのローカルディスクに配置


     必要に応じて、Amazon EBSを利用
       EC2インスタンスのディスク内容はシャットダウン時に消滅
       EBS(ディスクボリューム)は永続的に保管
        更新頻度の高いデータ(アプリデータ、DB、ログ等)を配置
        S3へのスナップショット機能も使える



     データバックアップは、S3Syncを利用して、S3へ
       S3Sync : rsyncライクな、S3とのデータ同期ツール

24                                       http://www.sonicgarden.jp/
4. メールサーバ運用の課題

     EC2インスタンスから送信したメールの一部がスパム
     メール扱いで返ってくるんだけど?
     EC2インスタンスのIPアドレスに対するDNS逆引き
     の設定ってどうやるの?




25                        http://www.sonicgarden.jp/
EC2でのメールサーバ運用の課題

     EC2インスタンスで利用されるIPアドレスの一部がス
     パムメールのDULに登録されている
       spamhaus.org
       mail-abuse.com (maps)


     スパムメールの判定に、DNS逆引きチェックが行われ
     るケースがあるが、EC2ユーザはそれを設定できない
      174.129.xxx.xxx ⇒
      ec2-174-129-xxx-xxx.compute-1.amazonaws.com




26                                        http://www.sonicgarden.jp/
EC2インスタンスでのDNS逆引き設定

       Developer Forumにて、AWSのスタッフが、
       Betaなサービスとして、DNS逆引き設定を受付※
          Public beta soon. とのこと


       メールサーバのログ等から、スパムリストに引っかかっ
       ているかを確認


            上記の設定後に、スパムリストを保持するサービス
         (spamhaus or maps) に対して、解除申請を実施。


     ※ http://developer.amazonwebservices.com/connect/
       thread.jspa?messageID=155999#155999
27                                                       http://www.sonicgarden.jp/
5. オペレーションミスの影響範囲

     すぐにサーバが起動・停止できるのは良いんだけど、
     間違えて違うサーバを停止してしまいそう!




28                       http://www.sonicgarden.jp/
本番環境用とテスト環境用のアカウントID分離
     EC2では、本番環境と同一の環境を生成しやすいメリット
      AMIを活用、テスト用や不具合時の解析用など


     ただし、AWS用のIDが1つの場合、テスト環境向けの操作が、
     本番環境へ影響を与えるリスク
      テスト環境のインスタンスを停止させるつもりが誤って・・・
      秘密鍵を様々な環境で共有していたが、ステージング環境から誤って流
      出・・・
      テスト環境の何らかの挙動が、AWSの規定に接触・・・




        AWSのIDは、本番用とテスト用で分離させ、
          問題発生時の影響範囲を小さくする

29                                 http://www.sonicgarden.jp/
6. EC2インスタンスの障害

     EC2インスタンスにアクセスできなくなった場合は、ど
     うすればよいの?
     EC2のサポートって、どうなってるの?




30                         http://www.sonicgarden.jp/
障害が発生した際に、確認できるリソース
     AWS Service Health Dashboard
     AWS Developer Community Forum
     AWS Premium Support (有償)

      AWS Service Health Dashboard         AWS Developer Community Forum




       http://status.aws.amazon.com/   http://developer.amazonwebservices.com/
                                                              connect/forumindex.jspa



31                                                             http://www.sonicgarden.jp/
EC2仮想サーバの障害事例

     アクセスできなくなった際の復旧のパターン
      自然復旧
      API経由でのリブートによる復旧
      AWSサポートスタッフによる復旧
        Developer Forum、AWS Premium Support

      その他
        ユーザ側による別インスタンスへのマイグレーション
        AWS側による別インスタンスへのマイグレーション


          ケースは様々だが、対応フローを準備しておき、
        手動でのマイグレーションで復旧できる算段を組んでおく。
        AWS Premium Support(有償)も活用すると良い。

32                                      http://www.sonicgarden.jp/
障害発生時の対応フロー例

     インターネットから
       応答確認
                               利用登録有り
                      AWS
                                        サポートに連絡し
          応答無し      Premium
                                         指示を仰ぐ
                    Support

     内部ネットワーク           利用登録無し
     から応答確認
                                 情報有り
                 DashBoardや
          応答無し   Forumに情報が                情報に基づき
                                            対応
                   ないか確認
      コンソールでの
      出力ログ確認            情報無し

                    仮想サーバの
          異常無し       リブート




33                                 http://www.sonicgarden.jp/
EC2で構築・運用してみて
     何も設備を持たない状況から、EC2を利用し、約1ヶ月程度で
     のサービス立ち上げを実現
      誰でも簡単にサーバをすぐに使い始められる

     安定しているクラウドサービス
     当初と比較し、価格も値下がりし続けている
     リモートでH/W保守を実施するイメージ
      ハードウェアやファシリティ、ネットワーク面のお守り(心配)をしなくなった

     OSより上のレイヤはユーザが責任をもって運用しなければいけ
     ない
      バックアップ、セキュリティパッチ適用、HTTP死活監視、スケールなど
      サービス仕様の特性・注意点を抑えて、オプションサービスの選択や、設
      計・運用する必要有

34                                http://www.sonicgarden.jp/
絶賛発売中!
     EC2/S3に関するノウハウを書籍にまとめました!

                 クラウド Amazon EC2/S3のすべて
                 ~実践者から学ぶ設計/構築/運用ノウハウ~

                 TIS株式会社 / SonicGarden
                 並河祐貴 / 安達輝雄 著

                 日経BP社より、2009/11/05発売
                 (税込) 2,940円

                 ※ 紹介エントリ :
                   http://d.hatena.ne.jp/rx7/20091026/p1



       筆者らが、Amazon EC2/S3を活用したサービスを作り上げ、
      運用していく過程で得られた知識やノウハウをまとめた書籍です!


35                                                   http://www.sonicgarden.jp/
今後・・・
     SonicGardenでは、以下の取組を予定しています
       専用サイトによるAmazon EC2関連TIPSの情報発信
       Amazon EC2関連サービスの展開
        導入支援や技術トレーニング等




       開始時に、ブログやTwitterで報知していきますので、
          今後ともフォローいただけると幸いです!
             http://twitter.com/namikawa/
               http://d.hatena.ne.jp/rx7/




36                                          http://www.sonicgarden.jp/

More Related Content

クラウドサービスAmazon EC2を活用した「SKIPaaS」構築事例

  • 1. クラウドサービスAmazon EC2を 活用した「SKIPaaS」構築事例 TIS株式会社 社内ベンチャーカンパニー 「SonicGarden」 並河 祐貴 (id:rx7, @namikawa) Developers Summit 2010
  • 2. 自己紹介 並河 祐貴 (NAMIKAWA Yuuki) TIS株式会社 社内ベンチャーカンパニー 「SonicGarden」 SonicGardenでは、Amazon EC2/S3を活用しています ブログ / Twitter http://d.hatena.ne.jp/rx7/ – Amazon EC2について日本一詳しく紹介しているブログと思う http://twitter.com/namikawa/ 著書、寄稿多数 Amazon Web Services 関連も 1 http://www.sonicgarden.jp/
  • 3. 絶賛発売中! EC2/S3に関するノウハウを書籍にまとめました! クラウド Amazon EC2/S3のすべて ~実践者から学ぶ設計/構築/運用ノウハウ~ TIS株式会社 / SonicGarden 並河祐貴 / 安達輝雄 著 日経BP社より、2009/11/05発売 (税込) 2,940円 ※ 紹介エントリ : http://d.hatena.ne.jp/rx7/20091026/p1 筆者らが、Amazon EC2/S3を活用したサービスを作り上げ、 運用していく過程で得られた知識やノウハウをまとめた書籍です! 2 http://www.sonicgarden.jp/
  • 4. アジェンダ Amazon EC2/S3の概要、メリット、利用事例 弊社事例の紹介と、EC2採用の理由 Amazon EC2の機能の活用ポイント カスタムAMI、スケールアップ 実運用する上での課題とその対策・ポイント ネットワーク、ストレージ、バックアップ メールサーバ、オペレーションミスの影響、障害対応 EC2で構築・運用してみて 3 http://www.sonicgarden.jp/
  • 5. Amazon EC2/S3とは Amazon.com社の提供する ITインフラ(ハードウェア/ネットワーク)のクラウドサービス Amazon EC2 Amazon S3 (仮想サーバ) (オンラインストレージ) サービスの特徴 ロードバランサや監視など、運用に必要となるサービスが揃っている 初期費用無料、1時間/1GB単位での従量課金($0.085~/1h) 高い稼働率保障(EC2: 99.95%, S3: 99.9%) 4 http://www.sonicgarden.jp/
  • 6. Amazon EC2/S3のメリット インフラの準備にかかる期間を大幅に短縮できる 短納期 稼働状況に応じてサーバの増強/縮退ができる インフラの運用管理にかかるコストを削減できる 低コスト 世界中にセンターがあり災害対策にも対応できる VPNにより自社内ネットワークのリソースとして利用できる 高セキュリティ 5 http://www.sonicgarden.jp/
  • 7. (参考)Amazon EC2のサーバスペック、価格体系 Instance Price※1 Memory CPU※2 Disk Platform Small $0.085 1.7 GB 1 EC2 Compute Unit 160 GB 32-bit Instance (1virtual core with (Default) 1 EC2 Compute Unit) Large $0.34 7.5 GB 4 EC2 Compute Units 850 GB 64-bit Instance (2 virtual cores with 2 EC2 Compute Units each) Extra Large $0.68 15 GB 8 EC2 Compute Units 1690 GB 64-bit Instance (4 virtual cores with 2 EC2 Compute Units each) High-CPU $0.17 1.7 GB 5 EC2 Compute Units 350 GB 32-bit Medium (2 virtual cores with Instance 2.5 EC2 Compute Units each) High-CPU $0.68 7 GB 20 EC2 Compute Units 1690 GB 64-bit Extra Large (8 virtual cores with Instance 2.5 EC2 Compute Units each) High-Memory $1.20 34.2GB 13 EC2 Compute Units 850GB 64-bit Double Extra (4 virtual cores with Large 3.25 EC2 Compute Units each) Instance High-Memory $2.40 68.4GB 26 EC2 Compute Units 1690 GB 64-bit Quadruple (8 virtual cores with Extra Large 3.25 EC2 Compute Units each) Instance ※1: US-eastで、Linuxタイプのサーバを1時間稼動させた時の料金、他別途、転送料が必要($0.1~/1GB) ※2: EC2 Compute Unit (ECU) は OpteronもしくはXeonの1.0~1.2GHzクラスに相当 6 http://www.sonicgarden.jp/
  • 8. Amazon EC2/S3が利用されている事例 The New York Times 数TBの過去記事をS3に保存、アーカイブ処理を100台規模のEC2インスタ ンスを使用して処理 NASDAQ 過去の株式市場データをS3に保存 SmugMug オンラインフォトストレージ、500TB以上の画像データをS3に保存 ANIMOTO スライドショー作成サービス、動画処理、ファイル保管にEC2/S3を使用、ピーク 時は3500~4000のEC2インスタンスを同時使用 twitter 画像等の配信に、S3やCloudFrontを利用 7 http://www.sonicgarden.jp/
  • 9. Amazon EC2/S3が利用されている事例 eco ideas net パナソニック(株)が運営する、エコアイデアを世界中から集めるWebサ イト、EC2やS3などを活用 クックパッド レシピ検索・共有サイト、ログ解析用のバッチシステムで、EC2を利用 ウェブポ 日本郵便と提携し、構築されたオンライン年賀状作成ツール、年賀状 シーズンのみ数十台規模のEC2やS3など、フル活用 SKIPaaS 8 http://www.sonicgarden.jp/
  • 10. 弊社運用事例 「SKIPaaS」 SKIP(社内SNS)をSaaSで提供 2008/7より提供開始、商用で1年半以上の運用実績 数十台規模のEC2仮想サーバにて運用中 様々な業界のお客様にご利用いただいています http://www.skipaas.jp/ 9 http://www.sonicgarden.jp/
  • 11. Amazon EC2の採用 社内ベンチャーがSaaS事業を短期間で立ち上げ サービスインまでのスピード感 利用申請から数分でコンピューティングリソースを利用開始できる 初期投資が不要 従量課金制のため、インフラのコスト(在庫)が発生しない APIでの操作と高い自由度 操作は全てAPI経由で即時実行、ストレージとの容易な連携 既存のアプリケーションが改修無しで稼動 OSイメージのカスタマイズなど、多くの仮想化技術の恩恵を享受できる 10 http://www.sonicgarden.jp/
  • 12. Amazon EC2の機能を活用 http://aws.amazon.com/ 11 http://www.sonicgarden.jp/
  • 13. Amazon EC2の基本機能 AMI Amazon EC2で利用できる仮想OSイメージ バックアップ/リストアで使用、環境の複製が容易となる Key Pairs リモートログイン時に必要となるキーの生成(秘密鍵・公開鍵) 仮想サーバにて指定の鍵認証を実施、ログインセキュリティの強化 Security Groups 仮想サーバへのアクセス制限(ファイヤーウォール)を実施 接続元ネットワークの制限や、接続先ポートの制限を実施 12 http://www.sonicgarden.jp/
  • 14. カスタムAMIの活用 1. ベースとなるOSを起動 2. 内容をカスタマイズ (アプリのインストールなど) 3. カスタマイズ済OSをイメージ化し、AMIとして保存 (バックアップ) 4. 保存されたAMIをもとに、仮想サーバの複製を実施 (リストア) カスタマイズ(AMI化)の流れ ベースOS 他ユーザに 公開も可能 カスタマイズ済 OS(クローン) カスタマイズ イメージを イメージ化 基に起動 カスタマイズ済 OS(クローン) AMI カスタマイズ済OS Amazon S3 ※ AMI = Amazon Machine Image 13 http://www.sonicgarden.jp/
  • 15. スケールアップ AMI / Amazon EBSの活用 システム領域は、AMIへバックアップ データ領域は、Amazon EBSに配置 スケールアップ インスタンス インスタンス EBS インスタンス EBS (medium) (small) ボリューム (small) ボリューム バックアップ リカバリ Amazon S3 (ストレージ) 14 http://www.sonicgarden.jp/
  • 16. 実運用する上での課題と その対策・ポイントについて http://www.sonicgarden.jp/ 15 http://www.sonicgarden.jp/
  • 17. 1. ネットワーク面の課題 Webページがもっさりと表示されるんだけど? コンテンツのダウンロードが遅いんだけど? 16 http://www.sonicgarden.jp/
  • 18. ネットワーク遅延への対策 日本~アメリカ・ヨーロッパのRTT (Round Trip Time) 日本 ⇔ US-east : 190~200msec 日本 ⇔ US-west : 120~130msec 日本 ⇔ EU-west : 280~290msec Webページ内で参照するファイルが多いと体感速度低下 Amazon CloudFrontの活用 もしくは 国内に静的コンテンツ配信用のサーバを併設 以下注意点が許容できるのであればCloudFrontがオススメ 初回アクセス時の通信速度が遅い キャッシュされたデータの生存時間が最低24時間 HTTPSでのコンテンツ配信に非対応 17 http://www.sonicgarden.jp/
  • 19. Amazon CloudFront CDN (Contents Delivery Network) サービス S3に配置されたコンテンツを高速配信 日本国内にもキャッシュサーバ有り (高速) ただし初回アクセスは遅い、そのタイミングでキャッシュ キャッシュサーバの料金は各国で異なる 日本では、$0.095~$0.221/1GB 1000Mbps, 1000reqs/secにも耐えるスペック SSL通信は非対応、キャッシュの生存時間は24時間 ネットワーク距離が遠いため、 帯域が細くレスポンスも悪い Amazon S3 (US, EU) S3のデータを キャッシュ ネットワーク距離が近いため、 帯域が太くレスポンスも良い ユーザ (Tokyo) Amazon CloudFront キャッシュサーバ (Tokyo) 18 http://www.sonicgarden.jp/
  • 20. SKIPaaSシステム構成 (2009/Spring) 基本、1社毎に メンテナンス用サーバ 1EC2インスタンスを割当 監視サーバ SKIPaaS (国内) (Amazon EC2/S3) システム管理者 メンテナンス ライン 監視 画像配信サーバ 監視サーバ (国内) 画像配信サーバ 監視 (国内) メールサーバ DNSサーバ DNS (Google Apps) (国内) ラウンドロビン ユーザ 19 http://www.sonicgarden.jp/
  • 21. 2. ストレージの選定 いくつかストレージの種類があるんだけど、どれを選べ ばいいの? ストレージはどう使い分けるのが良いの? 20 http://www.sonicgarden.jp/
  • 22. ストレージ設計 EC2周辺には3種類のストレージが存在 仮想サーバのローカルディスク、EBS、S3 Amazon EC2 Amazon EBS 仮想サーバ Amazon S3 ※ 利用できるストレージごとの信頼性の基準 Amazon EC2 特に複製は実施されない。そのため重要なデータは要バックアップ。 Amazon EBS データ書き込み時に複製を実施。ただし、同一のZone内でのデータ 保持。 Amazon S3 データ書き込み時に、データを物理的に異なる2ヵ所以上のZoneの ディスクへ書き込む。障害時は、別のZoneのディスクより復旧。 21 http://www.sonicgarden.jp/
  • 23. ストレージ設計 注意点 仮想サーバのローカルディスクは、サーバを停止させると内容が消滅する Amazon EBSは、1ボリュームあたりの利用容量に上限がある ロストしたくないデータの保持については、EBSの利用が必須 EBSで大容量のデータを扱う場合は、ソフトウェアRAIDでカバー EBSは仮想サーバの停止や障害に左右されない EBSでは、バックアップしやすいスナップショット機能も有している SKIPaaS事例でのストレージ利用方法 Amazon EC2 Amazon EBS Amazon S3 アプリケーションで扱う 基本的に変更しない バックアップデータ データ(ファイル、DB) システムデータ カスタムAMI ログデータ等 22 http://www.sonicgarden.jp/
  • 24. 3. バックアップの実際 結局、EC2では、バックアップって勝手にやってくれる の? EC2上で、バックアップは実際にどうやってやるの? 23 http://www.sonicgarden.jp/
  • 25. バックアップ設計 システムバックアップは、AMI化 (S3へ) SKIPaaSでは、各インスタンスでシステム領域の内容はほぼ同一 変更点の少ないデータを、EC2サーバのローカルディスクに配置 必要に応じて、Amazon EBSを利用 EC2インスタンスのディスク内容はシャットダウン時に消滅 EBS(ディスクボリューム)は永続的に保管 更新頻度の高いデータ(アプリデータ、DB、ログ等)を配置 S3へのスナップショット機能も使える データバックアップは、S3Syncを利用して、S3へ S3Sync : rsyncライクな、S3とのデータ同期ツール 24 http://www.sonicgarden.jp/
  • 26. 4. メールサーバ運用の課題 EC2インスタンスから送信したメールの一部がスパム メール扱いで返ってくるんだけど? EC2インスタンスのIPアドレスに対するDNS逆引き の設定ってどうやるの? 25 http://www.sonicgarden.jp/
  • 27. EC2でのメールサーバ運用の課題 EC2インスタンスで利用されるIPアドレスの一部がス パムメールのDULに登録されている spamhaus.org mail-abuse.com (maps) スパムメールの判定に、DNS逆引きチェックが行われ るケースがあるが、EC2ユーザはそれを設定できない 174.129.xxx.xxx ⇒ ec2-174-129-xxx-xxx.compute-1.amazonaws.com 26 http://www.sonicgarden.jp/
  • 28. EC2インスタンスでのDNS逆引き設定 Developer Forumにて、AWSのスタッフが、 Betaなサービスとして、DNS逆引き設定を受付※ Public beta soon. とのこと メールサーバのログ等から、スパムリストに引っかかっ ているかを確認 上記の設定後に、スパムリストを保持するサービス (spamhaus or maps) に対して、解除申請を実施。 ※ http://developer.amazonwebservices.com/connect/ thread.jspa?messageID=155999#155999 27 http://www.sonicgarden.jp/
  • 29. 5. オペレーションミスの影響範囲 すぐにサーバが起動・停止できるのは良いんだけど、 間違えて違うサーバを停止してしまいそう! 28 http://www.sonicgarden.jp/
  • 30. 本番環境用とテスト環境用のアカウントID分離 EC2では、本番環境と同一の環境を生成しやすいメリット AMIを活用、テスト用や不具合時の解析用など ただし、AWS用のIDが1つの場合、テスト環境向けの操作が、 本番環境へ影響を与えるリスク テスト環境のインスタンスを停止させるつもりが誤って・・・ 秘密鍵を様々な環境で共有していたが、ステージング環境から誤って流 出・・・ テスト環境の何らかの挙動が、AWSの規定に接触・・・ AWSのIDは、本番用とテスト用で分離させ、 問題発生時の影響範囲を小さくする 29 http://www.sonicgarden.jp/
  • 31. 6. EC2インスタンスの障害 EC2インスタンスにアクセスできなくなった場合は、ど うすればよいの? EC2のサポートって、どうなってるの? 30 http://www.sonicgarden.jp/
  • 32. 障害が発生した際に、確認できるリソース AWS Service Health Dashboard AWS Developer Community Forum AWS Premium Support (有償) AWS Service Health Dashboard AWS Developer Community Forum http://status.aws.amazon.com/ http://developer.amazonwebservices.com/ connect/forumindex.jspa 31 http://www.sonicgarden.jp/
  • 33. EC2仮想サーバの障害事例 アクセスできなくなった際の復旧のパターン 自然復旧 API経由でのリブートによる復旧 AWSサポートスタッフによる復旧 Developer Forum、AWS Premium Support その他 ユーザ側による別インスタンスへのマイグレーション AWS側による別インスタンスへのマイグレーション ケースは様々だが、対応フローを準備しておき、 手動でのマイグレーションで復旧できる算段を組んでおく。 AWS Premium Support(有償)も活用すると良い。 32 http://www.sonicgarden.jp/
  • 34. 障害発生時の対応フロー例 インターネットから 応答確認 利用登録有り AWS サポートに連絡し 応答無し Premium 指示を仰ぐ Support 内部ネットワーク 利用登録無し から応答確認 情報有り DashBoardや 応答無し Forumに情報が 情報に基づき 対応 ないか確認 コンソールでの 出力ログ確認 情報無し 仮想サーバの 異常無し リブート 33 http://www.sonicgarden.jp/
  • 35. EC2で構築・運用してみて 何も設備を持たない状況から、EC2を利用し、約1ヶ月程度で のサービス立ち上げを実現 誰でも簡単にサーバをすぐに使い始められる 安定しているクラウドサービス 当初と比較し、価格も値下がりし続けている リモートでH/W保守を実施するイメージ ハードウェアやファシリティ、ネットワーク面のお守り(心配)をしなくなった OSより上のレイヤはユーザが責任をもって運用しなければいけ ない バックアップ、セキュリティパッチ適用、HTTP死活監視、スケールなど サービス仕様の特性・注意点を抑えて、オプションサービスの選択や、設 計・運用する必要有 34 http://www.sonicgarden.jp/
  • 36. 絶賛発売中! EC2/S3に関するノウハウを書籍にまとめました! クラウド Amazon EC2/S3のすべて ~実践者から学ぶ設計/構築/運用ノウハウ~ TIS株式会社 / SonicGarden 並河祐貴 / 安達輝雄 著 日経BP社より、2009/11/05発売 (税込) 2,940円 ※ 紹介エントリ : http://d.hatena.ne.jp/rx7/20091026/p1 筆者らが、Amazon EC2/S3を活用したサービスを作り上げ、 運用していく過程で得られた知識やノウハウをまとめた書籍です! 35 http://www.sonicgarden.jp/
  • 37. 今後・・・ SonicGardenでは、以下の取組を予定しています 専用サイトによるAmazon EC2関連TIPSの情報発信 Amazon EC2関連サービスの展開 導入支援や技術トレーニング等 開始時に、ブログやTwitterで報知していきますので、 今後ともフォローいただけると幸いです! http://twitter.com/namikawa/ http://d.hatena.ne.jp/rx7/ 36 http://www.sonicgarden.jp/

Editor's Notes

  1. 2008 年 SNS ビジネスが多く出てきた、ビジネスチャンスを逃せない DC を利用すると、インフラ整備に時間がかかる⇒ EC2 SaaS で、いつ契約いただけるか不明なので、サーバ増設のタイミングがつかみ辛い ⇒