Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 EFA

可以像任何其他弹性网络接口 (ENI) 一样在 Amazon EC2 中创建、使用和管理 Elastic Fabric Adapter (EFA)。不过,与 ENI 不同,EFA 无法附加到处于运行状态的实例或从实例中分离。

EFA 要求

要使用 EFA,您必须执行以下操作:

  • 使用以下支持的实例类型之一:c5n.18xlarge, i3en.24xlarge, p3dn.24xlarge

  • 使用以下支持的 AMI 之一:Amazon Linux, Amazon Linux 2, Red Hat Enterprise Linux 7.6, CentOS 7.6

  • 安装 EFA 软件组件。

  • 使用一个安全组,以允许进出安全组本身的所有入站和出站流量。

创建 EFA

您可以在 VPC 上的子网中创建 EFA。在创建 EFA 后,您无法将其移动到另一个子网,并且只能将其附加到同一可用区中的已停止实例。

创建新的 EFA(控制台)

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 Network Interfaces

  3. 选择 Create Network Interface

  4. 对于 Description (描述),请输入一个描述性的 EFA 名称。

  5. 对于 Subnet (子网),请选择要在其中创建 EFA 的子网。

  6. 对于 Private IP (私有 IP),请输入主私有 IPv4 地址。如果未指定 IPv4 地址,我们将从选定的子网中选择一个可用的私有 IPv4 地址。

  7. (仅限 IPv6) 如果您选择了一个拥有相关联的 IPv6 CIDR 块的子网,那么可以选择性地在 IPv6 IP 字段中指定一个 IPv6 地址。

  8. 对于 Security groups,选择一个或多个安全组。

  9. 对于 EFA,请选择已启用

  10. 选择 Yes, Create

创建新的 EFA (AWS CLI)

使用 create-network-interface 命令,并为 interface-type 指定 efa。例如:

$ aws ec2 create-network-interface --subnet-id subnet-01234567890 --description example_efa --interface-type efa

将 EFA 附加到停止的实例

您可以将 EFA 附加到处于 stopped 状态的任何支持的实例。您无法将 EFA 附加到处于 running 状态的实例。有关支持的实例类型的更多信息,请参阅支持的实例类型

您可以使用将 ENI 附加到实例的相同方式将 EFA 附加到实例。有关更多信息,请参阅将网络接口附加到已停止的实例或正在运行的实例

在启动实例时附加 EFA

在启动实例时附加现有的 EFA (AWS CLI)

使用 run-instances 命令,并为 NetworkInterfaceId 指定 EFA ID。例如:

$ aws ec2 run-instances --image-id ami-123456 --count 1 --instance-type c5n.18xlarge --key-name my_key_pair --security-group-ids sg-123456 --subnet-id subnet-123456 --network-interfaces DeviceIndex=0,NetworkInterfaceId=eni-123456

在启动实例时附加新的 EFA (AWS CLI)

使用 run-instances 命令,并为 InterfaceType 指定 efa。例如:

$ aws ec2 run-instances --image-id ami-123456 --count 1 --instance-type c5n.18xlarge --key-name my_key_pair --security-group-ids sg-123456 --subnet-id subnet-123456 --network-interfaces DeviceIndex=0,InterfaceType=efa

将 EFA 添加到启动模板

您可以创建一个启动模板,其中包含启动启用了 EFA 的实例所需的配置信息。要创建启用了 EFA 的启动模板,请创建新的启动模板并指定支持的实例类型、启用了 EFA 的 AMI 以及启用了 EFA 的安全组。有关创建启用了 EFA 的 AMI 以及启用了 EFA 的安全组的更多信息,请参阅EFA 入门

您可以利用启动模板通过其他 AWS 服务(如 AWS Batch)启动启用了 EFA 的实例。

有关创建启动模板的更多信息,请参阅创建启动模板

将 IP 地址分配给 EFA

如果具有弹性 IP (IPv4) 地址,您可以将其与 EFA 相关联。如果在具有关联的 IPv6 CIDR 块的子网中预置了 EFA,您可以将一个或多个 IPv6 地址分配给 EFA。

您可以使用将 IP 地址分配给 ENI 的相同方式将弹性 IP (IPv4) 和 IPv6 地址分配给 EFA。有关更多信息,请参阅:

从 EFA 中取消分配 IP 地址

您可以使用从 ENI 中取消分配 IP 地址的相同方式从 EFA 中取消分配弹性 IP (IPv4) 和 IPv6 地址。有关更多信息,请参阅:

更改安全组

您可以更改与 EFA 关联的安全组。要启用操作系统绕过功能,EFA 必须是一个安全组的成员,以允许进出安全组本身的所有入站和出站流量。

您可以使用更改与 ENI 关联的安全组的相同方式更改与 EFA 关联的安全组。有关更多信息,请参阅更改安全组

分离 EFA

要从实例中分离 EFA,您必须先停止该实例。您无法从处于运行状态的实例中分离 EFA。

您可以使用从实例中分离 ENI 的相同方式从实例中分离 EFA。有关更多信息,请参阅将网络接口与实例分离

查看 EFA

您可以查看您的账户中的所有 EFA。

您可以使用查看 ENI 的相同方式查看 EFA。有关更多信息,请参阅查看有关网络接口的详细信息

删除 EFA

要删除 EFA,您必须先将其从实例中分离。在附加到实例时,您无法删除 EFA。

您可以使用删除 ENI 的相同方式删除 EFA。有关更多信息,请参阅删除网络接口