Maximieren Sie die Netzwerkbandbreite auf beschleunigten Recheninstanzen mit EFA - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Maximieren Sie die Netzwerkbandbreite auf beschleunigten Recheninstanzen mit EFA

Um die Bandbreite der folgenden beschleunigten Instance-Typen zu maximieren, können Sie mehrere Elastic Fabric Adapter () -Schnittstellen verwenden. EFA

  • P5-Instances unterstützen bis zu 32 Netzwerkkarten und können bis zu 3200 Gbit/s Netzwerkbandbreite bereitstellen.

  • G6e-Instances unterstützen bis zu vier Netzwerkkarten und können bis zu 400 Gbit/s Netzwerkbandbreite bereitstellen

Weitere Informationen zu den ersten Schritten mit GPU beschleunigten Instances finden Sie unter. Leistungsbeschleunigung mit GPU Instanzen

Es wird empfohlen, eine einzige EFA Netzwerkschnittstelle pro Netzwerkkarte zu definieren. Um diese Schnittstellen beim Start zu konfigurieren, empfehlen wir die folgenden Einstellungen:

  • Für die Netzwerkschnittstelle 0 geben Sie den Geräteindex 0 an.

  • Für die Netzwerkschnittstellen 1 bis 31 geben Sie den Geräteindex 1 an.

Wenn Sie die EC2 Amazon-Konsole verwenden, wählen Sie im Launch Instance Wizard im Abschnitt Netzwerkeinstellungen die Option Bearbeiten aus. Erweitern Sie Erweiterte Netzwerkkonfiguration und wählen Sie Netzwerkschnittstelle hinzufügen, um die erforderliche Anzahl von Netzwerkschnittstellen hinzuzufügen. Wählen Sie für jede Netzwerkschnittstelle die EFAOption Aktivieren aus. Für alle Netzwerkschnittstellen, außer der primären Netzwerkschnittstelle, geben Sie unter Geräteindex den Wert 1 an. Konfigurieren Sie die verbleibenden Einstellungen nach Bedarf.

Wenn Sie den AWS CLI, verwenden Sie den Befehl run-instances, für--network-interfaces, geben Sie die erforderliche Anzahl von Netzwerkschnittstellen an. Geben Sie für jede Netzwerkschnittstelle unter InterfaceType den Typ efa an. Geben Sie für die primäre Netzwerkschnittstelle unter NetworkCardIndex und DeviceIndex jeweils 0 an. Für die übrigen Netzwerkschnittstellen geben Sie unter NetworkCardIndex einen eindeutigen Wert von 1 bis 31 und unter DeviceIndex den Wert 1 an.

Das folgende Beispiel für einen Befehlsausschnitt zeigt eine Anfrage mit 32 Netzwerkschnittstellen. EFA

$ aws --region $REGION ec2 run-instances \ --instance-type p5.48xlarge \ --count 1 \ --key-name key_pair_name \ --image-id ami_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" ...

Geben Sie bei Verwendung einer Startvorlage die erforderliche Anzahl von Netzwerkschnittstellen in der Startvorlage an. Geben Sie für jede Netzwerkschnittstelle unter InterfaceType den Typ efa an. Geben Sie für die primäre Netzwerkschnittstelle unter NetworkCardIndex und DeviceIndex jeweils 0 an. Für die übrigen Netzwerkschnittstellen geben Sie unter NetworkCardIndex einen eindeutigen Wert von 1 bis 31 und unter DeviceIndex den Wert 1 an. Der folgende Ausschnitt zeigt ein Beispiel mit 3 Netzwerkschnittstellen (von möglichen 32 Netzwerkschnittstellen).

"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 } ...

Wenn Sie eine P5-Instance mit mehr als einer Netzwerkschnittstelle starten, können Sie öffentliche IP-Adressen nicht automatisch zuweisen. Sie können jedoch nach dem Start eine Elastic IP-Adresse an die primäre Netzwerkschnittstelle (NetworkCardIndex=0, DeviceIndex =0) anhängen, um eine Internetverbindung herzustellen. Sowohl Ubuntu 20.04 und höher als auch Amazon Linux 2 und höher sind so konfiguriert, dass sie die primäre Netzwerkschnittstelle für den Internetverkehr verwenden, wenn die Instance gestartet wird, wie auf dieser Seite empfohlen.

Um die höchste Netzwerkleistung auf G6e-Instances zu erzielen, können Sie IMDS damit verbundene Netzwerkschnittstellen zuordnen und die Optimierung mithilfe von Netzwerkinstanzen auf disjunkten Instanzen optimieren. NetworkCardIndexes

Das folgende Beispielskript ruft Details aus dem angehängten Skript zusammen. 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