AWSでは、複数のElastic Network Interface(ENI)をEC2インスタンスにアタッチできます。 「オンプレミスサーバーのように見せかける」以外に、実際に複数のENIが必要になる場合はありますか?
オンプレミス環境でこれを行う理由を検討しましたが、AWSには当てはまらないようです。
AWSの暗黙のルーターは、常に各ENIと他のすべての間に「配置」されるため、別のインスタンス(たとえば、スニファーを実行)をインラインに配置することはできません。
Amazon自身のドキュメントでは、インスタンスに複数のENIが必要な理由についても明確ではありません。複数のインターフェースが「必要なときに役立つ」とだけ言っています。
管理ネットワークを作成します。
VPCでネットワークアプライアンスとセキュリティアプライアンスを使用します。
異なるサブネット上にワークロード/ロールを持つデュアルホームインスタンスを作成します。
低予算で高可用性のソリューションを作成します。
しかし、ENIがこれらのユースケースに必要である、あるいは望ましい理由については説明していません。 (異なるサブネット上のデュアルホームインスタンスには複数のENIが必要になることは明らかですが、そもそもデュアルホームインスタンスが必要な理由は説明されていません)。
私が思いつくことができる唯一のユースケースは、コンテナー(Dockerなど)を実行しているインスタンスであり、個々のコンテナーを異なるサブネットのホストIPアドレスにマップする必要があります。
複数のENIがある場合、そのユースケースは何ですか?
ユースケースは、1つの「外部/インターネット」インターフェースと1つの「内部/プライベート」インターフェースを必要とするソフトウェアです。そうすることで、ソフトウェア/ OSの構成が容易になります。これは、多くのファイアウォール/プロキシアプライアンスです。私は個人的にCiscoCSRおよびnetscalerマーケットプレイスAMIでそれらを使用しましたが、最終的にはawsの外部で見慣れた構成のようになります(また、これを行う2番目の内部インターフェイスをデバッグ時のウェブサーバーは、この内部インターフェイスでパケットキャプチャを実行すると、インターネットとの間のトラフィックをフィルターで除外することなく、ウェブサーバーとそのダウンストリーム依存関係(DB、LDAP)の間のトラフィックを確認できるため、両方のキャプチャを簡素化できました。 OSからより意味のあるSNMPメトリックを取得しました。
AWSは、ENIを使用して停止に対する復元力を組み込んでいます。ただし、サーバー上に複数のENIを配置したい場合があります。
たとえば、複数のアウトバウンドIPアドレスを持つMTAサーバーは、サーバー上で複数のENIを実行して、スパマーフラグにぶつかることなくより多くのメール送信を処理できるようにすることができます。
@Nathが指摘したように、複数のENIがサーバーをファイアウォールとして動作させ、2つのインターフェイス間にブリッジを設定してパケット検査を実行することもできます。
AWSの使いやすさの観点から、インスタンスに複数のENIを「必要」とすることはありませんが、入札のタスクを実行するために複数のENIを「必要」にする場合があります。
お役に立てば幸いです。
ENIの2つの優れた用途:
パブリックEIPをフェイルオーバーしたい。スタンバイモニターのインスタンスをキープアライブにし、プライマリがダウンした場合にインターフェイスを盗みます。
VPC間ルーティング、IE。アプリケーションファイアウォール、IPS/IDS、VPNルーター、セキュリティゲートウェイなど。