SHOEISHA iD

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

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

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

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

第4回

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

インスタンスに固定IPアドレスを割り当てる(Elastic IP)

 前回の記事で、「Amazon EC2」のインスタンスに付与されるグローバルIPアドレスは、固定IPアドレスではないため、インスタンスの起動・停止を繰り返すたびにIPアドレスが変更されてしまうという注意点を紹介しました。

 外部へサービスを公開している場合、IPアドレスが変わってしまうと、DNSへ登録しているIPアドレスを変更しなければいけないため、その間一時的に名前解決できなくなり、非常に不便です。

 この点についても、「Amazon EC2」では「Elastic IP」と呼ばれる固定IPアドレスを付与できるサービスがあります。

「Elastic IP」を利用する上での前提や注意点

 「Elastic IP」を利用する上での前提や注意点を下記にまとめます。

  • 固定IPアドレスは1アドレスの取得につき、1時間当たり$0.01の追加費用が発生する
  • 固定IPアドレスを取得した場合、インスタンスにIPアドレスを割り当てなくても費用が発生する
  • 固定IPアドレスをインスタンスに割り当てた際、反映されるまでしばらく待ち時間が発生する

 1つ目は「固定IPアドレスを取得すると費用が発生する」という意味です。なお、1つのアカウントで最大5つまでの固定IPを取得することができます。この取得数に関する上限は、Amazonへ申請すれば増やすことも可能です。

 2つ目は、ユーザーが取得した固定IPアドレスは、そのままインスタンスに割り当てられるのではなく、「一旦ユーザーがプールする形で保持する」という意味です。ユーザーは、そのIPアドレスを自由に好きなインスタンスへ割り当てることができます。つまり、複数のサーバを運用している場合は、別のサーバへ固定IPアドレスを割り当てなおすことが可能です。また、一時的にインスタンスを停止する場合などには、固定IPアドレスを保持しておいたままにすることも可能です。

 3つ目に関しては、固定IPアドレス割り当て後、即座にインスタンスへ反映されないので注意が必要です。反映までに数十秒~数分かかると考えておいた方がよいでしょう。

固定IPアドレスの取得・インスタンスへの割り当て

 固定IPアドレスを取得するには次のコマンドを発行します。

$ ec2-allocate-address
ADDRESS xxx.xxx.xxx.xxx

 実行後に表示されたIPアドレスが、取得した固定IPアドレスとなります。なお、上記のコマンドを実行する度に、新しい固定IPアドレスが取得されるので注意してください。

 次に、ec2-describe-instancesコマンドなどで、割り当てたいインスタンスのIDを確認します。

$ 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

 上記の例では、インスタンスのIDは「i-2222944b」となります。確認ができたら、次のコマンドでインスタンスに対し固定IPアドレスを割り当てます。

$ ec2-associate-address -i ${インスタンスのID} ${取得した固定IPアドレス}
ADDRESS xxx.xxx.xxx.xxx   i-xxxxxxxx

 -iオプションで先ほど確認したインスタンスのIDを指定し、その後ろに1文字分スペースを空けて先ほど取得した固定IPアドレスを指定します。これで、固定IPアドレスの割当は完了です。再びec2-describe-instancesコマンドを実行すると、ドメインネームが指定したec2-xxx-xxx-xxx-xxx.・・・へと変更され、固定IPアドレスが割り当てられている事が確認できます。

 なお、前述のとおり、実際に固定IPアドレスが反映され、通信できるようになるまでには少し時間がかかります。サービスを公開している場合などには、注意が必要です。

インスタンスからの固定IPアドレス引き剥がしと固定IPアドレスの解放

 サービスの停止などで固定IPアドレスである必要性がなくなった場合は、インスタンスに割り当てた固定IPアドレスを引き剥がしましょう。まずは下記コマンドを実行し、利用中のアカウントで取得している固定IPアドレスの一覧を確認します。

$ ec2-describe-addresses
ADDRESS xxx.xxx.xxx.xxx   i-xxxxxxxx

 実行結果とインスタンスID(i-xxxxxxxx)から、引き剥がす固定IPアドレスを確認します。次に、下記のコマンドで固定IPアドレスを引き剥がします。

$ ec2-disassociate-address xxx.xxx.xxx.xxx
ADDRESS xxx.xxx.xxx.xxx

 その後、取得している固定IPアドレス一覧を確認すると、インスタンスに割り当てられていないことが分かります。

$ ec2-describe-addresses
ADDRESS xxx.xxx.xxx.xxx

 なお固定IPアドレスを引き剥がした後は、通常どおり動的なIPアドレスが付与されますが、こちらも実際に反映されるまで、固定IPアドレスの割り当て時と同様、少し時間がかかります。

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

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング