クラウドサービスamazon ec2を活用した「skipaas」構築事例

37
Developers Summit 2010 クラウドサービス クラウドサービス クラウドサービス クラウドサービス クラウドサービス クラウドサービス クラウドサービス クラウドサービス Amazon EC2 Amazon EC2 活用した「 活用した「 活用した「 活用した「 活用した「 活用した「 活用した「 活用した「 SKIPaaS SKIPaaS 」構築事例 」構築事例 」構築事例 」構築事例 」構築事例 」構築事例 」構築事例 」構築事例 TIS株式会社 社内カ SonicGarden並河 祐貴 (id:rx7, @namikawa)

Upload: yuuki-namikawa

Post on 24-May-2015

5.055 views

Category:

Technology


1 download

TRANSCRIPT

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

Developers Summit 2010

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

TIS株式会社

社内ベンチャーカンパニー

「SonicGarden」

並河 祐貴(id:rx7, @namikawa)

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

1 http://www.sonicgarden.jp/

自己紹介

�並河 祐貴 (NAMIKAWA Yuuki)

� TIS株式会社

�社内ベンチャーカンパニー 「SonicGarden」

� SonicGardenでは、Amazon EC2/S3を活用しています

� ブログ / Twitter

� http://d.hatena.ne.jp/rx7/

– Amazon EC2について日本一詳しく紹介しているブログと思う

� http://twitter.com/namikawa/

�著書、寄稿多数

�Amazon Web Services 関連も

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

2 http://www.sonicgarden.jp/

絶賛発売中!

� EC2/S3に関するノウハウを書籍にまとめました!

筆者らが、Amazon EC2/S3を活用したサービスを作り上げ、

運用していく過程で得られた知識やノウハウをまとめた書籍です!

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

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

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

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

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

3 http://www.sonicgarden.jp/

アジェンダ

� Amazon EC2/S3の概要、メリット、利用事例

�弊社事例の紹介と、EC2採用の理由

� Amazon EC2の機能の活用ポイント

�カスタムAMI、スケールアップ

�実運用する上での課題とその対策・ポイント

�ネットワーク、ストレージ、バックアップ

�メールサーバ、オペレーションミスの影響、障害対応

� EC2で構築・運用してみて

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

4 http://www.sonicgarden.jp/4

Amazon EC2/S3とは

Amazon EC2(仮想サーバ)

Amazon S3(オンラインストレージ)

� サービスの特徴

�ロードバランサや監視など、運用に必要となるサービスが揃っている

�初期費用無料、1時間/1GB単位での従量課金($0.085~/1h)

�高い稼働率保障(EC2: 99.95%, S3: 99.9%)

Amazon.com社の提供するITインフラ(ハードウェア/ネットワーク)のクラウドサービス

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

5 http://www.sonicgarden.jp/5

Amazon EC2/S3のメリット

� インフラの準備にかかる期間を大幅に短縮できる

� 稼働状況に応じてサーバの増強/縮退ができる

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

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

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

短納期短納期

低コスト低コスト

高セキュリティ高セキュリティ

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

6 http://www.sonicgarden.jp/

(参考)Amazon EC2のサーバスペック、価格体系

64-bit1690 GB20 EC2 Compute Units(8 virtual cores with2.5 EC2 Compute Units each)

7 GB$0.68High-CPUExtra LargeInstance

64-bit850GB13 EC2 Compute Units(4 virtual cores with3.25 EC2 Compute Units each)

34.2GB$1.20High-Memory Double Extra Large Instance

64-bit1690 GB26 EC2 Compute Units(8 virtual cores with3.25 EC2 Compute Units each)

68.4GB$2.40High-Memory Quadruple Extra Large Instance

32-bit350 GB5 EC2 Compute Units(2 virtual cores with2.5 EC2 Compute Units each)

1.7 GB$0.17High-CPUMediumInstance

64-bit1690 GB8 EC2 Compute Units(4 virtual cores with2 EC2 Compute Units each)

15 GB$0.68Extra Large Instance

64-bit850 GB4 EC2 Compute Units(2 virtual cores with2 EC2 Compute Units each)

7.5 GB$0.34Large Instance

32-bit160 GB1 EC2 Compute Unit(1virtual core with1 EC2 Compute Unit)

1.7 GB$0.085Small Instance(Default)

Platform Disk CPU※2Memory Price※1Instance

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

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

7 http://www.sonicgarden.jp/

� The New York Times

� 数TBの過去記事をS3に保存、アーカイブ処理を100台規模のEC2インスタンスを使用して処理

� NASDAQ

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

� SmugMug

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

� ANIMOTO

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

� twitter

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

Amazon EC2/S3が利用されている事例

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

8 http://www.sonicgarden.jp/8

Amazon EC2/S3が利用されている事例

� eco ideas net

�パナソニック(株)が運営する、エコアイデアを世界中から集めるWebサイト、EC2やS3などを活用

� クックパッド

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

� ウェブポ

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

� SKIPaaS

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

9 http://www.sonicgarden.jp/9

弊社運用事例 「SKIPaaS」

