

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立 Elastic Fabric Adapter 並將其連接至 Amazon EC2 執行個體
<a name="create-efa"></a>

您可以建立 EFA 並將其連接到 Amazon EC2 執行個體，就像 Amazon EC2 中的任何其他彈性網路介面一樣。不過，與彈性網路介面不同，EFA 不能與處於 `running` 狀態的執行個體連接或分離。

**考量事項**
+  您可以變更與 EFA 相關聯的安全群組。若要啟用 OS-bypass 功能，EFA 必須是安全群組的成員，而該安全群組允許往返於其本身的所有傳入和傳出流量。如需詳細資訊，請參閱[步驟 1：準備具備 EFA 功能的安全群組](efa-start.md#efa-start-security)。

  就像變更與彈性網絡介面相關聯的安全群組，您以同樣的方式變更與 EFA 相關聯的安全群組。如需詳細資訊，請參閱[修改網路介面屬性](modify-network-interface-attributes.md)。
+ 將彈性 IP (IPv4) 和 IPv6 地址指派給 EFA (EFA 搭配 ENA) 的方式，就像將 IP 位址指派給彈性網絡介面一樣。如需詳細資訊，請參閱[管理 IP 位址](managing-network-interface-ip-addresses.md)。

  您無法將 IP 位址指派給僅限 EFA 的網路介面。

**Topics**
+ [建立 EFA](#efa-create)
+ [將 EFA 連接至已停止的執行個體](#efa-attach)
+ [啟動執行個體時連接 EFA](#efa-launch)
+ [將 EFA 新增至啟動範本](#efa-launch-template)

## 建立 EFA
<a name="efa-create"></a>

您可以在 VPC 的子網路中建立 EFA。EFA 建立後即無法移至另一個子網路，而且只能連接到同一可用區域中已停止的執行個體。

------
#### [ Console ]

**若要建立 EFA (EFA 搭配 ENA 或僅限 ENA) 網路介面**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Network Interfaces** (網路介面)，然後選擇 **Create network interface** (建立網路介面)。

1. 針對 **Description (描述)**，輸入 EFA 的描述性名稱。

1. 針對 **Subnet (子網路)**，選取要在其中建立 EFA 的子網路。

1. 針對**介面類型**，選擇以下其中一項：
   + **EFA 搭配 ENA**：建立同時支援 ENA 和 EFA 裝置的網路介面。
   + **僅限 EFA**：僅使用 EFA 裝置建立網路介面。

1. (僅限 EFA 搭配 ENA) 設定網路介面的 IP 位址和字首指派。您可以指派的 IP 位址和字首類型取決於選取的子網路。對於僅限 IPv4 的子網路，只能指派 IPv4 IP 位址和字首。對於僅限 IPv6 的子網路，只能指派 IPv6 IP 位址和字首。對於雙堆疊子網路，可以同時指派 IPv4 和 IPv6 IP 位址和字首。
**注意**  
您無法將 IP 位址指派給僅限 EFA 的網路介面。

   1. 針對**私有 IPv4 位址**和/或 **IPv6 位址**，選擇**自動指派**，讓 Amazon EC2 從選取的子網路中自動指派 IP 位址，或選擇**自訂**以手動指定要指派的 IP 位址。

   1. 如果指派 IPv6 位址，可以選擇啟用**指派主要 IPv6 IP**。這樣做會將主要 IPv6 全域單播位址 (GUA) 指派給網路介面。指派主要 IPv6 地址可讓您避免中斷執行個體或 ENI 的流量。如需詳細資訊，請參閱 [IPv6 位址](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6-addresses)。

   1. 對於 **IPv4 字首委派**和/或 **IPv6 字首委派**，選擇**自動指派**，讓 Amazon EC2 從子網路的 CIDR 區塊中自動指派字首，或選擇**自訂**以從子網路的 CIDR 區塊中手動指定字首。如果您指定字首， 會 AWS 驗證它尚未指派給其他資源。如需詳細資訊，請參閱[Amazon EC2 網路介面的字首委派](ec2-prefix-eni.md)

   1. (選用) 設定**閒置連線追蹤逾時**設定。如需詳細資訊，請參閱[閒置連線追蹤逾時](security-group-connection-tracking.md#connection-tracking-timeouts)
      + **TCP 建立逾時**：處於已建立狀態的閒置 TCP 連線的逾時時間 (以秒為單位)。最小值：60秒。最大值：432000秒 (5天)。預設：432000秒。建議使用：432000秒以下。
      + **UDP 逾時**：只出現單一方向或單一請求回應交易流量的閒置 UDP 流量的逾時時間 (以秒為單位)。最小值：30秒。最大值：60秒。預設：30秒。
      + **UDP 串流逾時**：分類為出現多個請求回應交易串流的閒置 UDP 流量的逾時時間 (以秒為單位)。最小值：60秒。最大值：180秒 (3分鐘)。預設：180秒。

1. 針對 **Security groups (安全群組)**，選取一個或多個安全群組。

1. 選擇 **Create network interface** (建立網路介面)。

------
#### [ AWS CLI ]

**若要建立 EFA**  
使用 [create-global-network](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) 命令。對於 `--interface-type`，請為 EFA 網路介面指定 `efa`，或為僅限 EFA 網路介面指定 `efa-only`。

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --interface-type efa \
    --description "my efa"
```

------
#### [ PowerShell ]

**若要建立 EFA**  
使用 [New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) cmdlet。對於 `-InterfaceType`，請為 EFA 網路介面指定 `efa`，或為僅限 EFA 網路介面指定 `efa-only`

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -InterfaceType efa `
    -Description "my efa"
```

------

## 將 EFA 連接至已停止的執行個體
<a name="efa-attach"></a>

您可以將 EFA 連接至任何處於 `stopped` 狀態的受支援執行個體。您無法將 EFA 連接至處於 `running` 狀態的執行個體。如需支援的執行個體類型的詳細資訊，請參閱[支援的執行個體類型](efa.md#efa-instance-types)。

就像將網路介面連接至執行個體，您以同樣的方式將 EFA 連接至執行個體。如需詳細資訊，請參閱 [連接網路介面](network-interface-attachments.md#attach_eni)。

## 啟動執行個體時連接 EFA
<a name="efa-launch"></a>

------
#### [ AWS CLI ]

**啟動執行個體時連接現有的 EFA**  
請使用 `--network-interfaces` 選項並搭配 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令。對於主網路介面，指定 EFA 網路接口和 `NetworkCardIndex=0`，`DeviceIndex=0`。若要連接多個 EFA 網路介面，請參閱 [最大化網路頻寬](efa-acc-inst-types.md)。

```
--network-interfaces "NetworkCardIndex=0, \
    DeviceIndex=0, \
    NetworkInterfaceId=eni-1234567890abcdef0, \
    Groups=sg-1234567890abcdef0, \
    SubnetId=subnet-0abcdef1234567890"
```

**啟動執行個體時連接新的 EFA**  
請使用 `--network-interfaces` 選項並搭配 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令。對於主要網路介面，針對 `NetworkCardIndex=0` 和 `DeviceIndex=0` 指定 `InterfaceType=efa`。如果您要連接多個 EFA 網路介面，請參閱[最大化網路頻寬](efa-acc-inst-types.md)。

```
--network-interfaces "NetworkCardIndex=0, \
    DeviceIndex=0, \
    InterfaceType=efa, \
    Groups=sg-1234567890abcdef0, \
    SubnetId=subnet-0abcdef1234567890"
```

------
#### [ PowerShell ]

**啟動執行個體時連接現有的 EFA**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet 搭配 `-NetworkInterfaces` 參數。

```
-NetworkInterface $networkInterface
```

定義網路介面，如下所示。

```
$networkInterface = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$networkInterface.DeviceIndex = 0
$networkInterface.NetworkInterfaceId = "eni-1234567890abcdef0"
$networkInterface.Groups = @("sg-1234567890abcdef0")
$networkInterface.SubnetId = "subnet-0abcdef1234567890"
```

**啟動執行個體時連接新的 EFA**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet 搭配 `-NetworkInterfaces` 參數。

```
-NetworkInterface $networkInterface
```

定義網路介面，如下所示。

```
$networkInterface = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$networkInterface.DeviceIndex = 0
$networkInterface.InterfaceType = "efa"
$networkInterface.Groups = @("sg-1234567890abcdef0")
$networkInterface.SubnetId = "subnet-0abcdef1234567890"
```

------

## 將 EFA 新增至啟動範本
<a name="efa-launch-template"></a>

您可以建立啟動範本，其中包含啟動具備 EFA 功能的執行個體所需的組態資訊。您可以在啟動範本中指定 EFA 和僅限 EFA 的網路介面。若要建立具備 EFA 功能的啟動範本，請建立新的啟動範本，並指定支援的執行個體類型、具備 EFA 功能的 AMI，以及具備 EFA 功能的安全群組。針對 `NetworkInterfaces`，指定要連接的 EFA 網路介面。對於主要網路介面，針對 `NetworkCardIndex=0` 和 `DeviceIndex=0` 指定 `InterfaceType=efa`。如果您要連接多個 EFA 網路介面，請參閱[使用多個網路卡最大化 Amazon EC2 執行個體的網路頻寬](efa-acc-inst-types.md)。

您可以利用啟動範本，透過其他 AWS 服務啟動已啟用 EFA 的執行個體，例如 [AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html)或 [AWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html)。

如需建立啟動範本的詳細資訊，請參閱[建立 Amazon EC2 啟動範本](create-launch-template.md)。