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の割り当ては行われたままか