ブロックのようにサービスを組み合わせて使うAmazon Web Services

2012年12月12日(水)
玉川 竜司

AWSのサービス提供拠点となる“リージョン”と“アベイラビリティゾーン”

AWSは、2004年のSQS(Simple Queue Service)、2006年のS3(Simple Storage Service)、2007年のEC2のリリースを皮切りに、次々と多様なサービスを提供し、既存のサービスを拡張してきました。2012年9月現在では、これらのサービス群の数は33に及んでいます。

図2:pace of innovation
(左)2007年から2011年までに追加されたAWSの機能・サービス(右)2012年1月から5月までのアップデート内容(クリックで拡大)
出典:O'REILLY『Amazon Web Servicesプログラミング――APIの基礎からElastic Beanstalkの利用まで』より引用

これらのサービスについては次回以降に説明していきますが、その前にまず、これらのサービス提供の拠点である、“リージョン”と“アベイラビリティゾーン”について説明しましょう。図をご覧ください。

図3:リージョンとアベイラビリティゾーンの図(クリックで拡大)

“リージョン”はAWSのサービス提供拠点の大きなくくりであり、アメリカのバージニア州から始まり、2011年3月に開設された東京を含む、世界中の9カ所にまで増えました。それでは、AWSを使う上でどのリージョンを選択するのがよいのでしょうか?リージョンによって、提供されているサービスの種類やコストは微妙に異なりますが、最も大きな違いは利用時のネットワーク遅延(レイテンシ)です。例えば日本から利用する場合、東京リージョンとのやり取りで生じるレイテンシは数ミリ秒にすぎませんが、海外のリージョンとのやり取りでは数十から数百ミリ秒のレイテンシがどうしても生じます。そのためAWSでシステム構築する上では、基本的に利用者から近いリージョンを使うとよいでしょう(あえて海外にバックアップをしておきたい場合や、利用したいサービスが近いリージョンで提供されていない場合はその限りではありません)。また、コンプライアンス上の制約から、外国にあるリージョンを利用できないケースもあるでしょう。

AWSのそれぞれのリージョンは、複数の“アベイラビリティゾーン”を持っています。それぞれのアベイラビリティゾーンは、完全に独立したデータセンター群から構成されており、大きな障害(例えば大規模な停電やネットワーク断)があっても複数のアベイラビリティゾーンが同時にダウンすることがないよう配慮されています。同一リージョン内のアベイラビリティゾーン同士は非常に小さなレイテンシで通信ができるため、複数のアベイラビリティゾーンを利用することで、高い可用性と利便性を両立したシステムを構築することができます。

AWS東京リージョンについて

東京リージョンは、AWSのリージョンの中でも最も早い成長を遂げたリージョンです。
→ 東京リージョンがAWS史上最速の初年度成長を達成(Amazon Web Services ブログ)

東京リージョンは開設当初2つのアベイラビリティゾーンで構成されていましたが、2012年9月には第3のアベイラビリティゾーンが追加されました。これらのアベイラビリティゾーンは、電源の供給企業を別々にしたり、同一の断層を原因とする地震で複数のゾーンが影響されにくいように場所を選択したりといった配慮がなされています。

AWSの全体像と代表的なサービス

AWSが提供するサービスは、今では単純なインフラ層にとどまらず、非常に多岐にわたっています。本連載ではそのすべてを取り上げることはできませんが、代表的なものを中心に解説していきます。

AWSのトップページ(http://aws.amazon.com/jp)では、代表的なサービスが以下のように案内されています。

図4:AWSが提供する代表的なサービス(クリックで拡大)

ユーザーは、これらのサービスをブロックのように組み合わせてシステムを構築していくことになります。例えば一般的なWebアプリケーションのシステムなら、EC2をアプリケーションサーバーに、RDSかDynamoDBをバックエンドのデータベースに使い、コンテンツが大量にあるならストレージとしてS3を使い、CloudFrontで配信する、といった具合です。

AWSの大きな特徴の1つは、エラスティック性と呼ばれる柔軟さです。様々なサービスが提供するリソースを、時間や容量、処理能力などを単位とする従量課金の下で、負荷に応じて使用量をきめ細かく調整することができる上、その調達にはせいぜい数分しかかかりません。このエラスティック性のおかげで、ユーザーは新しいアイデアを素早く実現することができ、ビジネスが拡大したなら、ほとんど手間をかけずにそのままシステムを拡張していくことができます。

サービスの利用に際しては、グラフィカルなマネージメントコンソールが提供されており、基本的な操作はここから行えます(マネージメントコンソールについては次回詳しく解説します)が、AWSの神髄は、様々な言語で提供されているSDKや、シェルスクリプトから使えるWeb APIからこれらのサービスを操れるところにあります。システムを構築したり、運用したりするためのスクリプトやコードを書いてしまえば、必要に応じてほとんど無限のリソースを、自由自在に扱うことができるのです。

その名の通り、Webに関係するシステムに使われてきたことが多いAWSですが、さらに幅広い領域に対応するサービスが次々と登場してきています。中でも有名なものとしては、ビッグデータを扱うHadoopとその関連プロダクトをサービスとして提供するElastic MapReduceがあります。

Sky株式会社

Sky株式会社にて自社商品の開発を担当する傍ら、新しい技術を日本の技術者に紹介することに情熱を傾けており、その手段として翻訳などに取り組んでいる。飼い猫6匹。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています