はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~

第1回 仮想マシンレンタルサービスAmazon EC2、大容量ストレージサービスAmazon S3を使ってみよう

この記事を読むのに必要な時間:およそ 4 分

はじめに

Amazonはネット最大のオンラインショップサイトとして非常に有名ですが,同時に,書籍情報などを取得できるAmazon Associates Web Service(A2S。旧名Amazon ECS)というWebサービスを積極的に展開していることでも有名です。

一般的にAmazonのWebサービスと言えばA2Sですが,実はA2SはAmazon Web Services(AWS)の一部に過ぎません。AmazonはA2S以外にも,開発者向けにさまざまなサービスを提供しています。AWSで現在提供されているサービスを表1にまとめました。

表1 Amazon Web Servicesのサービス

Amazon Associates Web Service(A2S)書籍情報などを提供しているAPI郡。旧名Amazon E-Commerce Service(ECS)
Amazon Elastic Compute Cloud(Amazon EC2)仮想マシンレンタルサービス
[Limited Beta]
Amazon DevPayAmazon EC2上で動かすサービスに対して開発者が課金する手段を提供
Amazon Simple Storage Service(Amazon S3)大容量ストレージサービス
Amazon SimpleDB [Limited Beta]巨大で単純なデータベースサービス
Amazon Simple Queue Service(Amazon SQS)メッセージキューサービス
Amazon Mechanical Turk [Beta]人的タスクをAPIとして提供
Amazon Flexible Payments Service(Amazon FPS)柔軟な決済サービス
[Limited Beta]
Alexa Web SearchWeb検索エンジン
Alexa Web Information Serviceサイトに関するトラフィックなどの情報を提供
Alexa Top Sitesトラフィックの多いサイトを列挙
Alexa Site Thumbnailサイトのスクリーンショットを提供

※ A2Sは無料。それ以外は従量制の有料サービス

今回はAWSの中でも特に特徴的な,仮想マシンレンタルサービスAmazon Elastic Compute Cloud(EC2)と,大容量ストレージサービスAmazon Simple Storage Service(S3)を実際に使う方法を解説します。

いくらかかるの?

まずはお金の話からしましょう。A2Sは無料のサービスですが,EC2やS3は従量課金のサービスです。以降で述べる価格は,2008年5月現在のものです。

仮想マシンレンタルサービスAmazon EC2の料金

EC2の課金は,起動時間と転送量によります。起動時間による課金は,インスタンスとCPUのスペックによって異なります表2)。転送量による課金は,アップロードとダウンロードに分かれています表3)。

表2 Amazon EC2の料金(起動時間)

Smallインスタンス(デフォルト)LargeインスタンスExtra Largeインスタンス
料金(ドル/時間)0.10.40.8
インスタンス数122
CPU32ビット1コア64ビット2コア64ビット4コア
メモリ(Gバイト/インスタンス)1.77.515
ディスク(Gバイト/インスタンス)1608501,690

表3 Amazon EC2/S3の料金(転送量)

アップロード0.10ドル/Gバイト
ダウンロード
(1ヵ月の転送量)
0~10Tバイト0.17ドル/Gバイト
10~50Tバイト0.13ドル/Gバイト
50~150Tバイト0.11ドル/Gバイト
150Tバイト~0.10ドル/Gバイト

大容量ストレージサービスAmazon S3の料金

S3の課金は,保存容量とリクエスト回数,転送量によります。保存容量とリクエスト回数による課金は表4のとおりです。転送量による課金は,EC2と同じ(表2)です。

表4 Amazon S3の料金(保存容量とリクエスト回数)

保存容量(1ヵ月)0.15ドル/Gバイト
リクエスト0.01ドル/1,000回(アップロード・リスト)
0.01ドル/10,000回(ダウンロードなどそのほか)

Amazon EC2/S3を使うメリットは?

Amazon EC2だと,柔軟な運用ができる

EC2は,スペックや柔軟性のわりに安価で使いやすいサービスです。特に,柔軟性の高さはほかのホスティングサービスにはないものです。

時間単位で課金されるので,サーバの負荷などによって柔軟に構成台数を変えることができます。たとえば図1は,負荷に応じて時刻ごとに起動台数を変え,最大では7台,最小では1台で稼働させています。この場合平均では4.3台程度になり,月に310ドル(約32,500円)でこの構成で運用できます。

従量課金制で一番気になるのは転送料ですが,100Kバイトのページが月に100万PVあった場合,転送量は100Gバイトですので,転送料金は17ドル(約1,800円)程度です。転送量などの計算はAWS Simple Monthly Calculatorで簡単に行えます。

また,急に負荷が増えた際なども,イメージファイルさえ作っておけば,数分で新しいマシンを起動できます。イメージファイルの作り方については後述します。

図1 時間ごとに利用台数を変える

図1 時間ごとに利用台数を変える

バックアップはAmazon S3で

EC2は,表2で紹介したように160~1,690Gバイトものディスクを持っています。

ただ,EC2はインスタンスを停止するとディスクの内容が消えてしまいます。通常,一度起動したインスタンスを停止させることはないはずですが,オペレーションミスなどで間違ってインスタンスを停止してしまうと,その内容はすべて消えてしまいます。

そのため,データベースサーバなど大事なサーバについては,複数のインスタンスを立ち上げ,レプリケーションして運用することが勧められています。

また,定期的にバックアップを取る必要もあります。そのときに活用できるのがS3です。定期的にS3へバックアップを取るスクリプトを走らせるとよいでしょう。たとえば1Gバイトのバックアップデータを毎日S3へ送り,1ヵ月分保持する場合でも,S3の利用料は7.5ドル(約800円)程度に過ぎません。そのため,通常のサイトやWebアプリケーションでは,数万円かかることはかなり難しいでしょう。

ただ,日本からだと回線速度が……

ただ,問題もあります。回線速度です。

サーバがアメリカとヨーロッパにあるため,どうしてもレスポンスがあまりよくありません。pingで計るとおおむね200ms程度です。そのため,画像の多いWebサイトなどを展開すると,(海外のこの手のサイトを使っているときのような)あのもっさり感が出てしまいます。


このように日本から使う場合は難点もありますが,新しいWebサービスを立ち上げたいけどトラフィックの目処が立たずサーバ構成に困っているときなどは,ぜひAmazon EC2/S3を使ってみてはどうでしょうか? 以降では,Amazon EC2/S3の使い方を説明していきます。

著者プロフィール

増井雄一郎(ますいゆういちろう)

PukiWikiなどのオープンソース活動を経て,2005年からRuby on Railsに的を絞り,WEB2.0社 PingKingニフティ アバウトミーの開発に関わる。これまでのフリー活動から転身し,2007年は1年だけ会社員として働いた後,起業のため渡米。2008年4月にBig Canvas Inc.設立。現在,米ベルビュー在住。通称masuidrive

コメント

  • S3のアクセス制限

    3ページ目に”なお,今回は公開/非公開だけを試しましたが,ユーザ認証を行い特定のユーザにだけアクセスを許可することもできます。”とありますが、これは間違いではないでしょうか。amazon S3に登録されたユーザーのユーザーIDもしくはメールアドレスにてアクセス制限はできますが、それ以外の一般のメールアドレスは登録できないと思います。

    Commented : #1  やまおやじ (2008/06/26, 10:06)

コメントの記入