---
# System prepended metadata

title: 探索AWS：從菜鳥到熟練的完全指南(十一)Elastic Network Interfaces
tags: [新手教學, ENI, AWS, EC2]

---

# 介紹
Elastic Network Interfaces（ENIs）一種虛擬網路介面(**虛擬網卡**)，用於連接和管理Amazon EC2實例與VPC（Virtual Private Cloud）之間的網路流量。ENI可以看作是一個虛擬的網路卡，它提供了以下功能：

* 主要的私有IPv4地址，可以有一個或多個次要的IPv4地址
* 一個彈性IP（IPv4）對應於每個私有IPv4地址
* 一個公有IPv4地址
* 一個或多個安全組
* 一個MAC地址
* 你可以獨立創建ENI，並在需要時將其附加到EC2實例上（移動它們），以實現故障轉移。
* ENI綁定到特定的可用區（AZ），表示該ENI只能在該可用區內使用。


透過ENI，EC2實例可以連接到VPC中的不同子網路，同時具有可配置的網路設置和彈性IP地址，從而實現更靈活和可靠的網路連接。

# 運用
![](https://hackmd.io/_uploads/rk63buY_3.png)
在AWS的架構中可以分為兩個面向:
1. network:就是網路世界 
2. compute:就是運算資源，EC2就是運算的主機

在網路世界中security group是辨認ENI 
ENI可以是做一個虛擬網卡能插到EC2上面
因此若是其中一個EC2壞了
把網卡拔起來在插到另一台主機上
對於網路世界是沒有任何差別的


# 實作
在這裡要實作當EC2套用了ENI後會發生什麼事
以及它可以快速套用在不同EC2的優勢
## 1.創建兩個DEMO用的EC2
回到instance 分頁點擊創建
![](https://hackmd.io/_uploads/B1xrU_Fu2.png)
隨意取個名字，並在summary的地方修改數量成2個
<br>
![](https://hackmd.io/_uploads/HJ4_IOY_3.png)
確認type為t2.micro
隨意選擇一個key
<br>
![](https://hackmd.io/_uploads/rkC68OKO2.png)
要選擇security group
因為不想再創一個新的
因此選擇先前創過的
<br>
按下創建就可以等待兩個EC2 instance 建立好


## 2.創建ENI
### 觀察network
![](https://hackmd.io/_uploads/r1lLD_Yuh.png)
點擊其中一個instance
觀察它的Networking 分頁中的 Network Interface
可以看到有一個自動創建的defalut ENI
有公開與私有ip
<br>
兩個instance 有不同的ip


### 觀察ENI
![](https://hackmd.io/_uploads/Bk5mOuYOh.png)
下拉左側的分頁選單至Network & Security中的Network interfaces
![](https://hackmd.io/_uploads/Syy6u_tO3.png)
可以看到自動創建的ENI
在這裡要記下AZ的位置(ap-northeast-3a)
在創建ENI會用到

### 創建ENI
![](https://hackmd.io/_uploads/H18mKOKu3.png)
幫你的ENI取名
並選擇AZ(一定要選擇跟前面EC2一樣的)
![](https://hackmd.io/_uploads/H1IDF_Fu2.png)
套用SC
就可以創建了

### 創建成功
![](https://hackmd.io/_uploads/HkUJqdKdh.png)
可以回到列表看剛創建的ENI
可以看到取的名字以及Available的狀態

## 3.套用ENI
![](https://hackmd.io/_uploads/Sy_DcuKO3.png)
點擊上放的ACTION
選擇ATTACH
![](https://hackmd.io/_uploads/Hyej9Ot_3.png)
選擇要套用的EC2 instance
![](https://hackmd.io/_uploads/SJwa5_Kun.png)
套用成功就會顯示狀態為in-use
![](https://hackmd.io/_uploads/H1_ziOFuh.png)
回到instance列表
點選剛套用的EC2
查看他的Networking 分頁中的 Network Interface
從原本default的一個 變成兩個了


## 4.撤換ENI
若想換掉ENI
只需要回到Network & Security中的Network interfaces
![](https://hackmd.io/_uploads/H10aidYun.png)
點擊Detach
按下確認
重新整理
![](https://hackmd.io/_uploads/SkqzhuY_h.png)
就可以看到ENI就會釋出了
想要在插在別台EC2上就重複套用工作就可以


