Überlegungen zum Nitro-System für die Leistungsoptimierung - 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.

Überlegungen zum Nitro-System für die Leistungsoptimierung

Das Nitro-System besteht aus einer Sammlung von Hardware- und Softwarekomponenten AWS , die eine hohe Leistung, hohe Verfügbarkeit und hohe Sicherheit ermöglichen. Das Nitro-System bietet Bare-Metal-ähnliche Funktionen, die den Virtualisierungsaufwand reduzieren und Workloads unterstützen, die einen vollständigen Zugriff auf die Host-Hardware erfordern. Weitere Informationen finden Sie unter AWS Nitro System.

Alle EC2 Instance-Typen der aktuellen Generation führen die Verarbeitung von Netzwerkpaketen auf EC2 Nitro-Karten durch. Dieses Thema behandelt die Paketverarbeitung auf hoher Ebene auf der Nitro-Karte, allgemeine Aspekte der Netzwerkarchitektur und -konfiguration, die sich auf die Leistung der Paketverarbeitung auswirken, und welche Maßnahmen Sie ergreifen können, um Spitzenleistung für Ihre Nitro-basierten Instances zu erzielen.

Nitro-Karten verarbeiten den gesamten Ein- und Ausgang (I/O) interfaces, such as those needed for Virtual Private Clouds (VPCs). For all of the components that send or receive information over the network, the Nitro cards act as a self-contained computing device for I/OVerkehr), der physisch von der Hauptplatine des Systems getrennt ist, auf der die Workloads der Kunden ausgeführt werden.

Netzwerk-Paket-Ablauf auf Nitro-Karten

EC2 Instances, die auf dem Nitro-System basieren, verfügen über Hardwarebeschleunigungsfunktionen, die eine schnellere Paketverarbeitung ermöglichen, gemessen an den Durchsatzraten von Paketen pro Sekunde (PPS). Wenn eine Nitro-Karte die erste Evaluierung für einen neuen Ablauf durchführt, speichert sie Informationen, die für alle Pakete im Ablauf identisch sind, wie Sicherheitsgruppen, Zugriffskontrolllisten und Routing-Tabellen-Einträge. Wenn sie zusätzliche Pakete für denselben Datenfluss verarbeitet, kann sie die gespeicherten Informationen verwenden, um den Overhead für diese Pakete zu reduzieren.

Ihre Verbindungsrate wird mit der Metrik „Verbindungen pro Sekunde (CPS)“ gemessen. Jede neue Verbindung erfordert zusätzlichen Verarbeitungsaufwand, der bei den Einschätzungen der Workload-Fähigkeit berücksichtigt werden muss. Es ist wichtig, bei der Gestaltung Ihrer Workloads sowohl die CPS- als auch die PPS-Metriken zu berücksichtigen.

Wie eine Verbindung hergestellt wird

Wenn eine Verbindung zwischen einer Nitro-basierten Instance und einem anderen Endpunkt hergestellt wird, bewertet die Nitro-Karte den gesamten Datenblauf für das erste Paket, das zwischen den beiden Endpunkten gesendet oder empfangen wird. Bei nachfolgenden Paketen desselben Datenflusses ist eine vollständige Neubewertung normalerweise nicht erforderlich. Es gibt jedoch Ausnahmen. Weitere Informationen zu Ausnahmen finden Sie unter Pakete, die keine Hardwarebeschleunigung verwenden.

Die folgenden Eigenschaften definieren die beiden Endpunkte und den Paketablauf zwischen ihnen. Diese fünf Eigenschaften zusammen werden als 5-Tupelfluss bezeichnet.

  • Quell-IP

  • Quell-Port

  • Ziel-IP

  • Ziel-Port

  • Kommunikationsprotokoll

