创建 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 后,您无法将其移动到另一个子网,并且只能将其附加到同一可用区中的已停止实例。
将 EFA 附加到停止的实例
您可以将 EFA 附加到处于 stopped
状态的任何支持的实例。您无法将 EFA 附加到处于 running
状态的实例。有关支持的实例类型的更多信息,请参阅支持的实例类型。
您可以使用将网络接口连接到实例的相同方式将 EFA 连接到实例。有关更多信息,请参阅附加网络接口。
在启动实例时附加 EFA
在启动实例(AWS CLI)时附加现有的 EFA
可以使用 run-instances 命令。对于 --network-interfaces
,请指定要附加的 EFA 网络接口。对于主网络接口,指定 EFA 网络接口以及 NetworkCardIndex=0
、DeviceIndex=0
。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽。
aws ec2 run-instances \ --image-id
ami_id
\ --count1
\ --instance-typec5n.18xlarge
\ --key-namemy_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=0
、DeviceIndex=0
和 InterfaceType=efa
。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽。
aws ec2 run-instances \ --image-id
ami_id
\ --count1
\ --instance-typec5n.18xlarge
\ --key-namemy_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=0
、DeviceIndex=0
和 InterfaceType=efa
。如果您要附加多个 EFA 网络接口,请参阅 使用多网卡最大化 Amazon EC2 实例上的网络带宽。
您可以利用启动模板通过其他 AWS 服务(如 AWS Batch 或 AWS ParallelCluster)启动启用了 EFA 的实例。
有关创建启动模板的更多信息,请参阅创建 Amazon EC2 启动模板。