No.45


【AWS】EB環境でEIPを使用する際の注意点

EB環境でEIPを使用するときの注意事項

 AWSのElastic Beanstalk(以下、EB)はEC2インスタンスの立ち上げからELBの設定、各インスタンス死亡時の再起動まで含めひとつのパッケージで行ってくれるので非常に便利である。

 ところが、全てがお任せであるが故に、お任せから外れたことを行おうとすると様々な注意事項がある。特にEC2環境のインスタンスが動的に変化することで、既存のAWSサービスとの連携で問題が発生してしまうのだ。


EIP

 EBを用いて作成した環境にElastic IP(以下、EIP)を使って固定IPアドレスを振るケースで問題が発生した。相手にデータを転送してもらうための入り口として固定IPを用意したのだが、ある時から固定IPでの接続ができなくなってしまったのだ。

 EIPはEC2のインスタンスIDとIPを一対一で紐づけている。何らかの問題でEC2インスタンスが停止してしまった際に、EBがその環境の代替として新しいEC2インスタンスを起動し、結果として環境のインスタンスIDが変化してしまった。そのためEIPは関連づけを行う相手がわからなくなり、IPアドレスの割り当てをやめてしまったのだ。

問題を起こしえる処理

 EBでは以下のような操作を行った時にEC2のインスタンスIDが変化する可能性がある。

  • EBのコンソール画面で「設定」を行った場合
  • EBのオートスケールでEC2インスタンスが増減した場合

 これらの操作を行った後は、以下を確認した方がいい。

  • EC2インスタンスIDの変更がなかったかどうか
  • EIPの割り当ては行われたままか