そもそもEIPとは?
Elastic IP アドレスは、動的なクラウドコンピューティングのために設計された静的 IPv4 アドレスです。Elastic IP アドレスはユーザーの AWS アカウントに割り当てられ、リリースするまでユーザーのアドレスになります。Elastic IP アドレスを使用すると、アドレスをアカウント内の別のインスタンスに迅速に再マッピングすることで、インスタンスやソフトウェアの障害をマスクできます。(AWS公式より抜粋)
参考: https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
ALBでのEIPの利用について
ALBのプライベートIPを固定し、利用したいところですが時間経過でIPが変更されるため残念ながらALBのIPを固定することはできません。しかし、ALBのIPを間接的に固定する方法を以下の2つ紹介します。
方法1:Global Acceleratorを使って固定IP化する
ココがすごい!
①エニーキャストな固定IPであり、地理的に一番近いロケーションにルーティングされる。これはIPを2つ持つのではなく
2つの固定IPが、各エッジローケションにアナウンスされ、ユーザーは意識せずに一番近いロケーションにルーティングされる
⇒片方のネットワークの疎通が出来なくなった場合は、別のネットワークに切り替わり再接続できるため、冗長化されています
②固定IPのため、ALBやDNSのラウンドロビンで受けるDNSキャッシュの影響を受けなくなるためフェイルオーバーに強くなる
③2つの固定IPが割り当てられ、1つのIPネットワークが中断した場合は、別のネットワークゾーンから固定IPが復活する
④ヘルスチェック機能があり、継続的にアプリケーションを監視する
ヘルスチェック
ヘルスチェックは、Global AcceleratorとALB 両方で行われます。
・Global Acceleratorはリージョンレベルの通信に特化しているため、リージョンレベルでのヘルスチェック
・ALBはリージョン内のヘルスチェック
のイメージ
方法2:ALBの前段にNLBを構築する
-ALBの前段にグローバルIPアドレスを固定したNLBを配置する。
→NLBはプライベートIPの固定ができる