特集:クラウド体験記(後編)

体験してみて分かった“雲”の違い

シグマコンサルティング 橋本 圭一
2009/04/14
Page1 Page2 Page3

 主要な4つのクラウド・サービスの比較ということで、前編ではアマゾン、グーグル、マイクロソフト、セールスフォースの、4社のサービスを横並びに比較し、その後、グーグルが提供する「Google App Engine」、セールスフォースが提供する「Force.com」についてのレビューを行った。

 後編となる今回は、アマゾンが提供する「Amazon EC2」と、マイクロソフトが提供する「Windows Azure」について引き続き見ていき、最後にクラウド・サービスの現状についてまとめながら、クラウド・コンピューティングの今後の発展について考察してみる。

1. 実際に使ってみよう 「Amazon EC2」

総合評価

【環境構築の容易さ】 ★★★★
【サービス構築の容易さ】 ★★★★

事前準備

  1. AWS(Amazon Web Services)アカウントを取得する(クレジット・カードの登録が必要)。
  2. AWSアカウントでログインした状態で、Amazon EC2(Elastic Compute Cloud)のサインアップを行う。
  3. Amazon S3(Simple Storage Service)にサインアップし、「Access Key ID(アクセス・キーID)」と、「Secret Access Key(シークレット・アクセス・キー)」を取得する。
  4. Amazon S3のファイル・アップロード用のツールとしてFirefoxアドオンの「Amazon S3 Firefox Organizer(S3Fox)」をインストールする。

作業概要

 Amazon EC2にログインして、サーバOSインスタンスを起動させることから作業は始まる。まずは次の画面のように、ブラウザで「AWS Management Console」を開き、[Amazon EC2]タブをクリックする。

Amazon EC2の管理コンソール「AWS Management Console」

 [Launch Instances](インスタンスを起動)ボタンをクリックすると、次のようなポップアップが表示されるので、仮想OSイメージを選択して、インスタンスとして起動させる。本稿では「Basic Microsoft Windows Server 2003」を選択したものとして話を進める。

[Launch Instances]ポップアップ(OSの選択)
Fedora Core 8/Windows Server 2003のどちらか、32bit OS/64bit OSのどちらか、Ruby on Rails(MySQL)/PHP(MySQL)/SQL Server 2005(インストール済み)/なしのいずれかなどを選択できる。

 [Select]ボタンをクリックして「Public/private key pairs」(公開鍵/秘密鍵のペア)の取得、「Security groups」(セキュリティ・グループ:ファイアウォール設定のグループ)の設定などを行い、最後に(Webサーバの)インスタンス数やインスタンス・タイプ(CPUがマルチコアかどうか。これはメモリ容量、I/Oパフォーマンスなどに差がある)に関して選択する。

[Launch Instances]ポップアップ(インスタンスの設定)

 最後に[Launch](起動)ボタンをクリックする。インスタンスの起動と終了には、1〜2分かかる。インスタンスの起動が完了すると、次のような画面が表示される。

Amazon EC2インスタンスの起動完了

 起動したインスタンスには、「Administrator」アカウントでリモート・デスクトップにより接続してオペレーション可能だ。

起動したAmazon EC2インスタンスにリモート・デスクトップで接続

 OSにはアプリケーションやプログラムをインストールできるが、変更したOSのイメージを保存せずにサーバを停止すると、OSイメージは元の状態に戻ってしまう。このため、再起動したときに続けて自分が変更したイメージを使いたければ、Amazon S3にイメージを保存する必要がある。これには[My Instances]一覧から保存したいイメージのインスタンスを選択し、[Bundle]をクリックすればよい。

Amazon S3へのOSイメージの保存

 すると次の画面が表示されるので、Amazon S3のBucket Name(=Amazon S3に作成済みのフォルダ名)とKey Nameを入力し、[Bundle]を実行する。なお、この処理が終了までには20分くらいはかかる。

Amazon S3のBucketの指定

 また、ファイルなどをAmazon S3に格納する場合、Amazon S3へのアップロードはAmazon S3 Firefox Organizerから行うことが可能だ。

手ほどき

 Amazonに関しては、別途まとめたので、こちらをご参照していただきたい。

作成したサンプル

 ここでは次のような「楽天ウェブサービスの検索結果を表示する」サンプルを作成した(アプリケーションの稼働時間に応じて課金されるので、現在稼働させていない)。

Amazon EC2上に構築した楽天ウェブサービスからデータを取得するWebアプリケーション

所感

 Amazon EC2に関しては、簡単にOSイメージのインスタンスを起動できるため、サーバの初期構築作業という点が非常に簡易である。一方、ほかのクラウドと違って、OS自体は自己管理になるので、セキュリティ・パッチの適用やバックアップなど、運用的な保守は自分で行う必要がある。

 Amazon S3に関しては、Amazon S3 Firefox Organizerを使えばファイルの転送などを簡易に行うことができる。ほかにも類似ツールは多数あるもようで、ツール群が充実している印象を受けた。

 料金については、使用量に応じた重量課金で、その料金体系はすでに決まっている。最小限の構成だとWindows Server 2003で月100米ドル程度(≒1万円程度)と比較的安価なので、ベンチャー企業のスタートアップなどに向いているだろう。サイトが成功して負荷が高まれば、インスタンスを増やすなどして(別途課金)サーバを増強できる。これには、コンソール画面からインスタンスに関する設定を行うだけだ。

 しかしながら、筆者が日本から利用した際には、公開したアプリケーションのレスポンスが遅い印象を受けた。これが仮に北米のサーバを利用していることが原因だとすると、今後アジアでのデータ・センター増強に期待したいところだ。

 いずれにせよ、プラットフォーム的な制限を受けることがなく、課金体系なども一とおり決まっており、すぐにでも実利用が検討可能なサービスである。

 続いては、まだプレビュー段階ながら.NET開発者にとっては本命といえるクラウド・サービス「Windows Azure」を見ていく。


 INDEX
  特集:クラウド体験記(前編)
  エンジニア視点で比較する“雲”の違い
    1.2009年はクラウド元年/あなたは、どのクラウド?
    2.実際に使ってみよう 「Google App Engine」
    3.実際に使ってみよう 「Force.com」
 
  特集:クラウド体験記(後編)
  体験してみて分かった“雲”の違い
  1.実際に使ってみよう 「Amazon EC2」
    2.実際に使ってみよう 「Windows Azure」
    3.まとめ(体験してみて分かったこと)


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間