概要
クラウドコンピューティングとは何か
新しい技術を学ぶときはしばしば、基礎に関する基本的な理解なしで取り組み始めるのは容易です。しかし、後になって基礎に戻ることに気づきます。そういったことを避けるためには、クラウドコンピューティングに関する簡単な定義が役に立ちます。Wikiペディアでは、次のように定義しています。
ITに関する機能が、多くの外部ユーザーのためにインターネット技術を利用し、「サービスとして」提供されるコンピュータの形態。ユーザーは、それを認識する必要がなく専門的な知識も不要で、それらをサポートする技術基盤のコントロールが不要です。一般に、これは真実ですが、いくつかのプロバイダーは、他のプロバイダができるだけ単純にしようとしているところで、低レベルの制御を提供しています。アクセスされるリソースは、一般的には、サードパーティのプロバイダによって、データセンターの中の統合された基盤上で所有・処理されています。クラウドコンピューティングのサービス利用者は、コンピューティング機能をオンデマンドで購入し、通常は、サーバーの機能の中で強化されている基盤の技術には関与しません。しかしながら、開発者が基盤の技術について気にすることのないクラウドのプラットフォームサービスを考慮に入れる開発者に対して、選択肢は増えています。
何故それを使うのか
何故、個人やビジネスでクラウドコンピューティングを使用するのかについては、ありとあらゆる理由があるでしょう。その中には、以下の理由が含まれます。
- コスト - 接続コストが減少し、ハードウェアはスケールの点でより効率的になります。
- 間接費 - 購入が不要で、物理的なハードウェアの格納スペースだけでなくその維持が不要なので、間接費を削減します。
- 信頼性 - ユーザーに信頼できるサービスを提供するためのスケールアップ/ダウンが容易にできます。
始めに
Amazon EC2AmazonのWebサイト(リンク)では、クラウドサービスの説明について以下のように書かれています。
Amazon Elastic Compute Cloud (Amazon EC2)は、クラウドの中で変更可能なコンピュータの能力を提供するWebサービスです。それは、開発者にとってWebスケールのコンピューティングをより簡単にするように設計されています。Amazon EC2の簡単なWebサービスインターフェースにより、最小のコストで最大の効果を得て、構成することができます。それは、コンピュータのリソースを完全に制御することができ、Amazonの実績のあるコンピュータ環境で動作させることができます。Amazon EC2は、新しいサーバーインスタンスを獲得・起動するために必要な時間を削減し、コンピュータの必要性に応じてすぐにスケールアップ/ダウンが可能です。Amazon EC2は、あなたが実際に使用する分だけを支払えば良いので、コンピューティングの経済を変えます。Amazon EC2は、開発者に障害を回復するアプリケーションを構築するためのツールや、一般的な障害シナリオからそれらを分離するためのツールを提供します。
Amazon EC2を始める前に、Amazonでは、Linux環境でWebサービスの知識がある程度あり、SSHクライアントとJava 5(以降)がインストールされていることを推奨しています。下記リンクにある説明にしたがい、明確な段階式の説明があるAmazonのドキュメントを得ることができるでしょう。
最初の設定に入るためには、3つのAmazonアカウントが必要です。それぞれ、Amazon Web Services(リンク) (AWS)、Amazon Simple Storage Service(リンク)(Amazon S3)、Amazon EC2(リンク)です。AWS、AS3、AEC2のアカウントを作るには、ほんのすこしのクリックで済みます。
アカウントを作成したら、コマンドラインツールをセットアップする必要があります。Amazon EC2は、クラウドを管理するためのAPIだけでなくコマンドラインツールも提供します。そのツールはzipで圧縮されていて(ダウンロード(リンク))、それを展開し、初めにいくつかの環境変数(EC2_HOME, EC2_PRIVATE_KEY and EC2_CERT)を設定する必要はあるものの、その後はすぐ利用できるようになっています。
構成とセットアップを終えると、次にすることはAmazon Machine Image (AMI)を立ち上げです。コマンドラインユーティリティには、Amazonによって公開されているそれらのリストだけでなく、自身のイメージを作成するための方法もあります。イメージを選択すると、そのインスタンスにログインするためのSSHのキーペアを生成する必要があります。あなたがPuTTYを使用するのなら、プライベートキーをPuTTYのフォーマットに変換する必要があります。手順はこちら(リンク)です。
次に、先に選択したイメージを起動するために、単純に「ec2-run-instances」コマンドラインツールを使用します。すぐに「起動中」の状態となり、それを「ec2-describe-instances」コマンドを使用して確認することができます。アクセスが利用可能になる前に、適切なポートを開ける権限が必要となります。SSHとHTTPを利用可能とするために、ポート22と80のそれぞれへのアクセスを可能とする「ec2- authorize」ツールを使用します。
さて、適切に動作することを検証するために、ブラウザを使用してサイトのURL(「ec2-run-instances」コマンドを実行したときに出力される、ec2-67-202-51-223.compute-1.amazonaws.comのようなものです)にアクセスします。基本的なセットアップと構成を終えると、コンテンツのデプロイと新しいクラウドを機能させることができます。
詳細な説明は、Amazon EC2技術ドキュメント(リンク)サイトでたくさんの情報を提供しています。次に、GoGridのセットアップと設定について見ましょう。
GoGrid
GoGrid(リンク)は、クラウド(TM)の本当の制御を提供する唯一の企業であるとして、自社のサービスを勧めています。彼らは、数分でロードバランスのクラウドサーバーをデプロイ、管理するためのマルチサーバーコントロールパネルを提供しています。始めるのはAmazon EC2よりも少しだけ簡単で時間もかかりません。GoGridサイトにいき、アカウントを作成します。2、3分以内で、確認のメールが届き開始の準備が整います。
あなたのアカウントでログインすると、簡単なインターフェースで出迎えられるでしょう。「Add」ボタンを押下すると、以下のいくつかのオプションが表示されます。(下図参照)
Webサーバーを作るには、appropriateボタンを押下するだけです。新しいウィンドウが表示され、いくつかのパラメータ入力を要求されます。ここでは、名称が「simple」、説明が「a simple web server」となっています。IPアドレスも必要で、あなたが入力し始めると画面の左側にそれが自動的に表示されます。これらのIPアドレスは GoGridによって提供され、実際の物理的なマシンと結びつきます。ここで、RAMの容量(512MB、1GB、2GB)、OS(CentOS、Red Hat、Windows 2003 Server)、イメージ(Apache、LAMP、IIS)を選択します。
サーバーが設定されると、ほぼすぐにアクセス可能となります。ブラウザを開いてIPアドレスを入力すると、確認メッセージが表示されます。
ネットワークはGoGridによって処理されますが、IPアドレスを追加したり、DNS情報を設定することができます。たとえば、あなたがドメイン名を持っているなら、GoGridサーバーにそれを指定することができます。
ロードバランサとデータベースを追加するのはWebサーバーを作るのと同じくらい単純で、何回かのクリックと簡単な設定で1分以内で起動することができます。サーバーを追加するには、(先に説明した)WebインターフェースかGoGrid APIを使用することができます。そのAPIは、Java、PHP、Python、RubyのいずれでもWebインターフェースのすべての機能にアクセス可能なRESTスタイルのWebサービスAPIです。
次に、Rackspace(リンク)によってサポートされているクラウドサービスであるMossoを見ましょう。
Mosso
Mosso(リンク)は、多くのWebホストが提供する従来の管理/共有されたサーバー環境と、クラウドコンピューティングの考えを結合することによって、他のプロバイダとは若干異なるアプローチをとっています。Mossoは、サービスとしてルートアクセスを提供しません。その代わりに、標準的なWebホストのように、OSとソフトウェアが事前にインストールされたサーバーを提供します。これにより、Mossoは必要に応じてサービスをモニターしたりスケールすることが容易にでき、エンドユーザーがOS、デバイス、ロードバランスなどについて心配する必要がありません。
始めるには、まずMossoのWebサイトでアカウントを作成し、確認メールのために2、3分待ちます。ログインすると、コントロールパネルが表示されます。
Mosso にある目的の一つは、利用を簡単にし、GoGridのように起動するのに数回のクリックで済むようにすることです。「Websites & Email」ボタンを押下することで、既存のドメイン、あるいは登録した新しいドメインを指定してWebサイトを簡単にセットアップすることができます。
設定ページでは、データベースの数やWebサーバーの技術を含むいくつかの基本的なオプションを提供します。
この場合もやはりウィザードは簡単で、あなたが何をしたいかを知っているので、数回のクリックで期待した指定の要約が与えられるでしょう。初めの設定が終わると、サイトにコンテンツをアップロードするためにFTPアクセスが利用可能となります。サービスを利用している間は、まさに標準的なWebホストのように感じるしょう。SSL証明書、ユーザーアカウント、Eメール設定を追加し、基盤を成す技術を変更し(たとえば、Linux/ApacheでRuby on Rails)、サイト統計などを参照するためのコントロールパネルがあります。
Amazon EC2、GoGrid、Mossoの説明が終わったところで、次のセクションでは、3つ全てのサービスの比較をします。
比較
機能
Amazon EC2 | GoGrid | Mosso | |
Windowsサポート | あり (Qemu参照) | あり | あり |
Linuxサポート | あり | あり | あり |
Open Solarisサポート | あり | なし | なし |
Graphical User Interface | なし | あり | あり |
コマンドライン | あり | なし | なし |
API | あり | あり | なし |
ルートアクセス | あり | あり | なし |
SSH | あり | あり | なし |
FTP | あり | あり | あり |
ハードウェア設定 | あり | あり | なし |
現在、Amazonだけがサーバーにデプロイするカスタムイメージを提供しています。Open SolarisベースのイメージのデプロイについてAmazonのWebサイトに情報があります。しかし、Windows Server 2003をデプロイする方法を説明しているサイトはほとんどありません。GoGridは、将来、理論上オペレーティングシステムのサポートを追加することが可能なすべてのサーバーイメージを作成する機能を提供する予定です。
3つのプロバイダすべて、FTPアクセスが可能です。Mossoは完全なルートアクセスを提供していません。さらに、Mossoは比較した3社の中で唯一、ハードウェア設定を全く提供しません。しかし、それは意図的で目的があります。
価格
Amazon EC2
インスタンスタイプ(標準、高CPU)、データ転送、Elastic IPアドレスを含み、EC2に関連する価格には3つのタイプがあります。
標準インスタンスは、1インスタンス1時間毎に$0.10から$0.80となります。高CPUインスタンスは、1インスタンス1時間毎に$0.20から$0.80となります。データ転送の料金は、データがどこから来てどこに行くのか(例えば、インターネット、 Availability Zone、地域など)をベースに変化し、1GBの転送毎に$0.00から$0.17の間の価格になります。
最後に、Elastic IPアドレスは、Elastic IPアドレスの再配置する毎に無料から$0.10までさまざまです。それは、実際には月を通してIPアドレスがどのように使用されるか次第です。
GoGrid
GoGridの料金は、サーバーRAMの時間、外と内のデータ転送のよって変わります。価格プラン(リンク)は、サーバーRAM時間毎に$0.19、外へのデータ転送については1GB毎に$0.50の定価、内へのデータ転送は無料と非常にシンプルです。
Mosso
Mossoは、「ほとんどの開発者」をカバーすると予想される、一か月毎に$100という標準の均一料金となっています。それには、次のものが含まれます。
- サイトを作るためのオンラインソフトウェア、データベース、Eメールアカウント(必要なときに必要な分)
- 50 GBの高パフォーマンスストレージスペース
- 月に500 GBの帯域
- 月に10,000の計算サイクル (より深く知る)
- 24 x 7x 365(24時間365日) の音声とライブチャットのサポートを含む
より大きいアプリケーションでは1か月に約100,000かそれ以上のビジターとなり、Mossoでは必要なスケールに応じた追加料金を提供しています。追加のディスクスペースは、GB毎に$0.50、帯域はGB毎に$0.25、計算サイクル毎に$0.01の追加料金となります。
有用性
本稿で取り上げた3つのサービスの中で、Mossoだけが「製品」形式での利用が可能です。Amazon EC2とGoGridの両方は、共にすぐに採用され成熟していますが、今なお「ベータ」となっています。
まとめ
最近のクラウドコンピューティングをめぐる熱狂で、多くのクラウドサービスプロバイダが現れ、ますます増加しているように思われます。これらのサービスの一つを使用すると決断することは、それぞれが独自の機能、価格、柔軟性、制御を持っていることから、決してささいなことではありません。本稿では、それぞれの機能、価格、有用性の一部についてそれぞれ比較するだけでなく、Amazon EC2、GoGrid、Mossoを始めるための手引きを提供することを目的としました。追加情報については、以下のリンクを参照してください。原文はこちらです:http://www.infoq.com/articles/cloud-comparison
(このArticleは2008年8月4日に原文が掲載されました)