SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

流行りのクラウドサービスを操ってみよう!Amazon EC2/S3環境構築のすべて

Amazon EC2を実践的に使ってみよう ~Amazon EC2/S3環境構築のすべて~

第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

インスタンスの稼動ロケーションを指定する

 「Amazon EC2」にはインスタンスが稼動するロケーション(地域)を明示的に指定できるオプションがあります。

 このオプションを使えば、複数のゾーンにアプリケーションを分散配置させることができ、万が一の災害時もサービスを継続させる仕組みが構築可能です。こういったアプリケーションの分散配置はこれまで資本力のある大企業にしかできませんでしたが、「Amazon EC2」ではこのオプションを使用しても追加費用などは特にかかりません。個人でも分散配置が実現できるようになりました。

 では、実際に使用する方法を紹介したいと思います。

ゾーンの確認

 まずは、下記のコマンドを実行して、ゾーンの一覧と状態を確認します。

$ ec2-describe-availability-zones
AVAILABILITYZONE        us-east-1a      available
AVAILABILITYZONE        us-east-1b      available
AVAILABILITYZONE        us-east-1c      available

 実行結果から、3カ所が利用可能であることが分かります(2008年12月現在)。具体的な場所は不明ですが、米国でそれぞれ離れた場所にあるとされています。

※注

 2008年12月10日、「Amazon EC2」のインスタンスが上記のアメリカ東海岸3カ所に加え、ヨーロッパ(欧州)西部2カ所で稼動可能になったと発表されました。ヨーロッパで稼動させる場合、環境変数をセットするか、ec2コマンドにオプションをつける必要があります。しかし、基本的な操作方法はアメリカで稼動させる場合と変わりません。以降では、ec2コマンドのデフォルトであるアメリカで稼動させることを前提に解説していきます。

ゾーンを指定してインスタンスを起動する

 ゾーンを指定してインスタンスを起動する方法は簡単で、通常の起動コマンドec2-run-instances-zオプションを付け、ゾーン名を指定するだけです。

$ ec2-run-instances ${AMIのID} -k ${ログイン時に必要となるキー} -z ${ゾーン名}

 ${ゾーン名}の部分は、先ほど確認したゾーン(us-east-1aなど)を指定します。どこのゾーンで稼動しているかは、インスタンスの状態を表示するおなじみのec2-describe-instancesコマンドで確認できます。

$ ec2-describe-instances
RESERVATION     r-8e0eaae7      xxxxxxxxxxxx    default
INSTANCE        i-2222944b      ami-2b5fba42    ec2-75-101-200-115.compute-1.amazonaws.com      domU-12-31-39-02-62-31.compute-1.internal       running fedora_test     0               m1.small        2008-11-15T17:56:25+0000        us-east-1b      aki-a71cf9ce    ari-a51cf9cc

 INSTANCE行の最後から3つ目の列で稼動ロケーションを確認できます。このように稼動させたいロケーションをインスタンスの起動時に指定するだけで、簡単にアプリケーションの分散配置を実現させることが可能です。

 なお、アプリケーションの分散配置を行う場合、構成によってはデータのミラーリングなどでインターコネクトの帯域を大きく必要とすることがあります。その際、各ロケーション間のネットワーク帯域が気になるところですが、私が以前測定したところ、約300Mbpsもの転送速度を計測しました(参考リンク「Amazon EC2/S3を使ってみた - 7.Availability Zoneサービスで稼動ロケーションを指定する」:RX-7乗りの適当な日々)。測定方法に多少の偏りはあるかと思いますが、大規模のサービスでない限り、この速度であれば異なるゾーン間で冗長構成を組んでも問題にはならなさそうです。

 その他にも、うまく配置すればロードバランサの利用やDBの二重化、APサーバの水平分散などさまざまな活用の可能性を秘めています。ただし、転送速度のサービスレベルは保障されていないので、その点は注意が必要です。

次のページ
「Elasticfox」(GUIツール)を使って「Amazon EC2」を操作する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
流行りのクラウドサービスを操ってみよう!Amazon EC2/S3環境構築のすべて連載記事一覧

もっと読む

この記事の著者

並河 祐貴(ナミカワ ユウキ)

TIS株式会社 / 社内ベンチャーカンパニー「SonicGarden」所属。オブジェクト指向開発、開発環境・ツール整備に従事した後、近年はRuby on Railsを中心としたオープンソース系ミドルウエアの検証 / 導入や、X...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3378 2009/01/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング