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

Post on 24-May-2015

5055 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

Transcript

Developers Summit 2010

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

TIS株式会社

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

「SonicGarden」

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

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 関連も

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

3 http://www.sonicgarden.jp/

アジェンダ

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

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

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

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

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

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

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

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

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インフラ(ハードウェア/ネットワーク)のクラウドサービス

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

Amazon EC2/S3のメリット

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

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

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

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

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

短納期短納期

低コスト低コスト

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

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クラスに相当

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が利用されている事例

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

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

� eco ideas net

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

� クックパッド

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

� ウェブポ

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

� SKIPaaS

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

弊社運用事例 「SKIPaaS」

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

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

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

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

http://www.skipaas.jp/

10 http://www.sonicgarden.jp/

Amazon EC2の採用

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

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

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

�初期投資が不要

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

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

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

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

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

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

Amazon EC2の機能を活用

http://aws.amazon.com/

12 http://www.sonicgarden.jp/

Amazon EC2の基本機能

� AMI

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

� Key Pairs

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

� Security Groups

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

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

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

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

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

14 http://www.sonicgarden.jp/

スケールアップ

EBS

ボリューム

EBS

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

インスタンス(small)

インスタンス(medium)

Amazon S3 (ストレージ)

バックアップ リカバリ

スケールアップ

� AMI / Amazon EBSの活用

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

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

15 http://www.sonicgarden.jp/

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

http://www.sonicgarden.jp/

16 http://www.sonicgarden.jp/

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

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

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

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

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時間

19 http://www.sonicgarden.jp/

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

SKIPaaS(Amazon EC2/S3)

ユーザ

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

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

システム管理者

画像配信サーバ(国内)

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

DNSサーバ(国内)

DNS

ラウンドロビン

メンテナンスライン

監視

監視

メールサーバ(Google Apps)

20 http://www.sonicgarden.jp/

2. ストレージの選定

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

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

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

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

22 http://www.sonicgarden.jp/

ストレージ設計

� 注意点

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

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

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

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

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

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

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

Amazon EC2

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

ログデータ等

Amazon EBS

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

Amazon S3

23 http://www.sonicgarden.jp/

3. バックアップの実際

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

の?

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

24 http://www.sonicgarden.jp/

バックアップ設計

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

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

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

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

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

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

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

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

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

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

25 http://www.sonicgarden.jp/

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

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

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

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

の設定ってどうやるの?

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

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

28 http://www.sonicgarden.jp/

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

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

29 http://www.sonicgarden.jp/

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

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

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

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

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

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

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

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

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

30 http://www.sonicgarden.jp/

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

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

うすればよいの?

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

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

32 http://www.sonicgarden.jp/

EC2仮想サーバの障害事例

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

�自然復旧

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

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

� Developer Forum、AWS Premium Support

�その他

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

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

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

33 http://www.sonicgarden.jp/

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

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

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

AWSPremiumSupport

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

DashBoardやForumに情報が

ないか確認

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

情報に基づき対応

仮想サーバのリブート

応答無し

応答無し

異常無し

利用登録無し

利用登録有り

情報無し

情報有り

34 http://www.sonicgarden.jp/

EC2で構築・運用してみて

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

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

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

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

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

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

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

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

ない

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

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

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

36 http://www.sonicgarden.jp/

今後・・・

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

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

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

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

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

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

http://twitter.com/namikawa/

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

top related