Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
创建 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)网络接口
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择 Network Interfaces(网络接口),然后选择 Create network interface(创建网络接口)。
-
对于 Description (描述),请输入一个描述性的 EFA 名称。
-
对于 Subnet (子网),请选择要在其中创建 EFA 的子网。
-
接口类型,选择以下选项之一:
-
(仅适用于带 ENA 的 EFA)为网络接口配置 IP 地址和前缀分配。您可以分配的 IP 地址和前缀类型取决于所选的子网。对于仅限 IPv4 的子网,您只能分配 IPv4 IP 地址和前缀。对于仅限 IPv6 的子网,您只能分配 IPv6 IP 地址和前缀。对于双堆栈子网,可同时分配 IPv4 和 IPv6 IP 地址和前缀。
您不能为仅限 EFA 的网络接口分配 IP 地址。
-
对于私有 IPv4 地址和/或 IPv6 地址,选择自动分配以使 Amazon EC2 从选定子网中自动分配 IP 地址,或选择自定义以手动指定要分配的 IP 地址。
-
如果您分配 IPv6 地址,则可以选择启用分配主 IPv6 IP。此操作将为网络接口分配一个主 IPv6 全局单播地址(GUA)。分配主要 IPv6 地址使您能够避免中断实例或 ENI 的流量。有关更多信息,请参阅 IPv6 地址。
-
对于 IPv4 前缀委派和/或 IPv6 前缀委派,选择自动分配以使 Amazon EC2 自动从子网的 CIDR 块中分配前缀,或选择自定义以从子网的 CIDR 块中手动指定前缀。如果您指定前缀,则 Amazon 会验证其是否已分配给其他资源。有关更多信息,请参阅 Amazon EC2 网络接口的前缀委派。
-
(可选)配置空闲连接跟踪超时设置。有关更多信息,请参阅 空闲连接跟踪超时。
-
TCP 建立超时:处于已建立状态的空闲 TCP 连接的超时时间(秒)。最小值:60 秒。最大值:432000 秒(5 天)。默认值:432000 秒。建议值:小于 432000 秒。
-
UDP 超时:空闲 UDP 流的超时时间(秒),这些流仅在单个方向或单个请求-响应事务中看到流量。最小值:30 秒。最大值:60 秒。默认值:30 秒。
-
UDP 流超时:空闲 UDP 流的超时时间(秒),这些流被归类为已看到多个请求-响应事务的流。最小值:60 秒。最大值:180 秒(3 分钟)。默认值:180 秒。
-
对于 Security groups,选择一个或多个安全组。
-
选择创建网络接口。
- Amazon 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
- Amazon CLI
-
在启动实例时附加现有的 EFA
使用 run-instances 命令和 --network-interfaces
选项。对于主网络接口,指定 EFA 网络接口以及 NetworkCardIndex=0
、DeviceIndex=0
。要附加多个 EFA 网络接口,请参阅最大化网络带宽。
--network-interfaces "NetworkCardIndex=0, \
DeviceIndex=0, \
NetworkInterfaceId=eni-1234567890abcdef0
, \
Groups=sg-1234567890abcdef0
, \
SubnetId=subnet-0abcdef1234567890
"
在启动实例时附加新的 EFA
使用 run-instances 命令和 --network-interfaces
选项。对于主网络接口,使用 NetworkCardIndex=0
、DeviceIndex=0
和 InterfaceType=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=0
、DeviceIndex=0
和 InterfaceType=efa
。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽。
您可以利用启动模板通过其他 Amazon 服务(如 Amazon Batch 或 Amazon ParallelCluster)启动启用了 EFA 的实例。
有关创建启动模板的更多信息,请参阅创建 Amazon EC2 启动模板。