このページの本文へ

いよいよ始まる日本のIaaS-2010年版- 第2回

アマゾンが提供する「元祖」パブリッククラウド

進化を続けるAmazon Web Services

2010年09月30日 06時00分更新

文● クラウド研究会 浦本 直彦

  • この記事をはてなブックマークに追加
  • 本文印刷

2タイプのデータベース

 AWSでは多様なニーズに応えるために、非リレーショナルでスケーラビリティに優れたkey-valueストア型(以下、KVS)と、既存システムで広く用いられているリレーショナル型の2つのタイプのデータベースを提供している。

Amazon SimpleDB

 Amazon SimpleDBは、キー(key)とバリュー(value)のペアを基本とするWebデータベースサービスだ。KVSはそのスケーラビリティの高さから、クラウドサービスで用いるのに適しているといわれている。KVSはAmazon SimpleDB 以外にも、マイクロソフトのWindows Azureで同様の機能がストレージサービスの1つとして提供される。また、Google App Engineで使われているBigTableも、KVS型のデータベースシステムとして知られる。

 図2は、Amazon SimpleDBのデータモデルを図示したものだ。このうち、「ドメイン(Domain)」はデータを管理・操作するための単位で、リレーショナルデータベースのテーブルに相当するものだと考えてもらえばよい。ドメインは複数の「アイテム(item)」で構成され、1つのアイテムは複数の「属性(attribute)」と「値(value)」を保持する。そして、1つの属性は複数の値を持てる。

図2 Amazon SimpleDBのデータモデル

 Amazon SimpleDBでは、ドメイン、アイテム、属性を操作するためのシンプルなAPIが定義されている。このAPIを用いれば、JavaやPHPなどのお馴染みの言語でデータベースを作成、検索、更新するプログラムを比較的容易に開発できるようになっている。

 なお、Amazon SimpleDBも従量課金型のサービスで、計算コストやデータ転送量に応じた料金体系が設定されている。現在のところ、月あたり25時間の使用と1GBまでのデータ転送については課金されない。また、ほかのAWSのサービスから利用する場合も無料となっている。

Amazon RDS

 Amazon RDS(Relational Database Service)は、オープンソースのリレーショナルデータベースシステムとして広く使われているMySQLを、クラウドサービスとして提供するものだ。

 先ほど紹介したAmazon SimpleDBのようなKVSは、大規模なスケールアウトを実現することが容易であり、クラウド環境においても多数の実装が公開されている。一方で、既存の大規模ビジネスアプリケーションの多くは、リレーショナルデータベースを用いることがほとんどだ。このような背景を考えると、大規模なビジネスアプリケーションのプラットフォームとして企業がクラウドコンピューティングを用いるのであれば、リレーショナルデータベースの提供は現実的なアプローチだといえる。

メッセージングキュー

 Amazon SQS(Simple Queue Service)は、いわゆる「メッセージキュー」を提供するAWSのサービスだ。メッセージキューは、一般的なアプリケーション開発において、単純なHTTPリクエスト/レスポンスでは実現できないメッセージの送達保証や、メッセージの非同期処理で使われる。

 Amazon SQSでは、キューに対して送り込まれたメッセージがアマゾンの複数のサーバーに保存され、冗長性が確保される。また、あるユーザーによって処理されているキュー上のメッセージはロックされ、ほかのユーザーからのアクセスを排他処理する。

 こうしたAmazon SQSが提供する信頼性の高いメッセージング機能は、クラウドコンピューティングの普及とともに、その重要性が高まってきている。たとえば、複数の異なるクラウドサービスを統合するには、サービス間のコネクティビティ(接続性)を制御する仕組みが必要だ。特に、システム統合そのものをクラウドサービスとして提供する「Iaas(Integration as a Service)」といった分野では、Amazon SQSのようなサービスが重要な基盤技術となる。

コンテンツ配信

 大規模商用システムを支えるデータサービスを構築する際に問題となるのが、任意の地点からコンテンツへアクセスする際のパフォーマンスと信頼性である。AWSのサービスでこれを実現するのが、「Amazon CloudFront」だ。

 CloudFrontでは、エッジロケーション(edge location)と呼ばれる世界各地の拠点にコンテンツを配置する。そしてユーザーがアクセスした際に、もっとも近いエッジロケーションからコンテンツ配信が行なわれる。コンテンツ提供者は、Amazon S3上の元データに対してディストリビューション(distribution)と呼ばれるキャッシュを作成し、これを登録しておく。この登録されたコンテンツに対して付与されるドメイン名経由でユーザーがアクセスすると、アクセス場所にもっとも近いエッジロケーションからデータが配信されるという仕組みだ。

 現在エッジロケーションは、アメリカ、ヨーロッパ、香港、日本の4地域に置かれている。

仮想プライベートクラウド

 クラウドの普及にともない、その利用形態も多様化してきた。AWSはインターネット経由でアクセスするパブリッククラウドサービスだ。だが、AWSを単体で用いるのみでなく、既存の自社システムや自前のリソースで構築したプライベートクラウドと結合するというケースも見られるようになっている。このようなシステムを、「ハイブリッドクラウド」と呼ぶ。ハイブリッドクラウドを実現するためには、パブリッククラウドとのシームレスでセキュアな連携が欠かせない。

 アマゾンが提供する仮想プライベートクラウドサービス「Amazon VPC(Virtual Private Cloud)」は、AWSと企業内のITインフラをシームレスに接続する。その名称からもわかるとおり、この拠点間の接続にはインターネットなどの公衆通信回線上で安全な通信を実現する、VPN(Virtual Private Network)が用いられる(図3)。

図3 Amazon VPCの構成概念図

 Amazon VPCは、以下の構成要素からなっている。

VPC
アマゾンのデータセンター内に生成される、ユーザー専用の論理的に独立した区画。IPv4のプライベートアドレス(RFC 1918準拠)のIPアドレス空間を定義することが可能。さらに、定義されたIPアドレス空間を複数のサブネットに分けられる。
カスタマーゲートウェイ
ユーザー側に設置される、VPN接続のための機器(ルーターやVPNアプライアンス)。
VPNゲートウェイ
カスタマーゲートウェイとVPN接続を行なうAWS側の端点。

 VPN接続されたVPC上のAmazon EC2インスタンスには、自社内のネットワークからシームレスに接続することができる。ただし、現在のところベータ版としての提供であり、AWSアカウントごとのVPCの数や使用可能なサブネットの数に上限がある。また、現在はAmazon EC2のみをサポートしており、今後ほかのAWSサービスに拡充される予定。

(次ページ、運用管理向けサービス)


 

カテゴリートップへ

この連載の記事