本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 最大化加速運算執行個體的網路頻寬 EFA
若要將下列加速執行個體類型的頻寬最大化,您可以使用多個 Elastic Fabric Adapter (EFA) 介面。
-
P5 和 P5e 執行個體最多支援 32 個網路卡,並且可提供高達 3200 Gbps 的網路頻寬。
-
G6e 執行個體最多支援四個網路卡,並提供高達 400 Gbps 的網路頻寬
如需開始使用GPU加速執行個體的詳細資訊,請參閱 執行個體的效能加速 GPU 。
建議您為每個EFA網路卡定義單一網路介面。若要在啟動時設定這些介面,我們建議進行下列設定:
-
對於網路介面
0
,指定裝置索引0
-
對於網路介面
1
至31
,指定裝置索引1
如果您使用的是 Amazon EC2主控台,請在啟動執行個體精靈中選擇網路設定區段中的編輯。展開進階網路組態並選擇新增網路介面以新增所需數量的網路介面。針對每個網路介面,針對 EFA,選取啟用 。對於所有網路介面 (主要網路介面除外),針對裝置索引指定 1
。視需要進行其餘的設定。
如果您使用的是 AWS CLI,請使用 run-instances 命令,對於 --network-interfaces
,請指定所需的網路介面數量。對於每個網路介面,針對 InterfaceType
指定 efa
。對於主要網路介面,針對 NetworkCardIndex
和 DeviceIndex
指定 0
。對於剩餘的網路介面,針對 NetworkCardIndex
指定從 1
至 31
的唯一值,以及針對 DeviceIndex
指定 1
。
下列命令程式碼片段範例顯示具有 32 個EFA網路介面的請求。
$
aws --region $REGION ec2 run-instances \ --instance-type p5.48xlarge \ --count 1 \ --key-namekey_pair_name
\ --image-idami_id
\ --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=1,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=2,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=3,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=4,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=5,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=6,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=7,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=8,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=9,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=10,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=11,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=12,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=13,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=14,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=15,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=16,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=17,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=18,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=19,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=20,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=21,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=22,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=23,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=24,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=25,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=26,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=27,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=28,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=29,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=30,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" \ "NetworkCardIndex=31,DeviceIndex=1,Groups=security_group_id
,SubnetId=subnet_id
,InterfaceType=efa" ...
如果您使用的是啟動範本,請在啟動範本中指定所需的網路介面數量。對於每個網路介面,針對 InterfaceType
指定 efa
。對於主要網路介面,針對 NetworkCardIndex
和 DeviceIndex
指定 0
。對於剩餘的網路介面,針對 NetworkCardIndex
指定從 1
至 31
的唯一值,以及針對 DeviceIndex
指定 1
。下面的程式碼片段顯示了一個範例,其中包含可能的 32 個網路介面中的 3 個網路介面。
"NetworkInterfaces":[ { "NetworkCardIndex":0, "DeviceIndex":0, "InterfaceType": "efa", "AssociatePublicIpAddress":false, "Groups":[ "
security_group_id
" ], "DeleteOnTermination":true }, { "NetworkCardIndex": 1, "DeviceIndex": 1, "InterfaceType": "efa", "AssociatePublicIpAddress":false, "Groups":[ "security_group_id
" ], "DeleteOnTermination":true }, { "NetworkCardIndex": 2, "DeviceIndex": 1, "InterfaceType": "efa", "AssociatePublicIpAddress":false, "Groups":[ "security_group_id
" ], "DeleteOnTermination":true } ...
使用多個網路介面啟動 P5 或 P5e 執行個體時,您無法自動指派公有 IP 地址。不過,您可以在啟動網際網路連線之後,將彈性 IP 地址連接至主要網路介面 (NetworkCardIndex=0, DeviceIndex=0)。Ubuntu 20.04 和更新版本以及 Amazon Linux 2 和更新版本都設定為在執行個體啟動時,使用主要網路介面進行網際網路流量,如本頁所建議。
若要在 G6e 執行個體上達到最高網路效能,您可以使用 IMDS 來映射連接的網路介面,並在取消連線 上使用網路執行個體進行最佳化 NetworkCardIndexes。
下列範例指令碼會從附加的 彙整詳細資訊 NetworkCardIndexes。
$ TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X- aws-ec2-metadata-token-ttl-seconds: 21600") count=$(ls -l /sys/class/net/eth* | wc -l) for ((i = 0 ; i < ${count} ; i++)); do mac=$(cat /sys/class/net/eth$i/address) network_card=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" "http://169.254.169.254/latest/meta-data/network/interfaces/macs/$mac/ network-card") device_number=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" "http://169.254.169.254/latest/meta-data/network/interfaces/macs/$mac/ device-number") device_bdf=$(realpath /sys/class/net/eth${i}/device) echo "eth${i} ${network_card} ${device_number} ${device_bdf}" done