LoginSignup
1
0

AWS ENI を触ってみる

Posted at

ENI(Elastic Network Interface) は単体で触る機会があまりなかったので、どんなことができるのか触ってみました。

ENI

EC2 インスタンスはそれ自体に IP アドレスが付与されているわけではない。
EC2 にネットワーク情報を付与するには ENI が必要。
ENI は EC2 とは独立して存在しているため、EC2 にアタッチしたり、デタッチすることが可能。

インスタンスがネットワークに接続するためのいろんな情報を持たせることができる。
ENI には次の情報を持たせることができる。

VPC の IPv4 アドレス範囲からのプライマリプライベート IPv4 アドレス
VPC の IPv4 アドレス範囲からの 1 つ以上のセカンダリプライベート IPv4 アドレス
プライベート IPv4 アドレスごとに 1 つの Elastic IP アドレス (IPv4)
1 つのパブリック IPv4 アドレス
1 つ以上の IPv6 アドレス
1 つ以上のセキュリティグループ
MAC アドレス
送信元/送信先チェックフラグ

EC2 を作成すると ENI も自動で作成されている。

image.png

ENI は単体で作成することができて、セキュリティーグループも ENI に紐づいていることがわかる。

image.png

1つの EC2 インスタンスに IP アドレスを2つ設定する

上で作成した ENI を EC2 に紐づける
1つの EC2 にネットワークインターフェースが複数紐づいていることがわかり、

image.png

private ip も2つになっていることがわかる

貼り付けた画像_2024_01_07_21_16.png

ENI 単体に public ip アドレレスを割り当てるには Elastic IP アドレスを作成する必要などがありそう。

image.png

IP アドレスなどを引き継いで、 EC2 インスタンスを新規作成

IP アドレスは ENI に紐づいているという話だったので、今ある EC2 を削除して別の EC2 を新規作成した際に、 IP アドレスを引き継ぐこともできる。

ENI の設定で、紐づいている EC2 を削除した際に、一緒に削除されないように設定しておく。

貼り付けた画像_2024_01_08_16_21.png

「インスタンスの削除時に削除」の有効化のチェックを外しておく。

image.png

今あるインスタンスを削除して、

貼り付けた画像_2024_01_08_16_41.png

別のインスタンを新規で作成。その際にネットワークインターフェイスに既存のものを設定。

貼り付けた画像_2024_01_08_17_08.png

新規作成した EC2 の IP アドレスを確認すると、 public ip アドレスは変わっていたが、private ip アドレスは削除した EC2 から引き継ぐことができている。

今回 public ip アドレスは固定にしていなかったため、変わってしまったが、固定にしてたら public ip アドレスも引き継ぐことができそう。

貼り付けた画像_2024_01_08_17_24.png

IP フローティング

EC2 と ENI が独立していることで、障害発生時に ENI を別の EC2  に自動でアタッチすることで、アクセス先の EC2 を切り替えるなどすることが可能。

image.png

複数のVPCにEC2インスタンスを接続する

複数の VPC に EC2 インスタンスを接続することもできるらしい。
同一 AZ でないと無理らしい。

参考

https://dev.classmethod.jp/articles/ec2_takeover_privateipaddr_macaddr/
https://dev.classmethod.jp/tags/eni/
https://aws.amazon.com/jp/about-aws/whats-new/2023/10/multi-vpc-eni-attachments/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0