� SKIP(社内SNS)をSaaSで提供

�2008/7より提供開始、商用で1年半以上の運用実績

�数十台規模のEC2仮想サーバにて運用中

�様々な業界のお客様にご利用いただいています

http://www.skipaas.jp/

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

10 http://www.sonicgarden.jp/

Amazon EC2の採用

� 社内ベンチャーがSaaS事業を短期間で立ち上げ

�サービスインまでのスピード感

� 利用申請から数分でコンピューティングリソースを利用開始できる

�初期投資が不要

� 従量課金制のため、インフラのコスト(在庫)が発生しない

� APIでの操作と高い自由度

�操作は全てAPI経由で即時実行、ストレージとの容易な連携

�既存のアプリケーションが改修無しで稼動

�OSイメージのカスタマイズなど、多くの仮想化技術の恩恵を享受できる

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

11 http://www.sonicgarden.jp/11

Amazon EC2の機能を活用

http://aws.amazon.com/

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

12 http://www.sonicgarden.jp/

Amazon EC2の基本機能

� AMI

�Amazon EC2で利用できる仮想OSイメージ

� Key Pairs

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

� Security Groups

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

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

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

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

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

13 http://www.sonicgarden.jp/

カスタムAMIの活用

1. ベースとなるOSを起動

2. 内容をカスタマイズ (アプリのインストールなど)

3. カスタマイズ済OSをイメージ化し、AMIとして保存 (バックアップ)

4. 保存されたAMIをもとに、仮想サーバの複製を実施 (リストア)

Amazon S3

ベースOS

カスタマイズ済OS

カスタマイズ

イメージ化

AMI

イメージを基に起動

カスタマイズ済OS(クローン)

カスタマイズ済OS(クローン)

他ユーザに公開も可能

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

※ AMI = Amazon Machine Image

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

14 http://www.sonicgarden.jp/

スケールアップ

EBS

ボリューム

EBS

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

インスタンス(small)

インスタンス(medium)

Amazon S3 (ストレージ)

バックアップ リカバリ

スケールアップ

� AMI / Amazon EBSの活用

�システム領域は、AMIへバックアップ

�データ領域は、Amazon EBSに配置

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

15 http://www.sonicgarden.jp/

実運用する上での課題とその対策・ポイントについて

http://www.sonicgarden.jp/

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

16 http://www.sonicgarden.jp/

1. ネットワーク面の課題

�Webページがもっさりと表示されるんだけど?

� コンテンツのダウンロードが遅いんだけど?

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

17 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でのコンテンツ配信に非対応

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

18 http://www.sonicgarden.jp/

Amazon CloudFront

Amazon CloudFrontキャッシュサーバ (Tokyo)

Amazon S3(US, EU)

ネットワーク距離が近いため、帯域が太くレスポンスも良い

ネットワーク距離が遠いため、帯域が細くレスポンスも悪い

ユーザ(Tokyo)

S3のデータを

キャッシュ

� CDN (Contents Delivery Network) サービス

� S3に配置されたコンテンツを高速配信

� 日本国内にもキャッシュサーバ有り (高速)

� ただし初回アクセスは遅い、そのタイミングでキャッシュ

� キャッシュサーバの料金は各国で異なる

� 日本では、$0.095~$0.221/1GB

� 1000Mbps, 1000reqs/secにも耐えるスペック

� SSL通信は非対応、キャッシュの生存時間は24時間

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

19 http://www.sonicgarden.jp/

SKIPaaSシステム構成 (2009/Spring)

SKIPaaS(Amazon EC2/S3)

ユーザ

基本、1社毎に1EC2インスタンスを割当

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

システム管理者

画像配信サーバ(国内)

メンテナンス用サーバ監視サーバ(国内)

DNSサーバ(国内)

DNS

ラウンドロビン

メンテナンスライン

監視

監視

メールサーバ(Google Apps)

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

20 http://www.sonicgarden.jp/

2. ストレージの選定

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

� ストレージはどう使い分けるのが良いの?

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

21 http://www.sonicgarden.jp/

ストレージ設計

� EC2周辺には3種類のストレージが存在

� 仮想サーバのローカルディスク、EBS、S3

Amazon EC2

仮想サーバ Amazon S3

Amazon EBS

データ書き込み時に、データを物理的に異なる2ヵ所以上のZoneのディスクへ書き込む。障害時は、別のZoneのディスクより復旧。

Amazon S3

データ書き込み時に複製を実施。ただし、同一のZone内でのデータ

保持。

Amazon EBS

特に複製は実施されない。そのため重要なデータは要バックアップ。Amazon EC2

※ 利用できるストレージごとの信頼性の基準

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

22 http://www.sonicgarden.jp/

ストレージ設計

� 注意点

�仮想サーバのローカルディスクは、サーバを停止させると内容が消滅する

�Amazon EBSは、1ボリュームあたりの利用容量に上限がある

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

� EBSは仮想サーバの停止や障害に左右されない

� EBSでは、バックアップしやすいスナップショット機能も有している

� SKIPaaS事例でのストレージ利用方法

