创建 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 或仅限 ENA)网络接口
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口),然后选择 Create network interface(创建网络接口)。

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

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

  5. 接口类型,选择以下选项之一:

    • 带 ENA 的 EFA:创建同时支持 ENA 和 EFA 设备的网络接口。

    • 仅限 EFA:创建仅支持 EFA 设备的网络接口。

  6. (仅适用于带 ENA 的 EFA)为网络接口配置 IP 地址和前缀分配。您可以分配的 IP 地址和前缀类型取决于所选的子网。对于仅限 IPv4 的子网,您只能分配 IPv4 IP 地址和前缀。对于仅限 IPv6 的子网,您只能分配 IPv6 IP 地址和前缀。对于双栈子网,可同时分配 IPv4 和 IPv6 IP 地址和前缀。

    注意

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

    1. 对于私有 IPv4 地址和/或 IPv6 地址,选择自动分配以使 Amazon EC2 从选定子网中自动分配 IP 地址,或选择自定义以手动指定要分配的 IP 地址。

    2. 如果您分配 IPv6 地址,则可以选择启用分配主 IPv6 IP。此操作将为网络接口分配一个主 IPv6 全局单播地址(GUA)。分配主要 IPv6 地址使您能够避免中断实例或 ENI 的流量。有关更多信息,请参阅 IPv6 地址

    3. 对于 IPv4 前缀委派和/或 IPv6 前缀委派,选择自动分配以使 Amazon EC2 自动从子网的 CIDR 块中分配前缀,或选择自定义以从子网的 CIDR 块中手动指定前缀。如果您指定前缀,则 AWS 会验证其是否已分配给其他资源。有关更多信息,请参阅 Amazon EC2 网络接口的前缀委派

    4. (可选)配置空闲连接跟踪超时设置。有关更多信息,请参阅 空闲连接跟踪超时

      • TCP 建立超时:处于已建立状态的空闲 TCP 连接的超时时间(秒)。最小值:60 秒。最大值:432000 秒(5 天)。默认值:432000 秒。建议值:小于 432000 秒。

      • UDP 超时:空闲 UDP 流的超时时间(秒),这些流仅在单个方向或单个请求-响应事务中看到流量。最小值:30 秒。最大值:60 秒。默认值:30 秒。

      • UDP 流超时:空闲 UDP 流的超时时间(秒),这些流被归类为已看到多个请求-响应事务的流。最小值:60 秒。最大值:180 秒(3 分钟)。默认值:180 秒。

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

  8. 选择创建网络接口

AWS CLI
创建 EFA

使用 create-network-interface 命令。对于 --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 cmdlet。对于 -InterfaceType,针对 EFA 网络接口指定 efa 或针对仅限 EFA 的网络接口指定 efa-only

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

将 EFA 附加到停止的实例

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

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

在启动实例时附加 EFA

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

使用 run-instances 命令和 --network-interfaces 选项。对于主网络接口,指定 EFA 网络接口以及 NetworkCardIndex=0DeviceIndex=0。要附加多个 EFA 网络接口,请参阅最大化网络带宽

--network-interfaces "NetworkCardIndex=0, \ DeviceIndex=0, \ NetworkInterfaceId=eni-1234567890abcdef0, \ Groups=sg-1234567890abcdef0, \ SubnetId=subnet-0abcdef1234567890"
在启动实例时附加新的 EFA

使用 run-instances 命令和 --network-interfaces 选项。对于主网络接口,使用 NetworkCardIndex=0DeviceIndex=0InterfaceType=efa。如果您要附加多个 EFA 网络接口,请参阅 最大化网络带宽

--network-interfaces "NetworkCardIndex=0, \ DeviceIndex=0, \ InterfaceType=efa, \ Groups=sg-1234567890abcdef0, \ SubnetId=subnet-0abcdef1234567890"
PowerShell
在启动实例时附加现有的 EFA

New-EC2Instance 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 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 添加到启动模板

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

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

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