負荷分散された AWS Elastic Beanstalk 環境に単一の静的 IP アドレスを割り当てて、そこからのトラフィックを識別したいと考えています。
簡単な説明
ネットワークアドレス変換 (NAT) ゲートウェイを使用して、複数の IP アドレスを 1 つの公開された IP アドレスにマッピングできます。Elastic Beanstalk 環境が NAT ゲートウェイを使用する場合、環境内のバックエンドインスタンスはプライベートサブネットで起動されます。Elastic Beanstalk は NAT ゲートウェイを介してアウトバウンドトラフィックをルーティングします。バックエンドインスタンスからのアウトバウンドトラフィックのソースは、Elastic IP アドレスで識別できます。Elastic IP アドレスは NAT ゲートウェイに必要な静的 IP アドレスです。
解決策
Elastic Beanstalk は Amazon Elastic Compute Cloud (Amazon EC2) インスタンスをプライベートサブネットで起動します。これらのプライベートサブネットは、Elastic IP アドレスがアタッチされた NAT ゲートウェイをデフォルトルートとして使用します。ロードバランサーはパブリックサブネットにあります。Elastic Beanstalk は、すべての外部トラフィックをインターネットゲートウェイ経由でロードバランサーとの間でルーティングします。
重要: 始める前に、NAT ゲートウェイをセットアップしてください。
- Elastic Beanstalk コンソールを開きます。
- [新しいアプリケーションの作成] を選択し、手順を実行してアプリケーションを作成します。
注: 既存のアプリケーションを使用している場合は、ステップ 3 に進み、環境を設定します。
- [アクション] を選択し、[環境の作成] を選択します。
- [ウェブサーバー環境] を選択し、[選択] を選択します。
- 環境のニーズに基づいて、[環境情報] のオプションと残りの [プラットフォーム] および [アプリケーションコード] セクションを選択します。
- [より多くのオプションの設定] を選択します。
- [設定のプリセット] で [高可用性] を選択します。これにより、環境は負荷分散された環境に設定されます。
- [ネットワーク] カードで、[編集] を選択し、次のように編集します。
- [VPC] で、お使いの VPC を選択します。
- [ロードバランサーの設定] セクションの [可視性] で、[パブリック] を選択します。
- [ロードバランサーのサブネット] テーブルで、パブリックサブネットを選択します。
- [インスタンスの設定] セクションで、[パブリック IP アドレス] のチェックを外します。
- [インスタンスサブネット] テーブルで、先ほど設定した NAT ゲートウェイのプライベートサブネットのみを選択します。
- [保存] を選択します。
- [環境の作成] を選択します。
これで、作成した Elastic Beanstalk 環境では、すべてのアウトバウンドトラフィックが単一の Elastic IP アドレスから発信されます。