基本的に変更しないシステムデータ

Amazon EC2

アプリケーションで扱うデータ(ファイル、DB)

ログデータ等

Amazon EBS

バックアップデータカスタムAMI

Amazon S3

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

23 http://www.sonicgarden.jp/

3. バックアップの実際

�結局、EC2では、バックアップって勝手にやってくれる

の?

� EC2上で、バックアップは実際にどうやってやるの?

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

24 http://www.sonicgarden.jp/

バックアップ設計

� システムバックアップは、AMI化 (S3へ)

� SKIPaaSでは、各インスタンスでシステム領域の内容はほぼ同一

�変更点の少ないデータを、EC2サーバのローカルディスクに配置

� 必要に応じて、Amazon EBSを利用

� EC2インスタンスのディスク内容はシャットダウン時に消滅

� EBS(ディスクボリューム)は永続的に保管

� 更新頻度の高いデータ(アプリデータ、DB、ログ等)を配置

� S3へのスナップショット機能も使える

� データバックアップは、S3Syncを利用して、S3へ

� S3Sync : rsyncライクな、S3とのデータ同期ツール

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

25 http://www.sonicgarden.jp/

4. メールサーバ運用の課題

� EC2インスタンスから送信したメールの一部がスパム

メール扱いで返ってくるんだけど?

� EC2インスタンスのIPアドレスに対するDNS逆引き

の設定ってどうやるの?

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

26 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

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

27 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

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

28 http://www.sonicgarden.jp/

5. オペレーションミスの影響範囲

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

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

29 http://www.sonicgarden.jp/

本番環境用とテスト環境用のアカウントID分離

� EC2では、本番環境と同一の環境を生成しやすいメリット

�AMIを活用、テスト用や不具合時の解析用など

� ただし、AWS用のIDが1つの場合、テスト環境向けの操作が、本番環境へ影響を与えるリスク

�テスト環境のインスタンスを停止させるつもりが誤って・・・

�秘密鍵を様々な環境で共有していたが、ステージング環境から誤って流出・・・

�テスト環境の何らかの挙動が、AWSの規定に接触・・・

AWSのIDは、本番用とテスト用で分離させ、

問題発生時の影響範囲を小さくする

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

30 http://www.sonicgarden.jp/

6. EC2インスタンスの障害

� EC2インスタンスにアクセスできなくなった場合は、ど

うすればよいの?

� EC2のサポートって、どうなってるの?

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

31 http://www.sonicgarden.jp/

障害が発生した際に、確認できるリソース

� AWS Service Health Dashboard

� AWS Developer Community Forum

� AWS Premium Support (有償)

http://developer.amazonwebservices.com/connect/forumindex.jspa

http://status.aws.amazon.com/

AWS Service Health Dashboard AWS Developer Community Forum

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

32 http://www.sonicgarden.jp/

EC2仮想サーバの障害事例

� アクセスできなくなった際の復旧のパターン

�自然復旧

�API経由でのリブートによる復旧

�AWSサポートスタッフによる復旧

� Developer Forum、AWS Premium Support

�その他

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

� AWS側による別インスタンスへのマイグレーション

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

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

33 http://www.sonicgarden.jp/

障害発生時の対応フロー例

インターネットから応答確認

内部ネットワークから応答確認

AWSPremiumSupport

コンソールでの出力ログ確認

DashBoardやForumに情報が

ないか確認

サポートに連絡し指示を仰ぐ

情報に基づき対応

仮想サーバのリブート

応答無し

応答無し

異常無し

利用登録無し

利用登録有り

情報無し

情報有り

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

34 http://www.sonicgarden.jp/

EC2で構築・運用してみて

� 何も設備を持たない状況から、EC2を利用し、約1ヶ月程度で

のサービス立ち上げを実現

�誰でも簡単にサーバをすぐに使い始められる

� 安定しているクラウドサービス

� 当初と比較し、価格も値下がりし続けている

� リモートでH/W保守を実施するイメージ

�ハードウェアやファシリティ、ネットワーク面のお守り(心配)をしなくなった

� OSより上のレイヤはユーザが責任をもって運用しなければいけ

ない

�バックアップ、セキュリティパッチ適用、HTTP死活監視、スケールなど

�サービス仕様の特性・注意点を抑えて、オプションサービスの選択や、設計・運用する必要有

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

35 http://www.sonicgarden.jp/

絶賛発売中!

� EC2/S3に関するノウハウを書籍にまとめました!

筆者らが、Amazon EC2/S3を活用したサービスを作り上げ、

運用していく過程で得られた知識やノウハウをまとめた書籍です!

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

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

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

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

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

36 http://www.sonicgarden.jp/

今後・・・

� SonicGardenでは、以下の取組を予定しています

�専用サイトによるAmazon EC2関連TIPSの情報発信

�Amazon EC2関連サービスの展開

�導入支援や技術トレーニング等

開始時に、ブログやTwitterで報知していきますので、

今後ともフォローいただけると幸いです!

http://twitter.com/namikawa/

http://d.hatena.ne.jp/rx7/