创建 Elastic Fabric Adapter 并将其附加到 Amazon EC2 实例 - Amazon Elastic Compute Cloud

创建 Elastic Fabric Adapter 并将其附加到 Amazon EC2 实例

您可以创建 EFA 并将其附加到 Amazon EC2 实例,就像 Amazon EC2 中的任何其他弹性网络接口一样。不过,与弹性网络接口不同,无法将 EFA 附加到处于 running 状态的实例,也无法将其从处于该状态的实例中分离。

注意事项
  • 您可以更改与 EFA 关联的安全组。要启用操作系统绕过功能,EFA 必须是一个安全组的成员,以允许进出安全组本身的所有入站和出站流量。有关更多信息,请参阅 步骤 1:准备启用 EFA 的安全组

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

  • 您可以使用将 IP 地址分配给弹性网络接口的相同方式将弹性 IP (IPv4) 和 IPv6 地址分配给 EFA(带 ENA 的 EFA)。有关更多信息,请参阅管理 IP 地址

    您不能为仅限 EFA 的网络接口分配 IP 地址。

创建 EFA

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

Console
要使用控制台创建 EFA(带 ENA 的 EFA)网络接口
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择网络接口

  3. 选择 Create Network Interface

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

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

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

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

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

  9. 对于 Elastic Fabric Adapter,请选择启用

  10. 选择创建网络接口

要使用控制台创建仅限 EFA 的网络接口
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择网络接口

  3. 展开创建网络接口下拉列表并选择创建仅限 EFA 的网络接口

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

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

  6. 选择创建网络接口

AWS CLI
使用 AWS CLI 创建新的 EFA

使用 create-network-interface 命令。对于 interface-type,针对 EFA 网络接口指定 efa 或针对仅限 EFA 的网络接口指定 efa-only

aws ec2 create-network-interface \ --subnet-id subnet-01234567890 \ --description example_efa \ --interface-type efa|efa-only

将 EFA 附加到停止的实例

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

您可以使用将网络接口连接到实例的相同方式将 EFA 连接到实例。有关更多信息,请参阅附加网络接口

在启动实例时附加 EFA

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

可以使用 run-instances 命令。对于 --network-interfaces,请指定要附加的 EFA 网络接口。对于主网络接口,指定 EFA 网络接口以及 NetworkCardIndex=0DeviceIndex=0。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽

aws ec2 run-instances \ --image-id ami_id \ --count 1 \ --instance-type c5n.18xlarge \ --key-name my_key_pair \ --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,NetworkInterfaceId=efa_1_id,Groups=sg_id,SubnetId=subnet_id" ...
在启动实例(AWS CLI)时附加新的 EFA

可以使用 run-instances 命令。对于 --network-interfaces,请指定要附加的 EFA 网络接口。对于主网络接口,使用 NetworkCardIndex=0DeviceIndex=0InterfaceType=efa。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽

aws ec2 run-instances \ --image-id ami_id \ --count 1 \ --instance-type c5n.18xlarge \ --key-name my_key_pair \ --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id,SubnetId=subnet_id,InterfaceType=efa" ...

将 EFA 添加到启动模板

您可以创建一个启动模板,其中包含启动启用了 EFA 的实例所需的配置信息。您可以在启动模板中同时指定 EFA 和仅限 EFA 的网络接口。要创建启用了 EFA 的启动模板,请创建新的启动模板并指定支持的实例类型、启用了 EFA 的 AMI 以及启用了 EFA 的安全组。对于 NetworkInterfaces,请指定要附加的 EFA 网络接口。对于主网络接口,使用 NetworkCardIndex=0DeviceIndex=0InterfaceType=efa。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽

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

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