Die Richtung des Paketablaufs wird als Eingang (eingehend) und Ausgang (ausgehend) bezeichnet. Die folgenden allgemeinen Beschreibungen fassen den gesamten Paketfluss im Netzwerk zusammen.

  • Eingang – Wenn eine Nitro-Karte ein eingehendes Netzwerkpaket verarbeitet, bewertet sie das Paket anhand von statusbehafteten Firewallregeln und Zugriffskontrolllisten. Sie verfolgt die Verbindung, misst sie und führt gegebenenfalls weitere Aktionen durch. Anschließend leitet sie das Paket an sein Ziel auf der Host-CPU weiter.

  • Ausgang – Wenn eine Nitro-Karte ein ausgehendes Netzwerkpaket verarbeitet, sucht sie nach dem Remote-Schnittstellenziel, bewertet verschiedene VPC-Funktionen, wendet Ratenbegrenzungen an und führt andere zutreffende Aktionen aus. Anschließend leitet sie das Paket an das nächste Hop-Ziel im Netzwerk weiter.

Gestalten Sie Ihr Netzwerk für optimale Leistung

Um die Leistungsfähigkeit Ihres Nitro-Systems optimal nutzen zu können, müssen Sie wissen, was Ihre Anforderungen an die Netzwerkverarbeitung sind und wie sich diese Anforderungen auf den Workload Ihrer Nitro-Ressourcen auswirken. Anschließend können Sie die optimale Leistung für Ihre Netzwerklandschaft entwerfen. Ihre Infrastruktureinstellungen sowie der Entwurf und die Konfiguration der Anwendungs-Workloads können sich sowohl auf die Paketverarbeitung als auch auf die Verbindungsraten auswirken. Wenn Ihre Anwendung beispielsweise eine hohe Verbindungsaufbaurate aufweist, z. B. ein DNS-Service, eine Firewall oder ein virtueller Router, hat sie weniger Möglichkeiten, die Hardwarebeschleunigung zu nutzen, die erst nach dem Verbindungsaufbau erfolgt.

Sie können Anwendungs- und Infrastruktureinstellungen konfigurieren, um Workloads zu rationalisieren und die Netzwerkleistung zu verbessern. Allerdings sind nicht alle Pakete für eine Beschleunigung geeignet. Das Nitro-System verwendet den gesamten Netzwerkablauf für neue Verbindungen und für Pakete, die nicht für eine Beschleunigung in Frage kommen.

Der Rest dieses Abschnitts konzentriert sich auf Überlegungen zur Anwendung und zum Infrastrukturdesign, um sicherzustellen, dass der Ablauf der Pakete so weit wie möglich innerhalb des beschleunigten Pfads erfolgt.

Überlegungen zum Netzwerkdesign für das Nitro-System

Bei der Konfiguration des Netzwerkverkehrs für Ihre Instance müssen viele Aspekte berücksichtigt werden, die sich auf die PPS-Leistung auswirken können. Sobald ein Datenablauf eingerichtet ist, können die meisten Pakete, die regelmäßig ein- oder ausgehen, beschleunigt werden. Es gibt jedoch Ausnahmen, um sicherzustellen, dass Infrastrukturdesigns und Paketflüsse weiterhin den Protokollstandards entsprechen.

Um die beste Leistung aus Ihrer Nitro-Karte herauszuholen, sollten Sie die Vor- und Nachteile der folgenden Konfigurationsdetails für Ihre Infrastruktur und Anwendungen sorgfältig abwägen.

Überlegungen zur Infrastruktur

Ihre Infrastrukturkonfiguration kann sich auf Ihren Paketablauf und Ihre Verarbeitungseffizienz auswirken. Die folgende Liste enthält einige wichtige Überlegungen.

Konfiguration der Netzwerkschnittstelle mit Asymmetrie

Sicherheitsgruppen verwenden die Verbindungsverfolgung zur Nachverfolgung des Datenverkehrs zu und von der Instance. Asymmetrisches Routing, bei dem der Datenverkehr über eine Netzwerkschnittstelle in eine Instance eingeht und über eine andere Netzwerkschnittstelle wieder austritt, kann die Spitzenleistung verringern, die eine Instance erzielen kann, wenn Datenflüsse nachverfolgt werden. Weitere Informationen zur Verbindungsverfolgung von Sicherheitsgruppen, nicht verfolgten Verbindungen und automatisch verfolgten Verbindungen finden Sie unter Verbindungsverfolgung EC2 für Amazon-Sicherheitsgruppen.

Netzwerktreiber

