

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.

# Die Netzwerkleistung zwischen EC2-Instances mit ENA Express verbessern
<a name="ena-express"></a>

ENA Express basiert auf der SRD-Technologie ( AWS Scalable Reliable Datagram). SRD ist ein leistungsstarkes Netzwerktransportprotokoll, das dynamisches Routing verwendet, um den Durchsatz zu erhöhen und die Tail-Latenz zu minimieren. Mit ENA Express können Sie zwischen zwei EC2-Instances in derselben Availability Zone oder zwischen Availability Zones innerhalb derselben Region kommunizieren.

**Vorteile von ENA Express**
+ Erhöht die maximale Bandbreite, die ein einzelner Flow nutzen kann, von 5 Gbit/s auf bis zu 25 Gbit/s innerhalb derselben Region bis zum aggregierten Instance-Limit.
+ Reduziert die Latenz des Netzwerkverkehrs zwischen EC2-Instances in derselben Availability Zone, insbesondere in Zeiten hoher Netzwerklast.
+ Erkennt und vermeidet überlastete Netzwerkpfade.
+ Führt einige Aufgaben direkt auf der Netzwerkebene aus, z. B. die Neuordnung von Paketen auf der Empfängerseite und die meisten erforderlichen Neuübertragungen. Dadurch wird die Anwendungsebene für andere Arbeiten freigegeben.

**Anmerkung**  
Wenn Ihre Anwendung hohe Anforderungen an Pakete pro Sekunde hat und die Latenz in Zeiten ohne Überlastung optimiert werden muss, ist dies möglicherweise besser geeignet. [Enhanced Networking](enhanced-networking.md)
ENA-Express-Datenverkehr kann nicht in einer Local Zone gesendet werden.
ENA Express-Support für Verkehr zwischen Availability Zones ist in Südamerika (São Paulo), dem Nahen Osten (Bahrain) und dem Nahen Osten (VAE) nicht verfügbar.

Nachdem Sie ENA Express für den Netzwerkschnittstellen-Anhang auf einer Instance aktiviert haben, initiiert die sendende Instance die Kommunikation mit der empfangenden Instance und SRD erkennt, ob ENA Express sowohl auf der sendenden als auch auf der empfangenden Instance ausgeführt wird. Wenn ENA Express in Betrieb ist, kann die Kommunikation eine SRD-Übertragung verwenden. Wenn ENA Express nicht funktioniert, fällt die Kommunikation auf die standardmäßige ENA-Übertragung zurück.

In Zeiten mit geringem Netzwerkverkehr stellen Sie möglicherweise einen leichten Anstieg der mittleren Paketlatenz (mehrere zehn Mikrosekunden) fest, wenn das Paket ENA Express verwendet. Während dieser Zeiten können Anwendungen, die bestimmte Netzwerkleistungsmerkmale priorisieren, von ENA Express wie folgt profitieren:
+ Prozesse können von einer erhöhten maximalen Single-Flow-Bandbreite von 5 Gbit/s bis zu 25 Gbit/s innerhalb derselben Region bis hin zum aggregierten Instance-Limit profitieren. Wenn ein bestimmter Instance-Typ beispielsweise bis zu 12,5 Gbit/s unterstützt, ist die Single-Flow-Bandbreite ebenfalls auf 12,5 Gbit/s begrenzt.
+ Bei länger laufenden Prozessen in derselben Availability Zone wird die Latenz am Ende reduziert, wenn das Netzwerk überlastet ist.
+ Prozesse können von einer gleichmäßigeren und einheitlicheren Verteilung der Reaktionszeiten des Netzwerks profitieren.

