🪡

【図解】AWSのENI(Elastic Network Interface)を理解する

に公開

はじめに

AWSにはENIというネットワークに関するサービスがありますが、どのようなものなのか理解しづらいため、内容をまとめます。

今回の記事で理解できること

  • ENIの概要や必要性
  • ENIの制約事項

ENIとは何か?

ENI(Elastic Network Interface)は、AWSのVPC(仮想プライベートクラウド)内で動作するEC2インスタンスの「仮想ネットワークカード(NIC)」です。

物理的なPCにLANケーブルを差し込むことでネットワークに接続するのと同じように、EC2インスタンスがVPCという仮想ネットワークと通信するためには、ENIという「通信の差し込み口」が不可欠です。

ENIは単なる通信ポートではなく、EC2インスタンスのネットワーク属性をすべてまとめる役割を担っています。

概念 役割
ENI EC2のネットワークの玄関口
EC2 ENIを通じてVPC内の他のリソースや外部と通信する主体
VPC ENIが接続される仮想的なネットワーク環境

ENIの基本構成要素

ENIは、EC2インスタンスのネットワーク接続を定義する以下の重要な要素を保持しています。

仮想アドレス情報

ENIは、インスタンスがネットワーク内で識別されるために必要なアドレス情報を持ちます。
プライマリIPv4アドレス
ENIに自動で付与されるメインのIPアドレス。EC2の基本的な通信はこれを使用します。

セカンダリIPv4アドレス
必要に応じて追加できる予備のIPアドレス。
一つのインスタンスで複数のWebサイトやサービスを動かしたい場合や、特定のIPを切り替えて利用したい場合に活用されます。

IPv6アドレス
IPv4と並行して、ENIにIPv6アドレスを割り当てることも可能です。
グローバルユニークであるため、インターネットに直接公開する際の選択肢となります。

Elastic IP (EIP) の割り当て
ENIに固定のグローバルIPである Elastic IP を関連付け可能。
通常のパブリックIPと異なり、インスタンスの再起動や停止後もIPアドレスが変わらないため、外部からの安定したアクセスポイントを提供します。

識別子と制御機能

MACアドレス
ENIごとに自動的に割り当てられる物理NICと同じ役割を持つ識別子
「ネットワークカードを区別するための番号」で、ユーザーが変更することはできません。

セキュリティグループの関連付け
ENIに直接セキュリティグループ(仮想ファイアウォール)を関連付け可能。
例えば、「22番ポートは閉じる」「80番ポートだけ開ける」といった通信制御のルールをENI単位で設定可能です。

ENIの種類

EC2インスタンスにアタッチされるENIには、その役割と柔軟性によって2種類あります。

🔷 プライマリENI

  • EC2起動時に必ず1つ作られるENI
  • このENIに付与されるプライマリIPv4アドレスが、EC2の基本的な通信に使われる
  • 削除やデタッチはできず、インスタンスと一体化している(必須のNIC)

🔷セカンダリENI

  • ユーザーが必要に応じて追加するENI
  • インスタンス実行中にアタッチ/デタッチ可能
  • プライマリENIと違い柔軟に扱え、サブのネットワーク口として利用できます

ENIの料金

🔷 ENI自体の料金

  • ENIの作成・保持は無料
  • プライマリENIも、追加のセカンダリENIも、ENIそのものには課金されない

🔷 課金が発生するケース

ENIを使う時に間接的に料金が発生するのは以下のような場合

  • Elastic IP(固定グローバルIP)の割り当て
    EC2が停止している状態でElastic IPを保持している場合
    Elastic IPを複数持っている場合
    ※いずれも少額だが課金対象となる
     
  • データ転送量
    ENIを通じてVPC外(インターネットや別リーション)へ通信する際は、通常のデータ転送料金が発生
    VPC内の同一AZの通信は無料、異なるAZ間の通信は課金

制約事項

ENIの数の上限

  • インスタンスにアタッチできる最大ENI数が決まっています
  • 小さいインスタンスは少なく、大きいインスタンスは多いです

ENIあたりのIPアドレス数

  • 1つのENIに割り当てられるIPアドレス数にも上限があります
  • インスタンスタイプごとに「ENI数✖️IP数」で最大IP数が決まります
t2.micro c5.18xlarge
最大ENI 15
ENIあたりのIP 50
合計IP数 4 750

インスタンスタイプに依存する理由

ENIやIPの数は、インスタンスの仮想ハードウェア性能(ネットワーク帯域やNIC数)に依存しています。
つまり「小さいマシンにNICをたくさん差す」ことはできないという制約です。

まとめ

  • ENI(Elastic Network Interface) = EC2にネットワークを繋ぐための仮想NIC。
  • IPアドレスやセキュリティグループを持ち、追加・付け替えで柔軟な設計が可能。
  • 高可用性や複数ネットワークの利用に役立つが、数やIPにはインスタンスタイプごとの制限あり。

Discussion