Netzwerktreiber werden regelmäßig aktualisiert und veröffentlicht. Wenn Ihre Treiber veraltet sind, kann dies die Leistung erheblich beeinträchtigen. Halten Sie Ihre Treiber auf dem neuesten Stand, um sicherzustellen, dass Sie über die neuesten Patches verfügen und Leistungsverbesserungen nutzen können, z. B. das Feature für beschleunigte Pfade, die nur für die neueste Treibergeneration verfügbar ist. Frühere Treiber unterstützen das Feature für beschleunigte Pfade nicht.

Um die Vorteile des Features für beschleunigte Pfade nutzen zu können, empfehlen wir Ihnen, den neuesten ENA-Treiber auf Ihren Instances zu installieren.

Linux-Instances – ENA-Linux-Treiber 2.2.9 oder höher. Informationen zur Installation oder Aktualisierung des ENA-Linux-Treibers aus dem Amazon GitHub Drivers-Repository finden Sie im Abschnitt Treiberkompilierung der Readme-Datei.

Windows-Instances – ENA-Windows-Treiber 2.0.0 oder höher. Informationen zur Installation oder Aktualisierung des ENA-Windows-Treibers finden Sie unter Installieren Sie den ENA-Treiber auf EC2 Windows-Instanzen.

Entfernung zwischen Endpunkten

Eine Verbindung zwischen zwei Instances in derselben Availability Zone kann mehr Pakete pro Sekunde verarbeiten als eine Verbindung zwischen Regionen. Dies ist auf das TCP-Fenster auf Anwendungsebene zurückzuführen, das bestimmt, wie viele Daten zu einem bestimmten Zeitpunkt übertragen werden können. Große Entfernungen zwischen Instances erhöhen die Latenz und verringern die Anzahl der Pakete, die die Endpunkte verarbeiten können.

Byte-Warteschlangenlimit (BQL)

BQL ist eine Funktion, die die Anzahl der an die Nitro-Karte übergebenen Byte begrenzt, um Warteschlangen zu reduzieren. BQL ist in ENA-Treibern, in Amazon Linux-Betriebssystemen und in den meisten Linux-Distributionen standardmäßig deaktiviert. Wenn BQL und Fragment-Proxy-Override beide aktiviert sind, kann dies zu Leistungseinschränkungen führen, da die Anzahl der an Nitro übergebenen Byte begrenzt wird, bevor alle Fragmente verarbeitet werden.

Überlegungen zum Anwendungsdesign

Es gibt Aspekte des Anwendungsdesigns und der Konfiguration, die sich auf Ihre Verarbeitungseffizienz auswirken können. Die folgende Liste enthält einige wichtige Überlegungen.

Paket-Größe

Größere Paketgrößen können den Durchsatz für die Daten erhöhen, die eine Instance im Netzwerk senden und empfangen kann. Amazon EC2 unterstützt Jumbo-Frames von 9001 Byte, andere Dienste können jedoch andere Grenzwerte durchsetzen. Kleinere Paketgrößen können die Paketverarbeitungsrate erhöhen, aber dadurch kann die maximal erreichte Bandbreite reduziert werden, wenn die Anzahl der Pakete die PPS-Erlaubnis überschreitet.

Wenn die Größe eines Pakets die maximale Übertragungseinheit (MTU) eines Netzwerk-Hops überschreitet, wird es möglicherweise von einem Router entlang des Pfads fragmentiert. Die resultierenden Paketfragmente gelten als Ausnahmen und werden normalerweise mit der Standardrate (nicht beschleunigt) verarbeitet. Dies kann zu Leistungsschwankungen führen. Sie können jedoch das Standardverhalten für ausgehende fragmentierte Pakete mit der Einstellung für den Fragment-Proxymodus außer Kraft setzen. Weitere Informationen finden Sie unter Maximieren Sie die Netzwerkleistung auf Ihrem Nitro-System. Wir empfehlen Ihnen, Ihre Topologie bei der Konfiguration der MTU zu evaluieren.

Nachteile von Protokollen

