このページの本文へ

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

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

進化を続けるAmazon Web Services

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

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

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

柔軟性に富んだ計算機リソースの提供

 計算機リソースの提供はAWSのもっとも基本的なサービスであり、その中核を担う「Amazon EC2」によって実現されている。また、膨大な計算機リソースが必要となるデータ並列処理手法であるMapReduceの機能を提供する「Amazon Elastic MapReduce」も、この分野のサービスの1つとして挙げられる。

Amazon EC2

 Amazon EC2(Elastic Compute Cloud)は、AWSの代表的なIaaS(Infrastructure as a Service)であり、開発者に対して仮想的なサーバー環境を提供する。

「Elastic」という単語には馴染みがないかもしれないが、これは「伸び縮みする」という意味だ。つまり用途や需要の変化に応じて、柔軟にサーバー資源を増減可能という特徴を示している。また、低価格であることも特徴の1つである。もっとも安価なLinuxイメージを1時間使用する価格である「8.5セント」は、IaaSサービスのベンチマーク価格となっている。

 Amazon EC2のサーバーの実行環境は、「Amazon Machine Image(AMI)」と呼ばれる仮想イメージがユーザーの要求によりプロビジョニングされることで提供される。通常、AMIはLinuxやWindows Serverの実行イメージで、Webサービスやデータベースなどのアプリケーションがインストール済みの状態になっている。さらに最近では、商用アプリケーションがインストールされたAMIも提供されるようになった。開発者は、あらかじめ登録されているAMIのリストからイメージを選択してもよいし、自分で作った環境をアップロードすることもできる。

 画面1に、Firefoxプラグインとして提供されるGUIツール「Elasticfox」のスクリーンショットを示す。Elasticfoxの起動後にユーザー情報を入力すると、画面のような利用可能なAMIの概要や識別子(AMI ID)が一覧表示される。開発者や管理者は、そのなかから適切なAMIを選択してAmazon EC2サービスを利用する。AMIの稼働後、sshなどのツールを使ってAMIインスタンスにリモートログインすれば、あとは通常のOSのように作業を行なえる。また、Webサーバーが含まれているAMIの場合には、Webサイトとして使いはじめられる。

Firefoxプラグインとして提供されるGUIツール「Elasticfox」

 AMIインスタンスは、CPU能力やメモリサイズに応じて「Standard」、「High-Memory」、「High-CPU」の3つのタイプが用意されている。各タイプはさらにコア数やメモリ、ストレージ容量などの違いにより、「Small」、「Large」、「Extra Large」、「HighCPU Medium」、「High CPU ExtraLarge」などに分類されており、合計8種類のうちから用途にあった環境を選択することができる。

 表2に、それぞれのAMIインスタンスのスペックと価格を示す。なお、表中にある「EC2計算ユニット(Compute Unit)」は、1.0~1.2GHzのOpteron/Xeonプロセッサーに相当する。たとえば、スタンダードのExtaraLargeインスタンスでは、4つの仮想コアを持つAmazon EC2計算ユニットが2単位使用されることになる。

各種のAMIインスタンス

 このほかにもAmazon EC2には多くの特徴や利点がある。おもなものを、以下に簡単にまとめておこう。

完全なコントロール
サーバーの停止や再起動、アクセス制御など、WebサービスAPIやGUIを用いたリソースに対する完全な制御が可能。
ほかのAWSサービスとの連携が容易
Amazon S3/Amazon SimpleDB/Amazon SQSといったサービスとの組み合わせが容易に行なえる。
信頼性
 アマゾンのサーバーインフラを基盤にした高い可用性を実現しており、SLA(Service Level Agreement:サービスレベル合意)により99.95%の可用性を宣言している。
セキュリティ
 AMIインスタンスへのアクセスやインスタンス間の通信に対して、ファイアウォールやアクセス権を設定できる。また後述するAmazon VPCでは、IPアドレス範囲の指定によるサーバー独立化やVPN/IPsecの使用などにより、セキュリティを担保する。なお、AWSのセキュリティ方針についてまとめた「AWS Security Center」も公開されている。
低価格
 課金は実行可能状態のAMIに対して、1時間単位で行なわれる(On-Demand Instances)。実行していない状態であれば、課金されない。また、1年または3年間にわたってインスタンスを使用するユーザーには、より安価な価格設定がなされている(ReservedInstances)。

 価格について補足しておくと、2010年2月にはWindowsインスタンスに対するReserved Instancesの設定が追加された。また、2010年9月までの試験サービスではあるが、ユーザーが所有しているWindows Serverライセンスを、Amazon EC2上のインスタンスに適用できる。加えて、後述するスポットインスタンス(Spot Instance)のような、新たなビジネスモデルも導入されている。

Amazon Elastic MapReduce

 AWSのAmazon Elastic MapReduce(以下、Elastic MapReduce)は、MapReduceアルゴリズムをJavaで実装したオープンソースの「Hadoop」を、Amazon EC2 およびAmazon S3を用いて提供するサービスだ。AWS上でMapReduce処理を行ないたいユーザーは、Elastic MapReduceサービスにアクセスし、使用するAmazon EC2インスタンスの数や種類と、入出力データを保存するためのAmazon S3 のバケット(後述)を設定する。そして、入力データとMapReduce用のプログラムをアップロードすれば、MapReduce処理が簡単に実現可能だ。

 プログラミング言語としては、Cascading、Apache Pig、Java、PHP、Ruby、Perl、Python、R、C++などがサポートされている。なおプログラム実行時の状態は、後述のWebブラウザーベースの管理コンソール(AWS Management Console)を用いて管理する。

(次ページ、オンラインストレージサービス)


 

カテゴリートップへ

この連載の記事