AWS ENI(Elastic Network Interface)とは?

AWS初心者のための図解ガイド

ENIの基本概念

ENI(Elastic Network Interface)は、AWSのVPC(Virtual Private Cloud)内で 仮想ネットワークカード として機能します。物理的なコンピュータのネットワークインターフェースカード(NIC)に相当する仮想リソースです。

VPC
サブネット
EC2インスタンス
プライマリENI
eth0
セカンダリENI
eth1

ENIはEC2インスタンスと接続される仮想ネットワークインターフェース

ENIの主な特徴

🔌 接続性

EC2インスタンスをVPC内のネットワークに接続します。各ENIは特定のサブネットに紐づきます。

🔄 再利用可能

ENIはEC2インスタンス間で 移動可能 で、インスタンスの終了後も存続します。

📝 複数の属性

プライベートIPアドレス、Elastic IPアドレス、MACアドレスなどの属性を持ちます。

🔒 セキュリティ

セキュリティグループとネットワークACLによるトラフィック制御が可能です。

🔢 複数インターフェース

一つのEC2インスタンスに 複数のENI をアタッチ可能です。

⚡ ホットアタッチ

稼働中のインスタンスにENIをアタッチ・デタッチできます。

ENIの構成要素

ENIの構成要素

  • プライマリプライベートIPv4アドレス : サブネット内での固定IP
  • セカンダリプライベートIPv4アドレス (オプション): 追加のプライベートIP
  • Elastic IP (オプション): インターネットからアクセス可能な固定IP
  • MACアドレス : 一意のネットワーク識別子
  • セキュリティグループ : トラフィックを制御するファイアウォールルール
  • 送受信チェック : 不正なトラフィック防止の設定

ENIのユースケース

🛡️ マルチホームネットワーク(複数ネットワーク接続)

VPC
パブリックサブネット
Web サーバー
ENI 1 (eth0)
インターネット接続用
プライベートサブネット
ENI 2 (eth1)
データベース接続用

説明: 1つのEC2インスタンスに2つのENIをアタッチすることで、パブリックとプライベート両方のサブネットに接続します。これにより、インターネットからのトラフィックを受けながらも、データベースへは分離されたプライベートネットワーク経由でアクセスできます。

🔄 フェイルオーバーとHA(高可用性)構成

VPC
プライマリEC2
ENI
障害発生時
バックアップEC2

説明: プライマリサーバーに障害が発生した場合、そのENIをバックアップEC2インスタンスに移行することで、IPアドレスを変更せずにサービスを継続できます。これにより、DNSの変更を待つことなくすぐにフェイルオーバーが可能になります。

🛠️ ネットワークとセキュリティアプライアンス

VPC
インバウンド
インターネット
ファイアウォール
入口ENI
出口ENI
アプリケーション
Webサーバー

説明: 複数のENIを使用して、トラフィックのフィルタリングや監視を行うファイアウォールアプライアンスを実装できます。入口ENIと出口ENIを分けることで、両方のトラフィックを制御・検査できます。

ENIの作成・管理方法

1

ENIの作成

AWSマネジメントコンソール、AWS CLI、またはAWS SDKを使用して作成できます。作成時にサブネットを指定する必要があります。

Console
CLI
SDK
2

ENIのアタッチ

作成したENIをEC2インスタンスにアタッチします。インスタンスは稼働中でも停止状態でもかまいません。

# AWS CLIの例
aws ec2 attach-network-interface --network-interface-id eni-xxxxxxxx --instance-id i-xxxxxxxx --device-index 1
3

セキュリティグループの設定

ENIに適用するセキュリティグループを設定して、トラフィックを制御します。

セキュリティグループ
  • インバウンドルール: HTTPSトラフィック(ポート443)を許可
  • アウトバウンドルール: すべてのトラフィックを許可
4

IPアドレスの管理

必要に応じてセカンダリIPアドレスの割り当てやElastic IPの関連付けを行います。

プライベートIP: 10.0.1.25
Elastic IP: 52.x.x.x
5

モニタリングと管理

CloudWatchを使用してENIのトラフィックやパフォーマンスをモニタリングします。必要に応じてタグを追加して管理を容易にします。

ENIと関連するAWSサービス

EC2

仮想サーバーインスタンスにネットワーク接続を提供します。

VPC

ENIはVPC内の特定のサブネットに紐づけられます。

Lambda(VPC内)

VPC内のLambda関数はENIを使用してVPCリソースにアクセスします。

RDS

データベースインスタンスもENIを使用してネットワークに接続します。

EKS

Kubernetesポッドに割り当てられるENIを通じてネットワーク接続を提供します。

ECS

awsvpc ネットワークモードでは、各タスクに専用のENIが割り当てられます。

ENIに関するよくある質問

ENIとEIPの違いは何ですか?

ENI(Elastic Network Interface) は仮想ネットワークインターフェースであり、 EIP(Elastic IP) は固定のパブリックIPアドレスです。EIPはENIまたはEC2インスタンスに関連付けることができます。

1つのEC2インスタンスに複数のENIをアタッチする理由は?

マルチホームネットワーク(複数のサブネットへの接続)、異なるセキュリティグループの適用、フェイルオーバー構成、またはネットワークアプライアンス構築のためです。

ENIの制限事項は何ですか?

ENIはアタッチする際に同じAZのEC2インスタンスに制限されます。また、インスタンスタイプによってアタッチ可能なENIの数やIPアドレスの数に制限があります。

ENIの料金はどうなっていますか?

ENI自体には追加料金はかかりません。ただし、関連付けるElastic IPや転送されるデータ量に応じて料金が発生する場合があります。

※ この資料はAWS初心者向けに作成されたENI(Elastic Network Interface)の概要説明です。詳細な仕様や制限については、AWS公式ドキュメントをご確認ください。

Created by SSuzuki1063

AWS SAP Learning Resources