Zuverlässige Protokolle wie TCP haben mehr Overhead als unzuverlässige Protokolle wie UDP. Der geringere Overhead und die vereinfachte Netzwerkverarbeitung für das UDP-Transportprotokoll können zu einer höheren PPS-Rate führen, allerdings auf Kosten einer zuverlässigen Paketzustellung. Wenn eine zuverlässige Paketzustellung für Ihre Anwendung nicht entscheidend ist, ist UDP möglicherweise eine gute Option.

Micro-Bursting

Micro-Bursting tritt auf, wenn der Verkehr in kurzen Zeiträumen die zulässigen Grenzwerte überschreitet und nicht gleichmäßig verteilt wird. Dies geschieht in der Regel im Mikrosekundenbereich.

Nehmen wir zum Beispiel an, Sie haben eine Instance, die bis zu 10 Gbit/s senden kann, und Ihre Anwendung sendet die vollen 10 Gbit/s in einer halben Sekunde. Dieser Micro-Burst überschreitet in der ersten halben Sekunde den zulässigen Wert und für den Rest der Sekunde bleibt nichts übrig. Auch wenn Sie in der ersten Sekunde 10 Gbit gesendet haben, können Freigaben in der ersten halben Sekunde dazu führen, dass Pakete in die Warteschlange gestellt oder verworfen werden.

Sie können einen Netzwerkplaner wie Linux Traffic Control verwenden, um Ihren Durchsatz zu beschleunigen und zu verhindern, dass Pakete aufgrund von Micro-Bursting in die Warteschlange gestellt oder verworfen werden.

Anzahl der Flows

Ein einzelner Datenablauf ist auf 5 Gbit/s begrenzt, es sei denn, er gehört zu einer Cluster-Placement-Gruppe, die bis zu 10 Gbit/s unterstützt, oder er verwendet ENA Express, das bis zu 25 Gbit/s unterstützt.

In ähnlicher Weise kann eine Nitro-Karte mehr Pakete über mehrere Datenflüsse verarbeiten, anstatt einen einzigen Datenfluss zu verwenden. Um die maximale Paketverarbeitungsrate pro Instance zu erreichen, empfehlen wir mindestens 100 Flows auf Instances mit einer Gesamtbandbreite von 100 Gbit/s oder mehr. Mit zunehmender Gesamtbandbreitenkapazität steigt auch die Anzahl der Datenflüsse, die zur Erreichung der Spitzenverarbeitungsraten erforderlich sind. Mithilfe von Benchmarking können Sie ermitteln, welche Konfiguration Sie benötigen, um Spitzenraten in Ihrem Netzwerk zu erreichen.

Elastic Network Adapter (ENA) -Warteschlangen

ENA (Elastic Network Adapter) verwendet mehrere Empfangs- (Rx) und Übertragungswarteschlangen (Tx) (ENA-Warteschlangen), um die Netzwerkleistung und Skalierbarkeit von Instances zu verbessern. EC2 Diese Warteschlangen verwalten den Netzwerkverkehr effizient, indem sie gesendete und empfangene Daten auf die verfügbaren Warteschlangen verteilen.

Weitere Informationen finden Sie unter ENA-Warteschlangen.

Feature Overhead-Prozess

Feature wie Traffic Mirroring und ENA Express können den Verarbeitungsaufwand erhöhen, wodurch die absolute Paketverarbeitungsleistung reduziert werden kann. Sie können die Nutzung von Features einschränken oder Feature deaktivieren, um die Paketverarbeitungsraten zu erhöhen.

Verbindungsverfolgung zur Beibehaltung des Zustands

Ihre Sicherheitsgruppen verwenden die Verbindungsverfolgung, um Informationen über den Verkehr zur und von der Instance zu speichern. Die Verbindungsverfolgung wendet Regeln für jeden einzelnen Ablauf des Netzwerkdatenverkehrs an, um zu ermitteln, ob der Datenverkehr zulässig ist oder nicht. Die Nitro-Karte verwendet Ablaufnachverfolgung, um den Status des Datenablaufs aufrechtzuerhalten. Je mehr Sicherheitsgruppenregeln angewendet werden, desto mehr Arbeit ist erforderlich, um den Ablauf auszuwerten.

Anmerkung

