先日とあるクライアントへの提案のために Amazon Web Services について概要説明をまとめたので記録しておく。
2009年12月28日時点では以下の8つのサービスが存在する。(7つの機能+サポート契約)
- Amazon Elastic Compute Cloud (Amazon EC2)
- Amazon Simple Storage Service (Amazon S3)
- Amazon CloudFront
- Amazon Relational Database Service (Amazon RDS)
- Amazon SimpleDB
- Amazon Simple Queue Service (Amazon SQS)
- Amazon Elastic MapReduce
- AWS Premium Support
まず主要な3つのサービスを簡単にまとめる。
1. Amazon Elastic Compute Cloud (Amazon EC2)
すぐに利用可能で状況にあわせてスケールアップ・アウト可能な仮想的なサーバーサービス。
セットアップ済みのOSイメージを利用してすぐに運用を開始することが可能。Fedora Linux や Windows Server 2003 など Amazon 提供のイメージや、アプリケーションインストール済みの各種イメージがサードパーティから提供されている。
オプション
- Amazon Elastic Block Store (Amazon EBS)
- 仮想サーバー停止時も初期化されない永続的なディスク領域。EC2は起動する際もとのOSイメージを利用して初期状態で起動されるため変更記録は残らない。またEBSはある時点のスナップショットをとれるのでバックアップ対象とするのにも適している。
- Elastic IP Addresses
- 固定のIPアドレスを付与できるオプション。
- Amazon Virtual Private Cloud (Amaozn VPC)
- AWSのインフラと社内をセキュアに接続してクラウドインフラを利用するためのブリッジサービス。VPN接続してLANのように接続できる。
- Multiple Locations
- 仮想サーバーを稼働させる地理的な場所を選択できるサービス。米国西海岸、東海岸、アイルランドの3拠点とさらにそれぞれの拠点などの複数のゾーンを選択して仮想サーバーを起動することができる。サーバー間の通信を早くしたい場合などは同じゾーン指定、災害時の対策としてロケーションを分けたいような場合は別のゾーンを指定するなどの利用方法が考えられる。
- Elastic Load Balancing
- 外部からのリクエストを複数の仮想サーバーへ分散させるロードバランシングサービス。同時接続数が高いウェブサーバーなどで利用する。
- Amazon CloudWatch
- 各仮想サーバーの状況をモニタリングするサービス。リソース使用状況、パフォーマンス、トラフィックなどを管理コンソールで確認できる。
- Auto Scaling
- EC2の仮想サーバーを状況に合わせて自動的にスケールアップ・ダウンするサービス。スケールアップ・ダウンする方法はあらかじめ指定することが可能。リクエストのスパイクを逃さずに処理できて、かつ必要なキャパシティをあらかじめ準備する必要がないためコストを最適化できる。
2. Amazon Simple Storage Service (Amazon S3)
シンプルでスケーラビリティおよび信頼性の高いウェブサイト向けコンテンツのストレージ・配信サービス。
Dropbox、Slideshare、SmugMugなど、オンラインストレージを提供するベンチャーなどに導入事例が多く存在。その他Newyork Times など一般企業でも導入事例が出てきている。
3. Amazon CloudFront
エンドユーザーへの大容量で高速なコンテンツ配信に特化したサービス。Amazon S3 のストレージに連携して通常の配信のほか、ストリーミング配信(Flash Media Server)に対応。
AKAMAI社やLimelight社などのCDNに近いイメージ。EC2とは違い、日本にもサーバーが存在する。
以下、その他のサービス。
4. Amazon Relational Database Service (Amazon RDS)
インストールなど気にせずにそのまま使えるMySQLサービス。バックアップやスナップショットなども設定をすれば自動的に実行されるため運用負荷が削減できる。
5. Amazon SimpleDB
スキーマ定義が不要でキーと属性・値のみでデータを管理するDBサービス。REST/SOAPでAPI利用可能。
6. Amazon Simple Queue Service (Amazon SQS)
テキストをベースとしたジョブキューイングサービス。ウェブ向けに最適化されていてシンプルなインターフェースになっている。
7. Amazon Elastic MapReduce
大規模な計算などで利用できる並列計算処理サービス。必要なマシン資源をEC2を利用して並列化するため、安価に大規模な処理が可能。もともとMapReduceのコンセプトはGoogleのものだが、このサービスではオープンソース実装であるHadoopが利用されている。
8. AWS Premium Support
テクニカルサポート。契約レベル(Gold/Silver)に応じて、メールおよび電話によるコンタクト、24時間365日、1時間以内のレスポンスなどのサービスが提供される。
利用形態と課金方法は複雑のなのでまた後日。