**Topics**
+ [So funktioniert ENA Express](#ena-express-how-it-works)
+ [Unterstützte Instance-Typen für ENA Express](#ena-express-supported-instance-types)
+ [Die Leistung der ENA-Express-Einstellungen auf Linux-Instances erhöhen](#ena-express-tune)
+ [Prüfen der ENA-Express-Einstellungen für Ihre EC2-Instance](ena-express-list-view.md)
+ [Konfiguration der ENA-Express-Einstellungen für Ihre EC2-Instance](ena-express-configure.md)

## So funktioniert ENA Express
<a name="ena-express-how-it-works"></a>

ENA Express basiert auf der SRD-Technologie ( AWS Scalable Reliable Datagram). Sie verteilt Pakete für jeden Netzwerkfluss auf verschiedene AWS Netzwerkpfade und passt die Verteilung dynamisch an, wenn Anzeichen einer Überlastung erkannt werden. Sie verwaltet auch die Neuordnung von Paketen auf der Empfängerseite.

Um sicherzustellen, dass ENA Express den Netzwerkverkehr wie vorgesehen verwalten kann, müssen sendende und empfangende Instances, sowie die Kommunikation zwischen ihnen, alle nachstehenden Anforderungen erfüllen:
+ Sowohl sendende als auch empfangende Instance-Typen werden unterstützt. Weitere Informationen finden Sie in der [Unterstützte Instance-Typen für ENA Express](#ena-express-supported-instance-types)-Tabelle.
+ Sowohl die sendenden als auch die empfangenden Instances müssen ENA Express konfiguriert haben. Wenn es Unterschiede in der Konfiguration gibt, kann es zu Situationen kommen, in denen der Datenverkehr standardmäßig auf die ENA-Standardübertragung umgestellt wird. Das folgende Szenario zeigt, was in diesem Fall passieren kann.

  **Szenario: Unterschiede in der Konfiguration**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/ena-express.html)

  In diesem Fall kann für den TCP-Verkehr zwischen den beiden Instances ENA Express verwendet werden, da beide Instances dies aktiviert haben. Da jedoch eine der Instances ENA Express nicht für den UDP-Verkehr verwendet, verwendet die Kommunikation zwischen diesen beiden Instances via UDP die ENA-Standardübertragung.
+ Die sendenden und empfangenden Instances müssen in derselben Region ausgeführt werden.
+ Der Netzwerkpfad zwischen den Instances darf keine Middleware-Boxen enthalten. ENA Express unterstützt derzeit keine Middleware-Boxen.
+ (Nur Linux-Instances) Um das volle Bandbreitenpotenzial zu nutzen, verwenden Sie die Treiberversion 2.2.9 oder höher.
+ (Nur Linux-Instances) Verwenden Sie zum Erstellen von Metriken die Treiberversion 2.8 oder höher.

Wenn eine Anforderung nicht erfüllt ist, verwenden die Instances für die Kommunikation das TCP/UDP Standardprotokoll, jedoch ohne SRD.

Um sicherzustellen, dass Ihr Instance-Netzwerktreiber für eine optimale Leistung konfiguriert ist, lesen Sie sich die empfohlenen bewährten Methoden für ENA-Treiber durch. Diese bewährten Methoden gelten auch für ENA Express. Weitere Informationen finden Sie im [ENA Linux Driver Best Practices and Performance Optimization Guide](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/ENA_Linux_Best_Practices.rst) auf der GitHub Website.

**Anmerkung**  
Amazon EC2 bezieht sich auf die Beziehung zwischen einer Instance und einer Netzwerkschnittstelle, die als *Anhang* an sie angehängt ist. Die ENA-Express-Einstellungen gelten für den Anhang. Wenn die Netzwerkschnittstelle von der Instance getrennt ist, existiert der Anhang nicht mehr und die ENA-Express-Einstellungen, die für ihn galten, sind nicht mehr gültig. Das Gleiche gilt, wenn eine Instance beendet wird, auch wenn die Netzwerkschnittstelle erhalten bleibt.

Nachdem Sie ENA Express für die Netzwerkschnittstellen-Anhänge sowohl auf der sendenden als auch auf der empfangenden Instance aktiviert haben, können Sie ENA-Express-Metriken verwenden, um dabei zu helfen, sicherzustellen, dass Ihre Instances die Leistungsverbesserungen der SRD-Technologie voll ausschöpfen. Weitere Informationen zu ENA-Express-Metriken finden Sie unter [Metriken für ENA Express](monitoring-network-performance-ena.md#network-performance-metrics-ena-express).

## Unterstützte Instance-Typen für ENA Express
<a name="ena-express-supported-instance-types"></a>

Folgende Instance-Typen unterstützen ENA Express.

------
#### [ General purpose ]


| Instance-Typ | Architektur | 
| --- | --- | 
| m6a.12xlarge | x86\_64 | 
| m6a.16xlarge | x86\_64 | 
| m6a.24xlarge | x86\_64 | 
| m6a.32xlarge | x86\_64 | 
| m6a.48xlarge | x86\_64 | 
| m6a.metal | x86\_64 | 
| m6i.8xlarge | x86\_64 | 
| m6i.12xlarge | x86\_64 | 
| m6i.16xlarge | x86\_64 | 
| m6i.24xlarge | x86\_64 | 
| m6i.32xlarge | x86\_64 | 
| m6i.metal | x86\_64 | 
| m6id.8xlarge | x86\_64 | 
| m6id.12xlarge | x86\_64 | 
| m6id.16xlarge | x86\_64 | 
| m6id.24xlarge | x86\_64 | 
| m6id.32xlarge | x86\_64 | 
| m6id.metal | x86\_64 | 
| m6idn.8xlarge | x86\_64 | 
| m6idn.12xlarge | x86\_64 | 
| m6idn.16xlarge | x86\_64 | 
| m6idn.24xlarge | x86\_64 | 
| m6idn.32xlarge | x86\_64 | 
| m6idn.metal | x86\_64 | 
| m6in.8xlarge | x86\_64 | 
| m6in.12xlarge | x86\_64 | 
| m6in.16xlarge | x86\_64 | 
| m6in.24xlarge | x86\_64 | 
| m6in.32xlarge | x86\_64 | 
| m6in.metal | x86\_64 | 
| m7a.12xlarge | x86\_64 | 
| m7a.16xlarge | x86\_64 | 
| m7a.24xlarge | x86\_64 | 
| m7a.32xlarge | x86\_64 | 
| m7a.48xlarge | x86\_64 | 
| m7a.metal-48xl | x86\_64 | 
| m7g.12xlarge | arm64 | 
| m7g.16xlarge | arm64 | 
| m7g.metal | arm64 | 
| m7gd.12xlarge | arm64 | 
| m7gd.16xlarge | arm64 | 
| m7gd.metal | arm64 | 
| m7i.12xlarge | x86\_64 | 
| m7i.16xlarge | x86\_64 | 
| m7i.24xlarge | x86\_64 | 
| m7i.48xlarge | x86\_64 | 
| m7i.metal-24xl | x86\_64 | 
| m7i.metal-48xl | x86\_64 | 
| m8a.16xlarge | x86\_64 | 
| m8a.24xlarge | x86\_64 | 
| m8a.48xlarge | x86\_64 | 
| m8a.metal-24xl | x86\_64 | 
| m8a.metal-48xl | x86\_64 | 
| m8azn.12xlarge | x86\_64 | 
| m8azn.24xlarge | x86\_64 | 
| m8azn.metal-12xl | x86\_64 | 
| m8azn.metal-24xl | x86\_64 | 
| m8g.12xlarge | arm64 | 
| m8g.16xlarge | arm64 | 
| m8g.24xlarge | arm64 | 
| m8g.48xlarge | arm64 | 
| m8g.metal-24xl | arm64 | 
| m8g.metal-48xl | arm64 | 
| m8gb.8xlarge | arm64 | 
| m8gb.12xlarge | arm64 | 
| m8gb.16xlarge | arm64 | 
| m8gb.24xlarge | arm64 | 
| m8gb.48xlarge | arm64 | 
| m8gb.metal-24xl | arm64 | 
| m8gb.metal-48xl | arm64 | 
| m8gd.12xlarge | arm64 | 
| m8gd.16xlarge | arm64 | 
| m8gd.24xlarge | arm64 | 
| m8gd.48xlarge | arm64 | 
| m8gd.metal-24xl | arm64 | 
| m8gd.metal-48xl | arm64 | 
| m8gn.8xlarge | arm64 | 
| m8gn.12xlarge | arm64 | 
| m8gn.16xlarge | arm64 | 
| m8gn.24xlarge | arm64 | 
| m8gn.48xlarge | arm64 | 
| m8gn.metal-24xl | arm64 | 
| m8gn.metal-48xl | arm64 | 
| m8i.24xlarge | x86\_64 | 
| m8i.32xlarge | x86\_64 | 
| m8i.48xlarge | x86\_64 | 
| m8i.96xlarge | x86\_64 | 
| m8i.metal-48xl | x86\_64 | 
| m8i.metal-96xl | x86\_64 | 
| m8id.24xlarge | x86\_64 | 
| m8id.32xlarge | x86\_64 | 
| m8id.48xlarge | x86\_64 | 
| m8id.96xlarge | x86\_64 | 
| m8id.metal-48xl | x86\_64 | 
| m8id.metal-96xl | x86\_64 | 
| m8in.12xlarge | x86\_64 | 
| m8in.16xlarge | x86\_64 | 
| m8in.24xlarge | x86\_64 | 
| m8in.32xlarge | x86\_64 | 
| m8in.48xlarge | x86\_64 | 
| m8in.96xlarge | x86\_64 | 
| m8idn.12xlarge | x86\_64 | 
| m8idn.16xlarge | x86\_64 | 
| m8idn.24xlarge | x86\_64 | 
| m8idn.32xlarge | x86\_64 | 
| m8idn.48xlarge | x86\_64 | 
| m8idn.96xlarge | x86\_64 | 
| m8ib.12xlarge | x86\_64 | 
| m8ib.16xlarge | x86\_64 | 
| m8ib.24xlarge | x86\_64 | 
| m8ib.32xlarge | x86\_64 | 
| m8ib.48xlarge | x86\_64 | 
| m8ib.96xlarge | x86\_64 | 
| m8idb.12xlarge | x86\_64 | 
| m8idb.16xlarge | x86\_64 | 
| m8idb.24xlarge | x86\_64 | 
| m8idb.32xlarge | x86\_64 | 
| m8idb.48xlarge | x86\_64 | 
| m8idb.96xlarge | x86\_64 | 

------
#### [ Compute optimized ]


| Instance-Typ | Architektur | 
| --- | --- | 
| c6a.12xlarge | x86\_64 | 
| c6a.16xlarge | x86\_64 | 
| c6a.24xlarge | x86\_64 | 
| c6a.32xlarge | x86\_64 | 
| c6a.48xlarge | x86\_64 | 
| c6a.metal | x86\_64 | 
| c6gn.4xlarge | arm64 | 
| c6gn.8xlarge | arm64 | 
| c6gn.12xlarge | arm64 | 
| c6gn.16xlarge | arm64 | 
| c6i.8xlarge | x86\_64 | 
| c6i.12xlarge | x86\_64 | 
| c6i.16xlarge | x86\_64 | 
| c6i.24xlarge | x86\_64 | 
| c6i.32xlarge | x86\_64 | 
| c6i.metal | x86\_64 | 
| c6id.8xlarge | x86\_64 | 
| c6id.12xlarge | x86\_64 | 
| c6id.16xlarge | x86\_64 | 
| c6id.24xlarge | x86\_64 | 
| c6id.32xlarge | x86\_64 | 
| c6id.metal | x86\_64 | 
| c6in.8xlarge | x86\_64 | 
| c6in.12xlarge | x86\_64 | 
| c6in.16xlarge | x86\_64 | 
| c6in.24xlarge | x86\_64 | 
| c6in.32xlarge | x86\_64 | 
| c6in.metal | x86\_64 | 
| c7a.12xlarge | x86\_64 | 
| c7a.16xlarge | x86\_64 | 
| c7a.24xlarge | x86\_64 | 
| c7a.32xlarge | x86\_64 | 
| c7a.48xlarge | x86\_64 | 
| c7a.metal-48xl | x86\_64 | 
| c7g.12xlarge | arm64 | 
| c7g.16xlarge | arm64 | 
| c7g.metal | arm64 | 
| c7gd.12xlarge | arm64 | 
| c7gd.16xlarge | arm64 | 
| c7gd.metal | arm64 | 
| c7gn.4xlarge | arm64 | 
| c7gn.8xlarge | arm64 | 
| c7gn.12xlarge | arm64 | 
| c7gn.16xlarge | arm64 | 
| c7gn.metal | arm64 | 
| c7i.12xlarge | x86\_64 | 
| c7i.16xlarge | x86\_64 | 
| c7i.24xlarge | x86\_64 | 
| c7i.48xlarge | x86\_64 | 
| c7i.metal-24xl | x86\_64 | 
| c7i.metal-48xl | x86\_64 | 
| c8a.16xlarge | x86\_64 | 
| c8a.24xlarge | x86\_64 | 
| c8a.48xlarge | x86\_64 | 
| c8a.metal-24xl | x86\_64 | 
| c8a.metal-48xl | x86\_64 | 
| c8g.12xlarge | arm64 | 
| c8g.16xlarge | arm64 | 
| c8g.24xlarge | arm64 | 
| c8g.48xlarge | arm64 | 
| c8g.metal-24xl | arm64 | 
| c8g.metal-48xl | arm64 | 
| c8gb.8xlarge | arm64 | 
| c8gb.12xlarge | arm64 | 
| c8gb.16xlarge | arm64 | 
| c8gb.24xlarge | arm64 | 
| c8gb.48xlarge | arm64 | 
| c8gb.metal-24xl | arm64 | 
| c8gb.metal-48xl | arm64 | 
| c8gd.12xlarge | arm64 | 
| c8gd.16xlarge | arm64 | 
| c8gd.24xlarge | arm64 | 
| c8gd.48xlarge | arm64 | 
| c8gd.metal-24xl | arm64 | 
| c8gd.metal-48xl | arm64 | 
| c8gn.8xlarge | arm64 | 
| c8gn.12xlarge | arm64 | 
| c8gn.16xlarge | arm64 | 
| c8gn.24xlarge | arm64 | 
| c8gn.48xlarge | arm64 | 
| c8gn.metal-24xl | arm64 | 
| c8gn.metal-48xl | arm64 | 
| c8i.24xlarge | x86\_64 | 
| c8i.32xlarge | x86\_64 | 
| c8i.48xlarge | x86\_64 | 
| c8i.96xlarge | x86\_64 | 
| c8i.metal-48xl | x86\_64 | 
| c8i.metal-96xl | x86\_64 | 
| c8id.24xlarge | x86\_64 | 
| c8id.32xlarge | x86\_64 | 
| c8id.48xlarge | x86\_64 | 
| c8id.96xlarge | x86\_64 | 
| c8id.metal-48xl | x86\_64 | 
| c8id.metal-96xl | x86\_64 | 
| c8in.12xlarge | x86\_64 | 
| c8in.16xlarge | x86\_64 | 
| c8in.24xlarge | x86\_64 | 
| c8in.32xlarge | x86\_64 | 
| c8in.48xlarge | x86\_64 | 
| c8in.96xlarge | x86\_64 | 
| c8in.metal-48xl | x86\_64 | 
| c8in.metal-96xl | x86\_64 | 
| c8ib.12xlarge | x86\_64 | 
| c8ib.16xlarge | x86\_64 | 
| c8ib.24xlarge | x86\_64 | 
| c8ib.32xlarge | x86\_64 | 
| c8ib.48xlarge | x86\_64 | 
| c8ib.96xlarge | x86\_64 | 
| c8ib.metal-48xl | x86\_64 | 
| c8ib.metal-96xl | x86\_64 | 

------
#### [ Memory optimized ]


| Instance-Typ | Architektur | 
| --- | --- | 
| r6a.12xlarge | x86\_64 | 
| r6a.16xlarge | x86\_64 | 
| r6a.24xlarge | x86\_64 | 
| r6a.32xlarge | x86\_64 | 
| r6a.48xlarge | x86\_64 | 
| r6a.metal | x86\_64 | 
| r6i.8xlarge | x86\_64 | 
| r6i.12xlarge | x86\_64 | 
| r6i.16xlarge | x86\_64 | 
| r6i.24xlarge | x86\_64 | 
| r6i.32xlarge | x86\_64 | 
| r6i.metal | x86\_64 | 
| r6id.8xlarge | x86\_64 | 
| r6id.12xlarge | x86\_64 | 
| r6id.16xlarge | x86\_64 | 
| r6id.24xlarge | x86\_64 | 
| r6id.32xlarge | x86\_64 | 
| r6id.metal | x86\_64 | 
| r6idn.8xlarge | x86\_64 | 
| r6idn.12xlarge | x86\_64 | 
| r6idn.16xlarge | x86\_64 | 
| r6idn.24xlarge | x86\_64 | 
| r6idn.32xlarge | x86\_64 | 
| r6idn.metal | x86\_64 | 
| r6in.8xlarge | x86\_64 | 
| r6in.12xlarge | x86\_64 | 
| r6in.16xlarge | x86\_64 | 
| r6in.24xlarge | x86\_64 | 
| r6in.32xlarge | x86\_64 | 
| r6in.metal | x86\_64 | 
| r7a.12xlarge | x86\_64 | 
| r7a.16xlarge | x86\_64 | 
| r7a.24xlarge | x86\_64 | 
| r7a.32xlarge | x86\_64 | 
| r7a.48xlarge | x86\_64 | 
| r7a.metal-48xl | x86\_64 | 
| r7g.12xlarge | arm64 | 
| r7g.16xlarge | arm64 | 
| r7g.metal | arm64 | 
| r7gd.12xlarge | arm64 | 
| r7gd.16xlarge | arm64 | 
| r7gd.metal | arm64 | 
| r7i.12xlarge | x86\_64 | 
| r7i.16xlarge | x86\_64 | 
| r7i.24xlarge | x86\_64 | 
| r7i.48xlarge | x86\_64 | 
| r7i.metal-24xl | x86\_64 | 
| r7i.metal-48xl | x86\_64 | 
| r7iz.8xlarge | x86\_64 | 
| r7iz.12xlarge | x86\_64 | 
| r7iz.16xlarge | x86\_64 | 
| r7iz.32xlarge | x86\_64 | 
| r7iz.metal-16xl | x86\_64 | 
| r7iz.metal-32xl | x86\_64 | 
| r8a.16xlarge | x86\_64 | 
| r8a.24xlarge | x86\_64 | 
| r8a.48xlarge | x86\_64 | 
| r8a.metal-24xl | x86\_64 | 
| r8a.metal-48xl | x86\_64 | 
| r8g.12xlarge | arm64 | 
| r8g.16xlarge | arm64 | 
| r8g.24xlarge | arm64 | 
| r8g.48xlarge | arm64 | 
| r8g.metal-24xl | arm64 | 
| r8g.metal-48xl | arm64 | 
| r8gb.8xlarge | arm64 | 
| r8gb.12xlarge | arm64 | 
| r8gb.16xlarge | arm64 | 
| r8gb.24xlarge | arm64 | 
| r8gb.48xlarge | arm64 | 
| r8gb.metal-24xl | arm64 | 
| r8gb.metal-48xl | arm64 | 
| r8gd.12xlarge | arm64 | 
| r8gd.16xlarge | arm64 | 
| r8gd.24xlarge | arm64 | 
| r8gd.48xlarge | arm64 | 
| r8gd.metal-24xl | arm64 | 
| r8gd.metal-48xl | arm64 | 
| r8gn.8xlarge | arm64 | 
| r8gn.12xlarge | arm64 | 
| r8gn.16xlarge | arm64 | 
| r8gn.24xlarge | arm64 | 
| r8gn.48xlarge | arm64 | 
| r8gn.metal-24xl | arm64 | 
| r8gn.metal-48xl | arm64 | 
| r8i.24xlarge | x86\_64 | 
| r8i.32xlarge | x86\_64 | 
| r8i.48xlarge | x86\_64 | 
| r8i.96xlarge | x86\_64 | 
| r8i.metal-48xl | x86\_64 | 
| r8i.metal-96xl | x86\_64 | 
| r8id.24xlarge | x86\_64 | 
| r8id.32xlarge | x86\_64 | 
| r8id.48xlarge | x86\_64 | 
| r8id.96xlarge | x86\_64 | 
| r8id.metal-48xl | x86\_64 | 
| r8id.metal-96xl | x86\_64 | 
| r8in.12xlarge | x86\_64 | 
| r8in.16xlarge | x86\_64 | 
| r8in.24xlarge | x86\_64 | 
| r8in.32xlarge | x86\_64 | 
| r8in.48xlarge | x86\_64 | 
| r8in.96xlarge | x86\_64 | 
| r8idn.12xlarge | x86\_64 | 
| r8idn.16xlarge | x86\_64 | 
| r8idn.24xlarge | x86\_64 | 
| r8idn.32xlarge | x86\_64 | 
| r8idn.48xlarge | x86\_64 | 
| r8idn.96xlarge | x86\_64 | 
| r8ib.12xlarge | x86\_64 | 
| r8ib.16xlarge | x86\_64 | 
| r8ib.24xlarge | x86\_64 | 
| r8ib.32xlarge | x86\_64 | 
| r8ib.48xlarge | x86\_64 | 
| r8ib.96xlarge | x86\_64 | 
| r8idb.12xlarge | x86\_64 | 
| r8idb.16xlarge | x86\_64 | 
| r8idb.24xlarge | x86\_64 | 
| r8idb.32xlarge | x86\_64 | 
| r8idb.48xlarge | x86\_64 | 
| r8idb.96xlarge | x86\_64 | 
| u7i-6tb.112xlarge | x86\_64 | 
| u7i-8tb.112xlarge | x86\_64 | 
| u7i-12tb.224xlarge | x86\_64 | 
| u7in-16tb.224xlarge | x86\_64 | 
| u7in-24tb.224xlarge | x86\_64 | 
| u7in-32tb.224xlarge | x86\_64 | 
| u7inh-32tb.480xlarge | x86\_64 | 
| x2idn.16xlarge | x86\_64 | 
| x2idn.24xlarge | x86\_64 | 
| x2idn.32xlarge | x86\_64 | 
| x2idn.metal | x86\_64 | 
| x2iedn.8xlarge | x86\_64 | 
| x2iedn.16xlarge | x86\_64 | 
| x2iedn.24xlarge | x86\_64 | 
| x2iedn.32xlarge | x86\_64 | 
| x2iedn.metal | x86\_64 | 
| x8g.12xlarge | arm64 | 
| x8g.16xlarge | arm64 | 
| x8g.24xlarge | arm64 | 
| x8g.48xlarge | arm64 | 
| x8g.metal-24xl | arm64 | 
| x8g.metal-48xl | arm64 | 
| x8aedz.24xlarge | x86\_64 | 
| x8aedz.metal-24xl | x86\_64 | 
| x8i.24xlarge | x86\_64 | 
| x8i.32xlarge | x86\_64 | 
| x8i.48xlarge | x86\_64 | 
| x8i.64xlarge | x86\_64 | 
| x8i.96xlarge | x86\_64 | 
| x8i.metal-48xl | x86\_64 | 
| x8i.metal-96xl | x86\_64 | 

------
#### [ Accelerated computing ]


| Instance-Typ | Architektur | 
| --- | --- | 
| g6.48xlarge | x86\_64 | 
| g6e.12xlarge | x86\_64 | 
| g6e.24xlarge | x86\_64 | 
| g6e.48xlarge | x86\_64 | 
| g7e.12xlarge | x86\_64 | 
| g7e.24xlarge | x86\_64 | 
| g7e.48xlarge | x86\_64 | 
| p5.4xlarge | x86\_64 | 
| p5.48xlarge | x86\_64 | 
| p5e.48xlarge | x86\_64 | 
| p5en.48xlarge | x86\_64 | 
| p6-b200.48xlarge | x86\_64 | 
| p6-b300.48xlarge | x86\_64 | 

------
#### [ Storage optimized ]


| Instance-Typ | Architektur | 
| --- | --- | 
| i4g.4xlarge | arm64 | 
| i4g.8xlarge | arm64 | 
| i4g.16xlarge | arm64 | 
| i4i.8xlarge | x86\_64 | 
| i4i.12xlarge | x86\_64 | 
| i4i.16xlarge | x86\_64 | 
| i4i.24xlarge | x86\_64 | 
| i4i.32xlarge | x86\_64 | 
| i4i.metal | x86\_64 | 
| i7i.12xlarge | x86\_64 | 
| i7i.16xlarge | x86\_64 | 
| i7i.24xlarge | x86\_64 | 
| i7i.48xlarge | x86\_64 | 
| i7i.metal-24xl | x86\_64 | 
| i7i.metal-48xl | x86\_64 | 
| i7ie.12xlarge | x86\_64 | 
| i7ie.18xlarge | x86\_64 | 
| i7ie.24xlarge | x86\_64 | 
| i7ie.48xlarge | x86\_64 | 
| i7ie.metal-24xl | x86\_64 | 
| i7ie.metal-48xl | x86\_64 | 
| i8g.12xlarge | arm64 | 
| i8g.16xlarge | arm64 | 
| i8g.24xlarge | arm64 | 
| i8g.48xlarge | arm64 | 
| i8g.metal-24xl | arm64 | 
| i8g.metal-48xl | arm64 | 
| i8ge.12xlarge | arm64 | 
| i8ge.18xlarge | arm64 | 
| i8ge.24xlarge | arm64 | 
| i8ge.48xlarge | arm64 | 
| i8ge.metal-24xl | arm64 | 
| i8ge.metal-48xl | arm64 | 
| im4gn.4xlarge | arm64 | 
| im4gn.8xlarge | arm64 | 
| im4gn.16xlarge | arm64 | 

------

## Die Leistung der ENA-Express-Einstellungen auf Linux-Instances erhöhen
<a name="ena-express-tune"></a>

Um sicherzustellen, dass ENA Express effektiv betrieben werden kann, muss Ihre Linux-Instance mehrere Netzwerkkonfigurationsanforderungen erfüllen.

Anstatt jede Einstellung manuell zu konfigurieren, können Sie das ENA Express-Einstellungsprüfskript aus dem GitHub Amazon-Repository herunterladen und ausführen. Das Skript validiert Ihre Instance anhand der erforderlichen und empfohlenen Einstellungen für ENA Express und gibt die genauen Befehle aus, um alle gefundenen Probleme zu beheben.

[https://github.com/amzn/amzn-ec2-ena-utilities/blob/main/ena-express/check-ena-express-settings.sh](https://github.com/amzn/amzn-ec2-ena-utilities/blob/main/ena-express/check-ena-express-settings.sh)

Das Skript überprüft die folgenden Einstellungen und Konfigurationen:
+ **MTU-Größe** — ENA Express benötigt eine niedrigere MTU als die Standardeinstellung, um zusätzliche AWS SRD-Header aufnehmen zu können. Neu eingerichtete TCP-Verbindungen schließen das MSS automatisch ab, um dieses Problem zu minimieren, aber für UDP-Verkehr ist immer noch eine niedrigere MTU erforderlich.
+ **Größenbeschränkung für die TCP-Ausgabewarteschlange** — Überprüft, ob die Byte-Beschränkung pro Socket für die Aufrechterhaltung eines hohen Durchsatzes ausreicht. Umgebungen mit erhöhter Netzwerklatenz erfordern ein höheres Limit.
+ **Byte-Warteschlangenlimit** — Bestätigt, dass das Byte-Warteschlangenlimit (BQL) auf der Netzwerkschnittstelle deaktiviert ist. BQL kann die Datenmenge einschränken, die für die Übertragung auf Geräteebene in die Warteschlange gestellt wird, wodurch die Leistung von ENA Express eingeschränkt wird.
**Anmerkung**  
Der ENA-Treiber für die Amazon-Linux-Distribution deaktiviert standardmäßig die Byte-Warteschlangenlimits.
+ **TCP-Autocorking — Überprüft, ob TCP-Autocorking** deaktiviert ist. Durch die Deaktivierung von Autocorking kann die Latenz für bestimmte ENA Express-TCP-Datenverkehrsmuster reduziert werden, z. B. für Request-Response-Workloads. Dies kann zu einem minimalen Anstieg des Overheads bei der Paketverarbeitung führen.
+ **TX-Warteschlangengröße und Large LLQ** — Überprüft, ob die Größe der Übertragungswarteschlange für die Netzwerkschnittstelle groß genug für eine optimale Leistung ist. Das Skript prüft auch, ob der ENA-Modulparameter die Funktion Large Low Latency Queue (Large LLQ) explizit deaktiviert, da dadurch die verfügbare TX-Warteschlangentiefe reduziert werden kann. Weitere Informationen zu Large LLQ und ihren Auswirkungen auf die Größe der TX-Warteschlange finden Sie unter [Large Low Latency Queue (Large LLQ](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#large-low-latency-queue-large-llq)) on. GitHub
+ **Größe der RX-Warteschlange** — Überprüft, ob der Empfangsringpuffer für die Netzwerkschnittstelle groß genug ist, um eingehenden Datenverkehr effizient zu verarbeiten und Paketverluste unter Last zu vermeiden.
+ **Größe des TCP- und Netzwerk-Socket-Puffers** — Überprüft, ob die maximalen Größen des TCP-Empfangs- und Sendepuffers sowie die Standard- und Maximalwerte für den Core-Netzwerk-Socket-Puffer groß genug sind, um einen hohen Durchsatz aufrechtzuerhalten. Diese Einstellungen sind wichtig in Umgebungen mit erhöhter Netzwerklatenz, in denen Sie größere Puffer benötigen, um die Verbindung zu nutzen.
+ **TCP-Überlastungskontrolle** — Überprüft, ob die Konfiguration der TCP-Überlastungskontrolle für die Verwendung mit ENA Express in Umgebungen mit erhöhter Netzwerklatenz optimiert ist.

Das Skript meldet auch zusätzliche Diagnoseinformationen, darunter die ENA-Treiberversion, ENA-SRD-Statistiken, Interrupt-Moderationseinstellungen, Warteschlangenkonfiguration und Socket-Puffergrößen. Diese Informationen können bei der Behebung von ENA Express-Leistungsproblemen nützlich sein.

Um sicherzustellen, dass Ihr Instance-Netzwerktreiber für eine optimale Leistung konfiguriert ist, lesen Sie auch den [Leitfaden für bewährte Verfahren und Leistungsoptimierung von ENA Linux unter](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/ENA_Linux_Best_Practices.rst)GitHub.