Nicht alle Datenverkehrsflüsse werden verfolgt. Wenn eine Sicherheitsgruppenregel mit Unverfolgte Verbindungen konfiguriert ist, ist keine zusätzliche Arbeit erforderlich, mit Ausnahme von Verbindungen, die automatisch nachverfolgt werden, um symmetrisches Routing zu gewährleisten, wenn mehrere gültige Antwortpfade vorhanden sind.

Pakete, die keine Hardwarebeschleunigung verwenden

Nicht alle Pakete können die Hardwarebeschleunigung nutzen. Die Behandlung dieser Ausnahmen ist mit einem gewissen Verarbeitungsaufwand verbunden, der erforderlich ist, um die Integrität Ihrer Netzwerkflüsse sicherzustellen. Netzwerkflüsse müssen zuverlässig den Protokollstandards entsprechen, Änderungen im VPC-Design entsprechen und Pakete nur an zulässige Ziele weiterleiten. Der Overhead reduziert jedoch Ihre Leistung.

Fragmente von Paketen

Wie unter Überlegungen zu Anwendungen erwähnt, werden Paketfragmente, die aus Paketen resultieren, die die Netzwerk-MTU überschreiten, normalerweise als Ausnahme behandelt und können die Vorteile der Hardwarebeschleunigung nicht nutzen. Je nach Treiberversion können Sie jedoch die Beschränkungen für ausgehende Fragmente mit dem Fragment-Proxymodus umgehen. Weitere Informationen finden Sie in Maximieren Sie die Netzwerkleistung auf Ihrem Nitro-System diesem Abschnitt unter Aktionen, die Sie ergreifen können.

Verbindungen im Leerlauf

Wenn eine Verbindung eine Zeit lang nicht aktiv ist, kann das System ihre Priorität herabsetzen, auch wenn die Verbindung ihr Timeout-Limit noch nicht erreicht hat. Wenn dann Daten eingehen, nachdem die Verbindung nicht mehr priorisiert wurde, muss das System sie ausnahmsweise behandeln, um die Verbindung wieder herzustellen.

Um Ihre Verbindungen zu verwalten, können Sie Timeouts für die Verbindungsverfolgung verwenden, um inaktive Verbindungen zu schließen. Sie können auch TCP-Keepalives verwenden, um inaktive Verbindungen aufrechtzuerhalten. Weitere Informationen finden Sie unter Timeout für die Nachverfolgung von Leerlaufverbindungen.

VPC-Mutation

Aktualisierungen von Sicherheitsgruppen, Routing-Tabellen und Zugriffskontrolllisten müssen alle im Verarbeitungspfad neu bewertet werden, um sicherzustellen, dass Routeneinträge und Sicherheitsgruppenregeln weiterhin wie erwartet gelten.

ICMP-Flows

Das Internet Control Message Protocol (ICMP) ist ein Netzwerkschichtprotokoll, das Netzwerkgeräte zur Diagnose von Netzwerkkommunikationsproblemen verwenden. Diese Pakete verwenden immer den vollen Datenfluss.

Asymmetrische L2-Flüsse

NitroV3 und frühere Plattformen verwenden keine Hardwarebeschleunigung für den Verkehr zwischen zwei ENIs Personen im selben Subnetz, wobei ein ENI den Standard-Gateway-Router verwendet und das andere nicht. NitroV4 und neuere Plattformen verwenden in diesem Szenario Hardwarebeschleunigung. Um eine bessere Leistung auf NitroV3 oder früheren Plattformen zu erzielen, stellen Sie sicher, dass entweder der verwendete Standard-Gateway-Router zu beiden ENIs passt oder dass ENIs sich diese in unterschiedlichen Subnetzen befinden.

Maximieren Sie die Netzwerkleistung auf Ihrem Nitro-System

Sie können Ihre Netzwerkleistung auf dem Nitro-System maximieren, indem Sie die Netzwerkeinstellungen anpassen.

Überlegungen

Bevor Sie Designentscheidungen treffen oder Netzwerkeinstellungen auf Ihrer Instance anpassen, empfehlen wir Ihnen, die folgenden Schritte durchzuführen, um sicherzustellen, dass Sie das beste Ergebnis erzielen:

  1. Machen Sie sich mit den Vor- und Nachteilen der Maßnahmen vertraut, die Sie ergreifen können, um die Leistung zu verbessern, indem Sie sie Überlegungen zum Netzwerkdesign für das Nitro-System überprüfen.

    Weitere Überlegungen und bewährte Methoden für Ihre Instanzkonfiguration unter Linux finden Sie unter Bewährte Verfahren und Leitfaden zur Leistungsoptimierung von ENA Linux unter. GitHub

  2. Vergleichen Sie Ihre Workloads anhand der maximalen Anzahl an aktiven Datenabläufen, um eine Ausgangsbasis für Ihre Anwendungsleistung zu ermitteln. Anhand einer Leistungsbasislinie können Sie Variationen in Ihren Einstellungen oder Ihrem Anwendungsdesign testen, um herauszufinden, welche Überlegungen die größte Wirkung haben werden, insbesondere, wenn Sie eine Hochskalierung oder Aufskalierung planen.

Optimieren Sie die PPS-Leistung

Die folgende Liste enthält Maßnahmen, die Sie je nach Ihren Systemanforderungen ergreifen können, um die Leistung Ihres PPS zu optimieren.

  • Reduzieren Sie die physische Entfernung zwischen zwei Instances. Wenn sich sendende und empfangende Instances in derselben Availability Zone befinden oder Cluster-Placement-Gruppe verwenden, können Sie die Anzahl der Hops reduzieren, die ein Paket zurücklegen muss, um von einem Endpunkt zum anderen zu gelangen.

  • Verwenden Sie Unverfolgte Verbindungen.

  • Verwenden Sie das UDP-Protokoll für den Netzwerkverkehr.

  • Verteilen Sie bei EC2 Instances mit einer Gesamtbandbreite von 100 Gbit/s oder mehr die Arbeitslast auf 100 oder mehr einzelne Datenflüsse, um die Arbeit gleichmäßig auf die Nitro-Karte zu verteilen.

  • Um das PPS-Limit für ausgehende Fragmente für EC2 Instances zu umgehen, können Sie den Fragment-Proxymodus aktivieren (abhängig von Ihrer Treiberversion). Mit dieser Einstellung können fragmentierte Pakete im Verarbeitungspfad ausgewertet werden, wodurch die PPS-Grenze für ausgehende Pakete von 1024 überschritten wird. Führen Sie beim Laden des Treibers einen der folgenden Befehle aus, um den Fragment-Proxymodus zu aktivieren oder zu deaktivieren:

    Aktivieren Sie den Fragment-Proxymodus

    sudo insmod ena.ko enable_frag_bypass=1

    Deaktivieren Sie den Fragment-Proxymodus

    sudo insmod ena.ko enable_frag_bypass=0

Überwachen Sie die Leistung auf Linux-Instances

Sie können Ethtool-Metriken auf Linux-Instances verwenden, um Leistungsindikatoren für das Instance-Netzwerk wie Bandbreite, Paketrate und Verbindungsverfolgung zu überwachen. Weitere Informationen finden Sie unter Überwachen Sie die Netzwerkleistung für ENA-Einstellungen auf Ihrer EC2 Instance.

ENA-Warteschlangen

ENA-Warteschlangen werden Netzwerkschnittstellen mit standardmäßigen statischen Grenzwerten zugewiesen, die auf dem Instanztyp und der Größe der Instanz basieren. Bei unterstützten Instance-Typen können Sie diese Warteschlangen dynamisch den Elastic Network Interfaces zuweisen (). ENIs Die Gesamtzahl der Warteschlangen pro Instance hängt zwar von ihrem Typ und ihrer Größe ab, Sie können jedoch mehrere ENIs mit ENA-Warteschlangen konfigurieren, bis Sie die maximale Warteschlangenanzahl für die ENI und die Instance erreicht haben.

Die flexible ENA-Warteschlangenzuweisung optimiert die Ressourcenverteilung und ermöglicht so eine maximale vCPU-Auslastung. Workloads mit hoher Netzwerkleistung erfordern in der Regel mehrere ENA-Warteschlangen. Sie können die Netzwerkleistung und die Pakete pro Sekunde (PPS) fein abstimmen, indem Sie die Anzahl der Warteschlangen an Ihre spezifischen Workload-Anforderungen anpassen. Beispielsweise benötigen netzwerkintensive Anwendungen im Vergleich zu CPU-intensiven Anwendungen möglicherweise mehr Warteschlangen.

Unterstützte Instances

Die folgenden Instanzen unterstützen die dynamische Zuweisung mehrerer ENA-Warteschlangen.

Allgemeine Zwecke
Instance-Typ Standard-ENA-Warteschlangen pro Schnittstelle Maximale ENA-Warteschlangen pro Schnittstelle Maximale ENA-Warteschlangen pro Instanz
M6i
m6i.large 2 2 6
m6i.xlarge 4 4 16
m6i.2xlarge 8 8 32
m6i.4xlarge 8 16 64
m6i.8xlarge 8 32 64
m6i.12xlarge 8 32 64
m6i.16xlarge 8 32 120
m6i.24xlarge 8 32 120
m6i.32xlarge 8 32 120
M6 ID
m6id.large 2 2 6
m6id.xlarge 4 4 16
m6id.2xlarge 8 8 32
m6id.4xlarge 8 16 64
m6id.8xlarge 8 32 64
m6id.12xlarge 8 32 64
m6id.16xlarge 8 32 120
m6id.24xlarge 8 32 120
m6id.32xlarge 8 32 120
M6 IDN
m6idn.large 2 2 6
m6idn.xlarge 4 4 16
m6idn.2xlarge 8 8 32
m6idn.4xlarge 8 16 64
m6idn.8xlarge 16 32 128
m6idn.12xlarge 16 32 128
m6idn.16xlarge 16 32 240
m6idn.24xlarge 32 32 480
m6idn.32xlarge 32 32 256
M 6 Zoll
m6in.large 2 2 6
m6in.xlarge 4 4 16
m6in.2xlarge 8 8 32
m6in.4xlarge 8 16 64
m6in.8xlarge 16 32 128
m6in.12xlarge 16 32 128
m6in.16xlarge 16 32 240
m6in.24xlarge 32 32 480
m6in.32xlarge 32 32 256
Für Datenverarbeitung optimiert
Instance-Typ Standard-ENA-Warteschlangen pro Schnittstelle Maximale ENA-Warteschlangen pro Schnittstelle Maximale ENA-Warteschlangen pro Instanz
C6i
c6i.large 2 2 6
c6i.xlarge 4 4 16
c6i.2xlarge 8 8 32
c6i.4xlarge 8 16 64
c6i.8xlarge 8 32 64
c6i.12xlarge 8 32 64
c6i.16xlarge 8 32 120
c6i.24xlarge 8 32 120
c6i.32xlarge 8 32 120
C6id
c6id.large 2 2 6
c6id.xlarge 4 4 16
c6id.2xlarge 8 8 32
c6id.4xlarge 8 16 64
c6id.8xlarge 8 32 64
c6id.12xlarge 8 32 64
c6id.16xlarge 8 32 120
c6id.24xlarge 8 32 120
c6id.32xlarge 8 32 120
C6 Zoll
c6in.large 2 2 6
c6in.xlarge 4 4 16
c6in.2xlarge 8 8 32
c6in.4xlarge 8 16 64
c6in.8xlarge 16 32 128
c6in.12xlarge 16 32 128
c6in.16xlarge 16 32 240
c6in.24xlarge 32 32 480
c6in.32xlarge 32 32 256
C8 Gn
c8gn.medium 1 1 2
c8gn.large 2 2 6
c8gn.xlarge 4 4 16
c8gn.2xlarge 8 8 32
c8gn.4xlarge 8 16 64
c8gn.8xlarge 8 32 128
c8gn.12xlarge 16 64 192
c8gn.16xlarge 16 64 256
c8gn.24xlarge 16 128 384
c8gn.48xlarge 32 128 384
RAM-optimiert
Instance-Typ Standard-ENA-Warteschlangen pro Schnittstelle Maximale ENA-Warteschlangen pro Schnittstelle Maximale ENA-Warteschlangen pro Instanz
R6i
r6i.large 2 2 6
r6i.xlarge 4 4 16
r6i.2xlarge 8 8 32
r6i.4xlarge 8 16 64
r6i.8xlarge 8 32 64
r6i.12xlarge 8 32 64
r6i.16xlarge 8 32 120
r6i.24xlarge 8 32 120
r6i.32xlarge 8 32 120
R 6 i DN
r6idn.large 2 2 6
r6idn.xlarge 4 4 16
r6idn.2xlarge 8 8 32
r6idn.4xlarge 8 16 64
r6idn.8xlarge 16 32 128
r6idn.12xlarge 16 32 128
r6idn.16xlarge 16 32 240
r6idn.24xlarge 32 32 480
r6idn.32xlarge 32 32 256
R 6 Zoll
r6in.large 2 2 6
r6in.xlarge 4 4 16
r6in.2xlarge 8 8 32
r6in.4xlarge 8 16 64
r6in.8xlarge 16 32 128
r6in.12xlarge 16 32 128
r6in.16xlarge 16 32 240
r6in.24xlarge 32 32 480
r6in.32xlarge 32 32 256
R 6 ID
r6id.large 2 2 6
r6id.xlarge 4 4 16
r6id.2xlarge 8 8 32
r6id.4xlarge 8 16 64
r6id.8xlarge 8 32 64
r6id.12xlarge 8 32 64
r6id.16xlarge 8 32 120
r6id.24xlarge 8 32 120
r6id.32xlarge 8 32 120

Ändern Sie die Anzahl der Warteschlangen

Sie können die Anzahl der ENA-Warteschlangen mit AWS Management Console oder ändern. AWS CLI In der AWS Management Console ist die ENA-Warteschlangenkonfiguration unter jeder Netzwerkschnittstelleneinstellung verfügbar.

Verwenden Sie einen der folgenden Befehle AWS CLI, um die Anzahl der ENA-Warteschlangen mithilfe von zu ändern. Bevor Sie die Anzahl der Warteschlangen ändern, verwenden Sie den folgenden Befehl, um Ihre aktuelle Warteschlangenanzahl zu überprüfen.

aws ec2 describe-instances --instance-id i-1234567890abcdef0
Anmerkung
  • Ihre Instance muss gestoppt werden, bevor Sie die Anzahl der ENA-Warteschlangen ändern können.

  • Der Wert für ENA-Warteschlangen muss eine Zweierpotenz sein, z. B. 1, 2, 4, 8, 16, 32 usw.

  • Die Anzahl der Warteschlangen, die einer einzelnen ENI zugewiesen sind, darf die Anzahl der auf Ihrer Instance CPUs verfügbaren v nicht überschreiten.

attach-network-interface

Im folgenden Beispiel sind 32 ENA-Warteschlangen auf einer ENI konfiguriert.

aws ec2 attach-network-interface \ --network-interface-id eni-001aa1bb223cdd4e4 \ --instance-id i-1234567890abcdef0 \ --device-index 1 \ --ena-queue-count 32

run-instances

Im folgenden Beispiel sind jeweils 2 ENA-Warteschlangen auf 3 konfiguriert. ENIs

aws ec2 run-instances \ --image-id ami-12ab3c30 \ --instance-type c6i.large \ --min-count 1 \ --max-count 1 \ --network-interfaces \ "[{\"DeviceIndex\":0,\"SubnetId\":\"subnet-123456789012a345a\",\"EnaQueueCount\":2}, {\"DeviceIndex\":1,\"SubnetId\":\"subnet-123456789012a345a\",\"EnaQueueCount\":2}, {\"DeviceIndex\":2,\"SubnetId\":\"subnet-123456789012a345a\",\"EnaQueueCount\":2}]"

modify-network-interface-attribute

Im folgenden Beispiel sind 32 ENA-Warteschlangen auf einer ENI konfiguriert.

aws ec2 modify-network-interface-attribute \ --network-interface-id eni-1234567890abcdef0 \ --attachment AttachmentId=eni-attach-12345678,EnaQueueCount=32

Im folgenden Beispiel wird die ENA-Anzahl auf den Standardwert zurückgesetzt.

aws ec2 modify-network-interface-attribute \ --network-interface-id eni-1234567890abcdef0 \ --attachment AttachmentId=eni-attach-12345678,DefaultEnaQueueCount=true