

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.

# Verbessertes Networking auf EC2 Amazon-Instances
<a name="enhanced-networking"></a>

Enhanced Networking nutzt Single Root I/O Virtualization (SR-IOV), um leistungsstarke Netzwerkfunktionen auf unterstützten Instance-Typen bereitzustellen. SR-IOV ist eine Methode der Gerätevirtualisierung, die im Vergleich zu herkömmlichen virtualisierten Netzwerkschnittstellen eine höhere I/O Leistung und eine geringere CPU-Auslastung bietet. Erweitertes Netzwerk ermöglicht eine größere Bandbreite, mehr Pakete pro Sekunde (PPS) und konstant niedrigere Latenzzeiten zwischen Instances. Für die Nutzung von Enhanced Networking fallen keine zusätzlichen Gebühren an.

Informationen zur unterstützten Netzwerkgeschwindigkeit für jeden Instance-Typ finden Sie unter [ EC2 Amazon-Instance-Typen](https://aws.amazon.com/ec2/instance-types/).

Sie können das Enhanced Networking mit einem der folgenden Mechanismen aktivieren:

**Elastic Network Adapter (ENA)**  
Der Elastic Network Adapter (ENA) unterstützt Netzwerkgeschwindigkeiten von bis zu 100 Gbit/s für unterstützte Instance-Typen.  
Alle [Nitro-basierten Instances](instance-types.md#instance-hypervisor-type) verwenden ENA für Erweitertes Netzwerk. Darüber hinaus verwenden die folgenden Xen-Instance-Typen ENA: H1, I3, G3, `m4.16xlarge`, P2, P3, P3dn und R4.  
Weitere Informationen finden Sie unter [Aktivierung eine verbesserten Vernetzung mit ENA in Ihren EC2-Instances](enhanced-networking-ena.md).

**Intel 82599 Virtual Function-Schnittstelle (VF)**  
Die Intel 82599 Virtual Function-Schnittstelle unterstützt Netzwerkgeschwindigkeiten von bis zu 10 Gbit/s für unterstützte Instance-Typen.  
Die folgenden Instance-Typen verwenden die Intel-82599-VF-Schnittstelle für erweiterte Netzwerke: C3, C4, D2, I2, M4 (ausgenommen m4.16xlarge) und R3.  
Weitere Informationen finden Sie unter [Erweitertes Netzwerk mit der Intel 82599 VF-Schnittstelle](sriov-networking.md).

**Topics**
+ [Elastic Network Adapter (ENA)](enhanced-networking-ena.md)
+ [ENA Express](ena-express.md)
+ [Intel 82599 VF](sriov-networking.md)
+ [Überwachen der Netzwerkleistung](monitoring-network-performance-ena.md)
+ [Verbesserung der Netzwerklatenz in Linux](ena-improve-network-latency-linux.md)
+ [Leistungsaspekte von Nitro](ena-nitro-perf.md)
+ [Die Netzwerkleistung in Windows optimieren](enhanced-networking-os.md)

# Aktivierung eine verbesserten Vernetzung mit ENA in Ihren EC2-Instances
<a name="enhanced-networking-ena"></a>

Amazon EC2 bietet optimierte Netzwerkfunktionen über den Elastic Network Adapter (ENA). Um erweitertes Netzwerk nutzen zu können, müssen Sie ein AMI verwenden, das den erforderlichen ENA-Treiber enthält, oder ihn manuell installieren. Dann können Sie die ENA-Unterstützung in Ihrer Instance aktivieren.

Die Versionshinweise oder Installationsanweisungen für einen ENA-Treiber finden Sie auf der Registerkarte, die der Betriebssystemplattform Ihrer Instance entspricht.

------
#### [ Linux ]

Sie können die folgende Dokumentation lesen unter GitHub:
+ Lesen Sie die [Versionshinweise zum ENA-Linux-Kerneltreiber](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/RELEASENOTES.md) unter GitHub.
+ Eine Übersicht über den ENA-Linux-Kerneltreiber mit Installationsanweisungen finden Sie unter [Linux-Kerneltreiber für die Elastic Network Adapter (ENA) -Familie](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/README.rst) unter GitHub.

------
#### [ Windows ]

Sie können die folgende Dokumentation im Abschnitt **Gerätetreiber verwalten** dieses Handbuchs nachlesen:
+ [NA-Windows-Treiber-Versionen verfolgen](ena-driver-releases-windows.md).
+ [ENA-Treiber auf EC2-Windows-Instances installieren](ena-adapter-driver-install-upgrade-win.md).

------

Bei Nitro-basierten Instances variieren die erweiterten Netzwerkfunktionen je nach der Nitro-Version, die der Instance-Typ implementiert.

Um die Netzwerkspezifikationen für Ihre Instance zu überprüfen, wählen Sie den Link zur Instance-Familie für Ihren Instance-Typ. Wenn Sie sich nicht sicher sind, welche Instance-Familie gilt, finden Sie weitere Informationen unter [Bennenungskonventionen](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) im *Handbuch zu Amazon-EC2-Instance-Typen*.
+ [Netzwerkspezifikationen für beschleunigte Computing-Instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_network)
+ [Netzwerkspezifikationen für Datenverarbeitung optimierte Instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html#co_network)
+ [Netzwerkspezifikationen für Allzweck-Instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_network)
+ [Netzwerkspezifikationen für Hochleistungs-Computing-Instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/hpc.html#hpc_network)
+ [Netzwerkspezifikationen für arbeitsspeicheroptimierte Instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html#mo_network)
+ [Netzwerkspezifikationen für speicheroptimierte Instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_network)

**Topics**
+ [Voraussetzungen für erweiterte Netzwerke mit ENA](#ena-requirements)
+ [Testen, ob Enhanced Networking aktiviert ist](test-enhanced-networking-ena.md)
+ [Aktivieren von Enhanced Networking auf Ihrer Instance](enabling_enhanced_networking.md)
+ [ENA-Warteschlangen](ena-queues.md)
+ [Problembehandlung beim ENA-Kernel-Treiber in Linux](troubleshooting-ena.md)
+ [Fehlerbehebung beim Windows-Treiber von Elastic Network Adapter](troubleshoot-ena-driver.md)

## Voraussetzungen für erweiterte Netzwerke mit ENA
<a name="ena-requirements"></a>

Zur Vorbereitung für Enhanced Networking mit ENA sollten Sie Ihre Instance wie folgt einrichten:
+ Starten Sie eine [Nitro-basierte Instance](instance-types.md#instance-hypervisor-type).
+ Überprüfen Sie, ob der Instance eine Verbindung zum Internet fehlt.
+ Wenn Sie wichtige Daten auf der Instance gespeichert haben, die Sie erhalten möchten, sollten Sie diese Daten jetzt sichern, indem Sie ein AMI von Ihrer Instance erstellen. Die Aktualisierung des ENA-Kernel-Treibers und die Aktivierung des Attributs `enaSupport` kann dazu führen, dass inkompatible Instances oder Betriebssysteme nicht mehr erreicht werden können. Wenn Sie über ein aktuelles Backup verfügen, gehen die Daten nicht verloren, falls das geschieht.
+ **Linux-Instances** – Starten Sie die Instance mit einer unterstützten Version des Linux-Kernels sowie einer unterstützten Distribution, um ENA Enhanced Networking für Ihre Instance automatisch zu aktivieren. Weitere Informationen finden Sie unter [ENA Linux Kernel Driver Release Notes](https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/RELEASENOTES.md).
+ **Windows-Instances** — Wenn auf der Instance Windows Server 2008 R2 ausgeführt wird, stellen Sie sicher SP1, dass sie über das [Update zur Unterstützung der SHA-2-Codesignatur](https://support.microsoft.com/en-us/help/4474419/sha-2-code-signing-support-update) verfügt.
+ Verwenden Sie [AWS CloudShell](https://console.aws.amazon.com/cloudshell)das AWS-Managementkonsole oder installieren und konfigurieren Sie das [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)oder [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)auf einem beliebigen Computer Ihrer Wahl, vorzugsweise auf Ihrem lokalen Desktop oder Laptop. Weitere Informationen finden Sie unter [Zugriff auf Amazon EC2](concepts.md#access-ec2) oder im [AWS CloudShell -Benutzerhandbuch](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html). Enhanced Networking kann nicht über die Amazon EC2-Konsole verwaltet werden.

# Testen, ob Enhanced Networking aktiviert ist
<a name="test-enhanced-networking-ena"></a>

Sie können testen, ob Enhanced Networking in Ihren oder Ihren Instanzen aktiviert ist AMIs.

**Instance-Attribut**  
Überprüfen Sie den Wert des Instance-Attributs `enaSupport`.

------
#### [ AWS CLI ]

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[].Instances[].EnaSupport"
```

Wenn Enhanced Networking aktiviert ist, sieht die Ausgabe wie folgt aus.

```
[
    true
]
```

------
#### [ PowerShell ]

Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.EnaSupport
```

Wenn Enhanced Networking aktiviert ist, sieht die Ausgabe wie folgt aus.

```
True
```

------

**Image-Attribut**  
Überprüfen Sie den Wert des Image-Attributs `enaSupport`.

------
#### [ AWS CLI ]

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query "Images[].EnaSupport"
```

Wenn Enhanced Networking aktiviert ist, sieht die Ausgabe wie folgt aus.

```
[
    true
]
```

------
#### [ PowerShell ]

Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).EnaSupport
```

Wenn Enhanced Networking aktiviert ist, sieht die Ausgabe wie folgt aus.

```
True
```

------

**Linux-Netzwerkschnittstellentreiber**  
Prüfen Sie mit dem folgenden Befehl, ob der `ena`-Kernel-Treiber aktuell an einer bestimmten Schnittstelle verwendet wird; setzen Sie dabei den Namen der Schnittstelle ein, die Sie überprüfen möchten. Wenn Sie eine einzige Schnittstelle verwenden (der Standard), lautet der Name `eth0`. Wenn Ihre Linux-Distribution vorhersagbare Netzwerknamen unterstützt, könnte der Name `ens5` lauten. Weitere Informationen erhalten Sie, indem Sie den Abschnitt für RHEL, SUSE und CentOS in [Aktivieren von Enhanced Networking auf Ihrer Instance](enabling_enhanced_networking.md) erweitern.

Im folgenden Beispiel wird der `ena`-Kernel-Treiber nicht geladen, da als Treiber `vif` angezeigt wird.

```
[ec2-user ~]$ ethtool -i eth0
driver: vif
version:
firmware-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
```

In diesem Beispiel wurde der `ena`-Kernel-Treiber bereits geladen und liegt in der empfohlenen Mindestversion vor. In dieser Instance wurde Enhanced Networking richtig konfiguriert.

```
[ec2-user ~]$ ethtool -i eth0
driver: ena
version: 1.5.0g
firmware-version:
expansion-rom-version:
bus-info: 0000:00:05.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
```

# Aktivieren von Enhanced Networking auf Ihrer Instance
<a name="enabling_enhanced_networking"></a>

Welches Verfahren Sie verwenden, hängt vom Betriebssystem der Instance ab.

## Amazon Linux
<a name="enable-enhanced-networking-ena-AL"></a>

Die AMIs für Amazon Linux enthalten den Kernel-Treiber, der für Enhanced Networking erforderlich ist, wenn ENA installiert ist und die ENA-Unterstützung aktiviert ist. Wenn Sie eine Instance mit einer HVM-Version von Amazon Linux auf einem unterstützten Instance-Typ starten, ist Enhanced Networking für Ihre Instance bereits aktiviert. Weitere Informationen finden Sie unter [Testen, ob Enhanced Networking aktiviert ist](test-enhanced-networking-ena.md).

## Ubuntu
<a name="enhanced-networking-ena-ubuntu"></a>

Die neuesten HVMs von Ubuntu AMIs enthalten den Kernel-Treiber, der für erweiterte Netzwerke erforderlich ist, wenn ENA installiert ist, und die ENA-Unterstützung ist aktiviert. Wenn Sie also eine Instance mit dem aktuellen Ubuntu HVM-AMI auf einem unterstützten Instance-Typ starten, ist Enhanced Networking bereits für Ihre Instance aktiviert. Weitere Informationen finden Sie unter [Testen, ob Enhanced Networking aktiviert ist](test-enhanced-networking-ena.md). 

Wenn Sie Ihre Instance aus einem älteren AMI gestartet haben und Enhanced Networking noch nicht aktiviert wurde, können Sie das Kernel-Paket `linux-aws` installieren, um die aktuellen Enhanced Networking-Treiber zu erhalten und das erforderliche Attribut zu aktualisieren.

**`linux-aws`-Kernel-Paket (Ubuntu 16.04 oder höher) installieren**  
Ubuntu 16.04 und 18.04 werden mit dem benutzerdefinierten Ubuntu-Kernel geliefert (`linux-aws`-Kernel-Paket). Um einen anderen Kernel zu verwenden, wenden Sie sich an [Support](https://console.aws.amazon.com/support).<a name="ubuntu-enhanced-networking-ena-procedure"></a>

**`linux-aws`-Kernel-Paket (Ubuntu Trusty 14.04) installieren**

1. <a name="ubuntu-enhanced-networking-ena-start-step"></a>Verbinden Sie sich mit der Instance.

1. Aktualisieren Sie den Cache der Paketverwaltung und die einzelnen Pakete.

   ```
   ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
   ```
**Wichtig**  
Wenn Sie während des Aktualisierungsvorgangs aufgefordert werden, `grub` zu installieren, verwenden Sie `/dev/xvda` für die Installation von `grub` und wählen Sie anschließend aus, dass die aktuelle Version von `/boot/grub/menu.lst` beibehalten werden soll.

1. [EBS-gestützte Instance] Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

   [In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Gehen Sie stattdessen wie folgt vor: [So aktivieren Sie Enhanced Networking unter Ubuntu (Instance Store-Backed Instances)](#enhanced-networking-ena-instance-store-ubuntu).

1. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:
   + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

     ```
     aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --ena-support
     ```
   + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html)(Tools für Windows PowerShell)

     ```
     Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $true
     ```

1. (Optional) Erstellen Sie ein AMI von der Instance, wie unter [Ein Amazon-EBS-gestütztes AMI erstellen](creating-an-ami-ebs.md) beschrieben. Das AMI erbt das Enhanced Networking-Attribut `enaSupport` von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

1. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).<a name="enhanced-networking-ena-instance-store-ubuntu"></a>

**So aktivieren Sie Enhanced Networking unter Ubuntu (Instance Store-Backed Instances)**

Führen Sie die Schritte aus dem vorherigen Verfahren durch bis zu dem Schritt, in dem die Instance angehalten wird. Erstellen Sie ein neues AMI, wie in [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md) beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.
+ [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) (AWS CLI)

  ```
  aws ec2 register-image --ena-support ...
  ```
+ [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) (AWS Tools for Windows PowerShell)

  ```
  Register-EC2Image -EnaSupport $true ...
  ```

## RHEL, SUSE, CentOS
<a name="enhanced-networking-ena-linux"></a>

Die neuesten Versionen AMIs für Red Hat Enterprise Linux, SUSE Linux Enterprise Server und CentOS enthalten den Kernel-Treiber, der für Enhanced Networking mit ENA erforderlich ist, und haben ENA-Unterstützung aktiviert. Wenn Sie also eine Instance mit dem aktuellen AMI auf einem unterstützten Instance-Typ starten, ist Enhanced Networking bereits für Ihre Instance aktiviert. Weitere Informationen finden Sie unter [Testen, ob Enhanced Networking aktiviert ist](test-enhanced-networking-ena.md).

In der folgenden Anleitung werden die Schritte beschrieben, die Sie für die Aktivierung von Enhanced Networking unter einer anderen Linux-Distribution als Amazon Linux AMI oder Ubuntu ausführen müssen. Weitere Informationen, z. B. hinsichtlich der genauen Syntax für Befehle, der Speicherorte von Dateien oder der Unterstützung von einzelnen Paketen bzw. Tools, finden Sie in der Dokumentation zu der jeweiligen Linux-Distribution.

**Aktivieren von Enhanced Networking in Linux**

1. <a name="other-linux-enhanced-networking-ena-start-step"></a>Verbinden Sie sich mit der Instance.

1. Klonen Sie den Quellcode für den `ena` Kernel-Treiber auf Ihrer Instance von GitHub at. [https://github.com/amzn/amzn-drivers](https://github.com/amzn/amzn-drivers) (SUSE Linux Enterprise Server 12 SP2 und höher enthalten standardmäßig ENA 2.02, sodass Sie den ENA-Treiber nicht herunterladen und kompilieren müssen. Für SUSE Linux Enterprise Server 12 SP2 und höher sollten Sie eine Anfrage stellen, um die gewünschte Treiberversion zum Standardkernel hinzuzufügen). 

   ```
   git clone https://github.com/amzn/amzn-drivers
   ```

1. Kompilieren und installieren Sie den `ena`-Kernel-Treiber in Ihrer Instance. Diese Schritte hängen von der Linux-Distribution ab. Weitere Informationen zum Kompilieren des Kernel-Treibers auf Red Hat Enterprise Linux finden Sie unter [Wie installiere ich den neuesten ENS-Treiber für erweiterte Netzwerkunterstützung auf einer Amazon-EC2-Instance, auf der RHEL ausgeführt wird?](https://repost.aws/knowledge-center/install-ena-driver-rhel-ec2)

1. Führen Sie den Befehl **sudo depmod** aus, um die Abhängigkeiten für das Modul zu aktualisieren.

1. <a name="other-linux-enhanced-networking-ena-stop-step"></a>Aktualisieren Sie `initramfs` in Ihrer Instance, um sicherzustellen, dass der neue Kernel-Treiber während des Bootvorgangs geladen wird. Wenn die Verteilung beispielsweise **dracut** unterstützt, können Sie den folgenden Befehl verwenden.

   ```
   dracut -f -v
   ```

1. <a name="predictable-network-names-ena"></a>Ermitteln Sie, ob Ihr System standardmäßig transparente Netzwerkschnittstellennamen verwendet. Systeme, die **systemd**- oder **udev**-Versionen ab 197 verwenden, können Ethernet-Geräte umbenennen, d. h. die einzige Netzwerkschnittstelle in einem solchen System wird nicht zwingend als `eth0` bezeichnet. Dieses Verhalten kann Probleme bei der Verbindung mit Ihrer Instance verursachen. Weitere Informationen und andere Konfigurationsoptionen finden Sie unter [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) auf der freedesktop.org-Website.

   1. Sie können die **systemd**- und **udev**-Versionen auf RPM-basierten Systemen mit dem folgenden Befehl überprüfen.

      ```
      rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+'
      systemd-208-11.el7_0.2.x86_64
      ```

      In dem Red Hat Enterprise Linux 7-Beispiel oben lautet die **systemd**-Version 208, d. h. transparente Netzwerkschnittstellennamen müssen deaktiviert werden.

   1. Sie können transparente Netzwerkschnittstellennamen deaktivieren, indem Sie in der Zeile `net.ifnames=0` in der Datei `GRUB_CMDLINE_LINUX` die Option `/etc/default/grub` hinzufügen.

      ```
      sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
      ```

   1. Erstellen Sie die neue Grub-Konfigurationsdatei.

      ```
      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. [EBS-gestützte Instance] Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI), [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

   [In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Gehen Sie stattdessen wie folgt vor: [So aktivieren Sie Enhanced Networking unter Linux (Instance-Speicher-gestützte Instances):](#other-linux-enhanced-networking-ena-instance-store).

1. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut `enaSupport` mit einem der folgenden Befehle:
   + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

     ```
     aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --ena-support
     ```
   + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html)(Tools für Windows PowerShell)

     ```
     Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $true
     ```

1. (Optional) Erstellen Sie ein AMI von der Instance, wie unter [Ein Amazon-EBS-gestütztes AMI erstellen](creating-an-ami-ebs.md) beschrieben. Das AMI erbt das Enhanced Networking-Attribut `enaSupport` von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

   Wenn Ihr Instance-Betriebssystem eine `/etc/udev/rules.d/70-persistent-net.rules`-Datei enthält, müssen Sie diese vor der Erstellung des AMI löschen. Diese Datei enthält die MAC-Adresse des Ethernet-Adapters in der ursprünglichen Instance. Wenn eine andere Instance mit dieser Datei gestartet wird, kann das Betriebssystem das Gerät nicht finden und von `eth0` schlägt möglicherweise fehl, was zu Problemen beim Start führt. Diese Datei wird während des nächsten Bootvorgangs neu generiert, und jede aus dem AMI gestartete Instance erstellt eine eigene Version der Datei.

1. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. (Optional) Stellen Sie eine Verbindung mit Ihrer Instance her und überprüfen Sie, ob der Kernel-Treiber installiert wurde.

   Wenn Sie nach der Aktivierung von Enhanced Networking keine Verbindung zu Ihrer Instance herstellen können, informieren Sie sich unter [Problembehandlung beim ENA-Kernel-Treiber in Linux](troubleshooting-ena.md).<a name="other-linux-enhanced-networking-ena-instance-store"></a>

**So aktivieren Sie Enhanced Networking unter Linux (Instance-Speicher-gestützte Instances):**

Führen Sie die Schritte aus dem vorherigen Verfahren durch bis zu dem Schritt, in dem die Instance angehalten wird. Erstellen Sie ein neues AMI, wie in [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md) beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.
+ [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) (AWS CLI)

  ```
  aws ec2 register-image --ena-support ...
  ```
+ [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) (AWS Tools for Windows PowerShell)

  ```
  Register-EC2Image -EnaSupport ...
  ```

## Ubuntu mit DKMS
<a name="enhanced-networking-ena-ubuntu-dkms"></a>

Diese Methode ist nur für Test- und Feedbackzwecke. Sie ist nicht für die Nutzung mit Produktionsbereitstellungen gedacht. Für Produktionsbereitstellungen siehe [Ubuntu](#enhanced-networking-ena-ubuntu).

**Wichtig**  
Bei Verwendung von DKMS wird die Supportvereinbarung für Ihr Abonnement unwirksam. Es sollte nicht für Produktionsbereitstellungen verwendet werden.

**So aktivieren Sie Enhanced Networking mit ENA unter Ubuntu (EBS-gestützte Instances)**

1. Führen Sie die Schritte 1 und 2 unter [Ubuntu](#enhanced-networking-ena-ubuntu) aus.

1. Installieren Sie die `build-essential`-Pakete zum Kompilieren des Kernel-Treibers und das `dkms`-Paket, damit Ihr `ena`-Modul bei jeder Aktualisierung des Kernels neu erstellt wird.

   ```
   ubuntu:~$ sudo apt-get install -y build-essential dkms
   ```

1. Klonen Sie die Quelle für den `ena` Kernel-Treiber auf Ihrer Instance von GitHub unter[https://github.com/amzn/amzn-drivers](https://github.com/amzn/amzn-drivers).

   ```
   ubuntu:~$ git clone https://github.com/amzn/amzn-drivers
   ```

1. Verschieben Sie das `amzn-drivers`-Paket in das Verzeichnis `/usr/src/`, sodass es von DKMS gefunden und bei jedem Kernel-Update neu erstellt wird. Fügen Sie die Versionsnummer des Quellcodes an den Verzeichnisnamen an (Sie finden die aktuelle Versionsnummer in den Versionshinweisen). Im folgenden Beispiel wird Version `1.0.0` angezeigt.

   ```
   ubuntu:~$ sudo mv amzn-drivers /usr/src/amzn-drivers-1.0.0
   ```

1. Erstellen Sie eine DKMS-Konfigurationsdatei mit den folgenden Werten. Geben Sie dabei Ihre `ena`-Version an.

   Erstellen Sie die Datei.

   ```
   ubuntu:~$ sudo touch /usr/src/amzn-drivers-1.0.0/dkms.conf
   ```

   Öffnen Sie die Datei und fügen Sie die folgenden Werte hinzu.

   ```
   ubuntu:~$ sudo vim /usr/src/amzn-drivers-1.0.0/dkms.conf
   PACKAGE_NAME="ena"
   PACKAGE_VERSION="1.0.0"
   CLEAN="make -C kernel/linux/ena clean"
   MAKE="make -C kernel/linux/ena/ BUILD_KERNEL=${kernelver}"
   BUILT_MODULE_NAME[0]="ena"
   BUILT_MODULE_LOCATION="kernel/linux/ena"
   DEST_MODULE_LOCATION[0]="/updates"
   DEST_MODULE_NAME[0]="ena"
   AUTOINSTALL="yes"
   ```

1. Verwenden Sie DKMS, um den `ena`-Kernel-Treiber in der Instance hinzuzufügen, zu erstellen und zu installieren.

   Den Kernel-Treiber DKMS hinzufügen.

   ```
   ubuntu:~$ sudo dkms add -m amzn-drivers -v 1.0.0
   ```

   Erstellen Sie den Kernel-Treiber mit dem **dkms**-Befehl.

   ```
   ubuntu:~$ sudo dkms build -m amzn-drivers -v 1.0.0
   ```

   Installieren Sie den Kernel-Treiber mit **dkms**.

   ```
   ubuntu:~$ sudo dkms install -m amzn-drivers -v 1.0.0
   ```

1. Erstellen Sie `initramfs` neu, damit der richtige Kernel-Treiber während des Bootvorgangs geladen wird.

   ```
   ubuntu:~$ sudo update-initramfs -u -k all
   ```

1. Stellen Sie sicher, dass der `ena`-Kernel-Treiber installiert ist. Verwenden Sie dafür den Befehl „modinfo ena“ von [Testen, ob Enhanced Networking aktiviert ist](test-enhanced-networking-ena.md).

   ```
   ubuntu:~$ modinfo ena
   filename:	   /lib/modules/3.13.0-74-generic/updates/dkms/ena.ko
   version:		1.0.0
   license:		GPL
   description:	Elastic Network Adapter (ENA)
   author:		 Amazon.com, Inc. or its affiliates
   srcversion:	 9693C876C54CA64AE48F0CA
   alias:		  pci:v00001D0Fd0000EC21sv*sd*bc*sc*i*
   alias:		  pci:v00001D0Fd0000EC20sv*sd*bc*sc*i*
   alias:		  pci:v00001D0Fd00001EC2sv*sd*bc*sc*i*
   alias:		  pci:v00001D0Fd00000EC2sv*sd*bc*sc*i*
   depends:
   vermagic:	   3.13.0-74-generic SMP mod_unload modversions
   parm:		   debug:Debug level (0=none,...,16=all) (int)
   parm:		   push_mode:Descriptor / header push mode (0=automatic,1=disable,3=enable)
   		  0 - Automatically choose according to device capability (default)
   		  1 - Don't push anything to device memory
   		  3 - Push descriptors and header buffer to device memory (int)
   parm:		   enable_wd:Enable keepalive watchdog (0=disable,1=enable,default=1) (int)
   parm:		   enable_missing_tx_detection:Enable missing Tx completions. (default=1) (int)
   parm:		   numa_node_override_array:Numa node override map
   (array of int)
   parm:		   numa_node_override:Enable/Disable numa node override (0=disable)
   (int)
   ```

1. Fahren Sie mit Schritt 3 in [Ubuntu](#enhanced-networking-ena-ubuntu) fort. 

## Aktivieren von Enhanced Networking unter Windows
<a name="enable-enhanced-networking-ena-windows"></a>

Wenn Sie Ihre Instance gestartet haben und Enhanced Networking noch nicht aktiviert wurde, müssen Sie den erforderlichen Netzwerkadaptertreiber herunterladen und in der Instance installieren sowie anschließend das `enaSupport`-Instance-Attribut setzen, um die optimierte Netzwerkleistung zu erzielen.

**Aktivieren von Enhanced Networking**

1. Stellen Sie eine Verbindung mit Ihrer Instance her und melden Sie sich als lokaler Administrator an.

1. [Nur Windows Server 2016 und 2019] Führen Sie das folgende EC2 PowerShell Startskript aus, um die Instanz zu konfigurieren, nachdem der Treiber installiert wurde.

   ```
   PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
   ```

1. Installieren Sie den Treiber in der Instance, indem Sie wie folgt vorgehen:

   1. [Laden Sie](https://s3.amazonaws.com/ec2-windows-drivers-downloads/ENA/Latest/AwsEnaNetworkDriver.zip) den aktuellen Treiber in die Instance herunter.

   1. Extrahieren Sie die ZIP-Datei.

   1. Installieren Sie den Treiber, indem Sie das `install.ps1` PowerShell Skript ausführen.
**Anmerkung**  
Wenn ein Fehler der Ausführungsrichtlinie gemeldet wird, weisen Sie der Richtlinie `Unrestricted` zu (standardmäßig ist `Restricted` oder `RemoteSigned` zugewiesen). Führen Sie das `install.ps1` PowerShell Skript in einer Befehlszeile aus`Set-ExecutionPolicy -ExecutionPolicy Unrestricted`, und führen Sie es dann erneut aus.

1. Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. Aktivieren Sie die ENA-Unterstützung in Ihrer Instance wie folgt:

   1. Prüfen Sie auf Ihrem lokalen Computer das ENA-Support-Attribut auf Ihrer EC2-Instance, indem Sie einen der folgenden Befehle ausführen. Wenn das Attribut nicht aktiviert ist, wird „[]” oder ein leeres Feld zurückgegeben. `EnaSupport` ist standardmäßig auf `false` festgelegt.
      + [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI)

        ```
        aws ec2 describe-instances --instance-ids i-1234567890abcdef0 --query "Reservations[].Instances[].EnaSupport"
        ```
      + [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html)(Tools für Windows PowerShell)

        ```
        (Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.EnaSupport
        ```

   1. Führen Sie zur Aktivierung der ENA-Unterstützung einen der folgenden Befehle aus:
      + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

        ```
        aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --ena-support
        ```
      + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) (AWS Tools for Windows PowerShell)

        ```
        Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $true
        ```

      Wenn beim Neustarten der Instance Probleme auftreten, können Sie die ENA-Unterstützung auch über einen der folgenden Befehle deaktivieren:
      + [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) (AWS CLI)

        ```
        aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --no-ena-support
        ```
      + [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) (AWS Tools for Windows PowerShell)

        ```
        Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -EnaSupport $false
        ```

   1. Stellen Sie sicher, dass das Attribut auf `true` gesetzt wurde, indem Sie den Befehl **describe-instances** oder **Get-EC2Instance** wie oben gezeigt ausführen. Die Ausgabe sollte hetzt folgendermaßen aussehen:

      ```
      [
      	true
      ]
      ```

1. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. Prüfen Sie auf der Instance, wie folgt ob der ENA-Treiber installiert und aktiviert ist:

   1. Klicken Sie mit der rechten Maustaste auf das Netzwerksymbol und wählen Sie **Open Network and Sharing Center** aus.

   1. Wählen Sie den Ethernet-Adapter aus (z. B. **Ethernet 2**).

   1. Wählen Sie **Details** aus. Prüfen Sie unter **Network Connection Details**, ob **Description** den Wert **Amazon Elastic Network Adapter** hat.

1. (Optional) Erstellen Sie aus der Instance ein AMI. Das AMI übernimmt das `enaSupport`-Attribute von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der ENA standardmäßig aktiviert ist.

# ENA-Warteschlangen
<a name="ena-queues"></a>

ENA-Warteschlangen werden Netzwerkschnittstellen mit standardmäßigen statischen Grenzwerten zugewiesen, die auf dem Instance-Typ und der Größe der Instance 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) optimieren, indem Sie die Anzahl der Warteschlangen an Ihre spezifischen Workload-Anforderungen anpassen. Beispielsweise benötigen netzwerkintensive Anwendungen möglicherweise mehr Warteschlangen als CPU-intensive Anwendungen.

**Topics**
+ [Unterstützte Instances](#supported-instances)
+ [Die Anzahl der Warteschlangen ändern](#modify)

## Unterstützte Instances
<a name="supported-instances"></a>

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

### Allgemeine Zwecke
<a name="supported-instances-ena-queues-gp"></a>


| Instance-Typ | Standard-ENA-Warteschlangen pro Schnittstelle | Maximale ENA-Warteschlangen pro Schnittstelle | Maximale ENA-Warteschlangen pro Instance | 
| --- | --- | --- | --- | 
| 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 | 512 \$1 | 
| 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 | 512 \$1 | 
| M8a | 
| m8a.medium | 1 | 1 | 3 | 
| m8a.large | 2 | 2 | 6 | 
| m8a.xlarge | 4 | 4 | 16 | 
| m8a.2xlarge | 8 | 8 | 32 | 
| m8a.4xlarge | 8 | 16 | 64 | 
| m8a.8xlarge | 8 | 32 | 128 | 
| m8a.12xlarge | 16 | 64 | 192 | 
| m8a.16xlarge | 16 | 64 | 256 | 
| m8a.24xlarge | 16 | 128 | 384 | 
| m8a.48xlarge | 32 | 128 | 768 | 
| m8a.metal-24xl | 16 | 128 | 384 | 
| m8a.metal-48xl | 32 | 128 | 768 | 
| M8 AZN | 
| m8azn.medium | 1 | 1 | 3 | 
| m8azn.large | 2 | 2 | 8 | 
| m8azn.xlarge | 4 | 4 | 16 | 
| m8azn.3xlarge | 4 | 16 | 48 | 
| m8azn.6xlarge | 8 | 32 | 96 | 
| m8azn.12xlarge | 8 | 64 | 192 | 
| m8azn.24xlarge | 16 | 128 | 384 | 
| m8azn.metal-12xl | 8 | 64 | 192 | 
| m8azn.metal-24xl | 16 | 128 | 384 | 
| M 8 GB | 
| m8gb.medium | 1 | 1 | 2 | 
| m8gb.large | 2 | 2 | 6 | 
| m8gb.xlarge | 4 | 4 | 16 | 
| m8gb.2xlarge | 8 | 8 | 32 | 
| m8gb.4xlarge | 8 | 16 | 64 | 
| m8gb.8xlarge | 8 | 32 | 128 | 
| m8gb.12xlarge | 16 | 64 | 192 | 
| m8gb.16xlarge | 16 | 64 | 256 | 
| m8gb.24xlarge | 16 | 128 | 384 | 
| m8gb.48xlarge | 32 | 128 | 768 \$1 | 
| m8gb.metal-24xl | 32 | 128 | 768 | 
| m8gb.metal-48xl | 32 | 128 | 768 \$1 | 
| M8 Gn | 
| m8gn.medium | 1 | 1 | 2 | 
| m8gn.large | 2 | 2 | 6 | 
| m8gn.xlarge | 4 | 4 | 16 | 
| m8gn.2xlarge | 8 | 8 | 32 | 
| m8gn.4xlarge | 8 | 16 | 64 | 
| m8gn.8xlarge | 8 | 32 | 128 | 
| m8gn.12xlarge | 16 | 64 | 192 | 
| m8gn.16xlarge | 16 | 64 | 256 | 
| m8gn.24xlarge | 16 | 128 | 384 | 
| m8gn.48xlarge | 32 | 128 | 768 \$1 | 
| m8gn.metal-24xl | 32 | 128 | 768 | 
| m8gn.metal-48xl | 32 | 128 | 768 \$1 | 
| M8i | 
| m8i.large | 2 | 2 | 6 | 
| m8i.xlarge | 4 | 4 | 16 | 
| m8i.2xlarge | 8 | 8 | 32 | 
| m8i.4xlarge | 8 | 16 | 64 | 
| m8i.8xlarge | 8 | 32 | 128 | 
| m8i.12xlarge | 16 | 64 | 192 | 
| m8i.16xlarge | 16 | 64 | 256 | 
| m8i.24xlarge | 16 | 128 | 384 | 
| m8i.32xlarge | 16 | 128 | 512 | 
| m8i.48xlarge | 32 | 128 | 768 | 
| m8i.96xlarge | 32 | 128 | 1536 | 
| m8i.metal-48xl | 32 | 128 | 768 | 
| m8i.metal-96xl | 32 | 128 | 1536 | 
| M8 id | 
| m8id.large | 2 | 2 | 6 | 
| m8id.xlarge | 4 | 4 | 16 | 
| m8id.2xlarge | 8 | 8 | 32 | 
| m8id.4xlarge | 8 | 16 | 64 | 
| m8id.8xlarge | 8 | 32 | 128 | 
| m8id.12xlarge | 16 | 64 | 192 | 
| m8id.16xlarge | 16 | 64 | 256 | 
| m8id.24xlarge | 16 | 128 | 384 | 
| m8id.32xlarge | 16 | 128 | 512 | 
| m8id.48xlarge | 32 | 128 | 768 | 
| m8id.96xlarge | 32 | 128 | 1536 | 
| m8id.metal-48xl | 32 | 128 | 768 | 
| m8id.metal-96xl | 32 | 128 | 1536 | 
| M8i-Flex | 
| m8i-flex.large | 1 | 1 | 3 | 
| m8i-flex.xlarge | 2 | 2 | 8 | 
| m8i-flex.2xlarge | 4 | 4 | 16 | 
| m8i-flex.4xlarge | 4 | 8 | 32 | 
| m8i-flex.8xlarge | 4 | 16 | 64 | 
| m8i-flex.12xlarge | 8 | 32 | 96 | 
| m8i-flex.16xlarge | 8 | 32 | 128 | 

**Anmerkung**  
\$1 Diese Instance-Typen verfügen über mehrere Netzwerkkarten. Andere Instance-Typen verfügen über eine einzelne Netzwerkkarte. Weitere Informationen finden Sie unter [Netzwerkkarten](using-eni.md#network-cards). 

### Für Datenverarbeitung optimiert
<a name="supported-instances-ena-queues-co"></a>


| Instance-Typ | Standard-ENA-Warteschlangen pro Schnittstelle | Maximale ENA-Warteschlangen pro Schnittstelle | Maximale ENA-Warteschlangen pro Instance | 
| --- | --- | --- | --- | 
| 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 | 512 \$1 | 
| C8a | 
| c8a.medium | 1 | 1 | 3 | 
| c8a.large | 2 | 2 | 6 | 
| c8a.xlarge | 4 | 4 | 16 | 
| c8a.2xlarge | 8 | 8 | 32 | 
| c8a.4xlarge | 8 | 16 | 64 | 
| c8a.8xlarge | 8 | 32 | 128 | 
| c8a.12xlarge | 16 | 64 | 192 | 
| c8a.16xlarge | 16 | 64 | 256 | 
| c8a.24xlarge | 16 | 128 | 384 | 
| c8a.48xlarge | 32 | 128 | 768 | 
| c8a.metal-24xl | 16 | 128 | 384 | 
| c8a.metal-48xl | 32 | 128 | 768 | 
| C 8 GB | 
| c8gb.medium | 1 | 1 | 2 | 
| c8gb.large | 2 | 2 | 6 | 
| c8gb.xlarge | 4 | 4 | 16 | 
| c8gb.2xlarge | 8 | 8 | 32 | 
| c8gb.4xlarge | 8 | 16 | 64 | 
| c8gb.8xlarge | 8 | 32 | 128 | 
| c8gb.12xlarge | 16 | 64 | 192 | 
| c8gb.16xlarge | 16 | 64 | 256 | 
| c8gb.24xlarge | 16 | 128 | 384 | 
| c8gb.48xlarge | 32 | 128 | 768 \$1 | 
| c8gb.metal-24xl | 32 | 128 | 768 | 
| c8gb.metal-48xl | 32 | 128 | 768 \$1 | 
| C8gn | 
| 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 | 768 \$1 | 
| c8gn.metal-24xl | 32 | 128 | 768 | 
| c8gn.metal-48xl | 32 | 128 | 768 \$1 | 
| C8i | 
| c8i.large | 2 | 2 | 6 | 
| c8i.xlarge | 4 | 4 | 16 | 
| c8i.2xlarge | 8 | 8 | 32 | 
| c8i.4xlarge | 8 | 16 | 64 | 
| c8i.8xlarge | 8 | 32 | 128 | 
| c8i.12xlarge | 16 | 64 | 192 | 
| c8i.16xlarge | 16 | 64 | 256 | 
| c8i.24xlarge | 16 | 128 | 384 | 
| c8i.32xlarge | 16 | 128 | 512 | 
| c8i.48xlarge | 32 | 128 | 768 | 
| c8i.96xlarge | 32 | 128 | 1536 | 
| c8i.metal-48xl | 32 | 128 | 768 | 
| c8i.metal-96xl | 32 | 128 | 1536 | 
| C8 ID | 
| c8id.large | 2 | 2 | 6 | 
| c8id.xlarge | 4 | 4 | 16 | 
| c8id.2xlarge | 8 | 8 | 32 | 
| c8id.4xlarge | 8 | 16 | 64 | 
| c8id.8xlarge | 8 | 32 | 128 | 
| c8id.12xlarge | 16 | 64 | 192 | 
| c8id.16xlarge | 16 | 64 | 256 | 
| c8id.24xlarge | 16 | 128 | 384 | 
| c8id.32xlarge | 16 | 128 | 512 | 
| c8id.48xlarge | 32 | 128 | 768 | 
| c8id.96xlarge | 32 | 128 | 1536 | 
| c8id.metal-48xl | 32 | 128 | 768 | 
| c8id.metal-96xl | 32 | 128 | 1536 | 
| C8i-flex | 
| c8i-flex.large | 1 | 1 | 3 | 
| c8i-flex.xlarge | 2 | 2 | 8 | 
| c8i-flex.2xlarge | 4 | 4 | 16 | 
| c8i-flex.4xlarge | 4 | 8 | 32 | 
| c8i-flex.8xlarge | 4 | 16 | 64 | 
| c8i-flex.12xlarge | 8 | 32 | 96 | 
| c8i-flex.16xlarge | 8 | 32 | 128 | 

**Anmerkung**  
\$1 Diese Instance-Typen verfügen über mehrere Netzwerkkarten. Andere Instance-Typen verfügen über eine einzelne Netzwerkkarte. Weitere Informationen finden Sie unter [Netzwerkkarten](using-eni.md#network-cards). 

### Arbeitsspeicher optimiert
<a name="supported-instances-ena-queues-mo"></a>


| Instance-Typ | Standard-ENA-Warteschlangen pro Schnittstelle | Maximale ENA-Warteschlangen pro Schnittstelle | Maximale ENA-Warteschlangen pro Instance | 
| --- | --- | --- | --- | 
| 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 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 | 
| 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 | 512 \$1 | 
| 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 | 512 \$1 | 
| R8a | 
| r8a.medium | 1 | 1 | 3 | 
| r8a.large | 2 | 2 | 6 | 
| r8a.xlarge | 4 | 4 | 16 | 
| r8a.2xlarge | 8 | 8 | 32 | 
| r8a.4xlarge | 8 | 16 | 64 | 
| r8a.8xlarge | 8 | 32 | 128 | 
| r8a.12xlarge | 16 | 64 | 192 | 
| r8a.16xlarge | 16 | 64 | 256 | 
| r8a.24xlarge | 16 | 128 | 384 | 
| r8a.48xlarge | 32 | 128 | 768 | 
| r8a.metal-24xl | 16 | 128 | 384 | 
| r8a.metal-48xl | 32 | 128 | 768 | 
| R8gb | 
| r8gb.medium | 1 | 1 | 2 | 
| r8gb.large | 2 | 2 | 6 | 
| r8gb.xlarge | 4 | 4 | 16 | 
| r8gb.2xlarge | 8 | 8 | 32 | 
| r8gb.4xlarge | 8 | 16 | 64 | 
| r8gb.8xlarge | 8 | 32 | 128 | 
| r8gb.12xlarge | 16 | 64 | 192 | 
| r8gb.16xlarge | 16 | 64 | 256 | 
| r8gb.24xlarge | 16 | 128 | 384 | 
| r8gb.48xlarge | 32 | 128 | 768 \$1 | 
| r8gb.metal-24xl | 32 | 128 | 768 | 
| r8gb.metal-48xl | 32 | 128 | 768 \$1 | 
| R8gn | 
| r8gn.medium | 1 | 1 | 2 | 
| r8gn.large | 2 | 2 | 6 | 
| r8gn.xlarge | 4 | 4 | 16 | 
| r8gn.2xlarge | 8 | 8 | 32 | 
| r8gn.4xlarge | 8 | 16 | 64 | 
| r8gn.8xlarge | 8 | 32 | 128 | 
| r8gn.12xlarge | 16 | 64 | 192 | 
| r8gn.16xlarge | 16 | 64 | 256 | 
| r8gn.24xlarge | 16 | 128 | 384 | 
| r8gn.48xlarge | 32 | 128 | 768 \$1 | 
| r8gn.metal-24xl | 32 | 128 | 768 | 
| r8gn.metal-48xl | 32 | 128 | 768 \$1 | 
| R8i | 
| r8i.large | 2 | 2 | 6 | 
| r8i.xlarge | 4 | 4 | 16 | 
| r8i.2xlarge | 8 | 8 | 32 | 
| r8i.4xlarge | 8 | 16 | 64 | 
| r8i.8xlarge | 8 | 32 | 128 | 
| r8i.12xlarge | 16 | 64 | 192 | 
| r8i.16xlarge | 16 | 64 | 256 | 
| r8i.24xlarge | 16 | 128 | 384 | 
| r8i.32xlarge | 16 | 128 | 512 | 
| r8i.48xlarge | 32 | 128 | 768 | 
| r8i.96xlarge | 32 | 128 | 1536 | 
| r8i.metal-48xl | 32 | 128 | 768 | 
| r8i.metal-96xl | 32 | 128 | 1536 | 
| R 8 ID | 
| r8id.large | 2 | 2 | 6 | 
| r8id.xlarge | 4 | 4 | 16 | 
| r8id.2xlarge | 8 | 8 | 32 | 
| r8id.4xlarge | 8 | 16 | 64 | 
| r8id.8xlarge | 8 | 32 | 128 | 
| r8id.12xlarge | 16 | 64 | 192 | 
| r8id.16xlarge | 16 | 64 | 256 | 
| r8id.24xlarge | 16 | 128 | 384 | 
| r8id.32xlarge | 16 | 128 | 512 | 
| r8id.48xlarge | 32 | 128 | 768 | 
| r8id.96xlarge | 32 | 128 | 1536 | 
| r8id.metal-48xl | 32 | 128 | 768 | 
| r8id.metal-96xl | 32 | 128 | 1536 | 
| R8i-flex | 
| r8i-flex.large | 1 | 1 | 3 | 
| r8i-flex.xlarge | 2 | 2 | 8 | 
| r8i-flex.2xlarge | 4 | 4 | 16 | 
| r8i-flex.4xlarge | 4 | 8 | 32 | 
| r8i-flex.8xlarge | 4 | 16 | 64 | 
| r8i-flex.12xlarge | 8 | 32 | 96 | 
| r8i-flex.16xlarge | 8 | 32 | 128 | 
| x8 AEDZ | 
| x8aedz.large | 2 | 2 | 8 | 
| x8aedz.xlarge | 4 | 4 | 16 | 
| x8aedz.3xlarge | 4 | 16 | 48 | 
| x8aedz.6xlarge | 8 | 32 | 96 | 
| x8aedz.12xlarge | 8 | 64 | 192 | 
| x8aedz.24xlarge | 16 | 128 | 384 | 
| x8aedz.metal-12xl | 8 | 64 | 192 | 
| x8aedz.metal-24xl | 16 | 128 | 384 | 
| X8i | 
| x8i.large | 2 | 2 | 6 | 
| x8i.xlarge | 4 | 4 | 16 | 
| x8i.2xlarge | 8 | 8 | 32 | 
| x8i.4xlarge | 8 | 16 | 64 | 
| x8i.8xlarge | 8 | 32 | 128 | 
| x8i.12xlarge | 16 | 64 | 192 | 
| x8i.16xlarge | 16 | 64 | 256 | 
| x8i.24xlarge | 16 | 128 | 384 | 
| x8i.32xlarge | 16 | 128 | 512 | 
| x8i.48xlarge | 32 | 128 | 768 | 
| x8i.64xlarge | 32 | 128 | 1024 | 
| x8i.96xlarge | 32 | 128 | 1536 | 
| x8i.metal-48xl | 32 | 128 | 768 | 
| x8i.metal-96xl | 32 | 128 | 1536 | 

**Anmerkung**  
\$1 Diese Instance-Typen verfügen über mehrere Netzwerkkarten. Andere Instance-Typen verfügen über eine einzelne Netzwerkkarte. Weitere Informationen finden Sie unter [Netzwerkkarten](using-eni.md#network-cards). 

## Die Anzahl der Warteschlangen ändern
<a name="modify"></a>

Sie können die Anzahl der ENA-Warteschlangen mit oder ändern. AWS-Managementkonsole AWS CLI In der AWS-Managementkonsole ist die ENA-Warteschlangenkonfiguration unter jeder **Netzwerkschnittstellen**-Einstellung 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, überprüfen Sie mit dem folgenden Befehl Ihre aktuelle Warteschlangenanzahl.

```
aws ec2 describe-instances --instance-id i-1234567890abcdef0
```

**Anmerkung**  
Ihre Instance muss angehalten werden, damit die Anzahl der ENA-Warteschlangen geändert werden kann.
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](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-network-interface.html)`

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](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`

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](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-network-interface-attribute.html)`

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
```

# Problembehandlung beim ENA-Kernel-Treiber in Linux
<a name="troubleshooting-ena"></a>

Der Elastic Network Adapter (ENA) soll die Integrität des Betriebssystems verbessern und mögliche langfristige Störungen aufgrund von unerwartetem Hardwareverhalten oder Fehlern verringern. In der ENA-Architektur bleiben Geräte- oder Treiberfehler für das System weitestgehend transparent. Dieses Thema enthält Informationen zur Fehlerbehebung für ENA.

Beginnen Sie mit Abschnitt [Fehlerbehebung bei Verbindungsproblemen](#ena-connectivity-issues), wenn Sie keine Verbindung mit Ihrer Instance herstellen können.

Wenn nach der Migration zu einem Instance-Typ der sechsten Generation Leistungseinbußen auftreten, lesen Sie den Artikel [Was muss ich tun, bevor ich meine EC2 Instance auf eine Instance der sechsten Generation migriere, um sicherzustellen, dass ich die maximale Netzwerkleistung erhalte?](https://repost.aws/knowledge-center/migrate-to-gen6-ec2-instance)

Wenn Sie eine Verbindung mit Ihrer Instance herstellen können, können Sie mithilfe der Fehlererkennungs- und Wiederherstellungsmechanismen Diagnose-Informationen sammeln. Ausführliche Informationen zu diesen Mechanismen finden Sie in den weiteren Abschnitten dieses Themas.

**Topics**
+ [Fehlerbehebung bei Verbindungsproblemen](#ena-connectivity-issues)
+ [Keep-Alive-Mechanismus](#ena-keep-alive)
+ [Timeout für Registerlesevorgänge](#register-read-timeout-ena)
+ [Statistiken](#statistics-ena)
+ [Treiberfehlerprotokolle im syslog](#driver-error-logs-ena)
+ [Benachrichtigungen zur suboptimalen Konfiguration](#ts-ena-sub-opt-config-notification)

## Fehlerbehebung bei Verbindungsproblemen
<a name="ena-connectivity-issues"></a>

Wenn die Verbindung bei der Aktivierung des Enhanced Networking verloren geht, ist das `ena`-Modul u. U. nicht mit der Kernelversion Ihrer Instance kompatibel. Dies geschieht z .B. dann, wenn Sie das Modul für eine bestimmte Kernelversion (ohne Befehl **dkms** oder mit einer falsch konfigurierten **dkms.conf**-Datei) installieren und Ihr Instance-Kernel anschließend aktualisiert wird. Wenn der beim Start geladene Instance-Kernel nicht über ein richtig installiertes `ena`-Modul verfügt, erkennt Ihre Instance den Netzwerkadapter nicht und Ihre Instance ist nicht erreichbar.

Wenn Sie Enhanced Networking für eine PV-Instance oder ein AMI aktivieren, kann es ebenfalls vorkommen, dass Ihre Instance nicht erreichbar ist.

Wenn Ihre Instance nach dem Aktivieren von Enhanced Networking mit ENA nicht erreichbar ist, können Sie das Attribut `enaSupport` für Ihre Instance deaktivieren, damit diese wieder den üblichen Netzwerkadapter nutzt.

**So deaktivieren Sie Enhanced Networking mit ENA (EBS-gestützte Instances)**

1. Stoppen Sie die Instance von Ihrem lokalen Computer aus, indem Sie die EC2 Amazon-Konsole, den Befehl [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) oder das [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html)Cmdlet () verwenden.AWS -Tools für PowerShell

1. Deaktivieren Sie auf Ihrem lokalen Computer das erweiterte Netzwerkattribut, indem Sie den [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html)Befehl mit der `--no-ena-support` Option oder das [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html)Cmdlet mit dem Parameter verwenden. `-EnaSupport $false`

1. Starten Sie die Instance von Ihrem lokalen Computer aus mit der EC2 Amazon-Konsole, dem Befehl [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) oder dem [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html)Cmdlet.

1. (Optional) Stellen Sie eine Verbindung mit Ihrer Instance her und versuchen Sie, das Modul `ena` erneut mit Ihrer aktuellen Kernelversion zu installieren, indem Sie die entsprechenden Schritte unter [Aktivierung eine verbesserten Vernetzung mit ENA in Ihren EC2-Instances](enhanced-networking-ena.md) ausführen.<a name="disable-enhanced-networking-ena-instance-store"></a>

**So deaktivieren Sie Enhanced Networking mit ENA (Instance Store-Backed Instances)**

1. Erstellen Sie ein neues AMI, wie unter [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md) beschrieben.

1. Achten Sie bei der Registrierung des AMI darauf, die `--no-ena-support` Option in den Befehl [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) oder den `-EnaSupport $false` Parameter in das [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)Cmdlet aufzunehmen.

## Keep-Alive-Mechanismus
<a name="ena-keep-alive"></a>

Das ENA-Gerät sendet Keep-Alive-Ereignisse in einem bestimmten Zeitintervall (i. d. R. einmal pro Sekunde). Der ENA-Treiber implementiert einen Überwachungsmechanismus, der regelmäßig nach allen Keep-Alive-Nachrichten sucht. Wenn eine oder mehrere Nachrichten vorhanden sind, wird der Überwachungsmechanismus wieder aktiviert. Andernfalls geht der Treiber davon aus, dass ein Gerätefehler vorliegt, und ergreift folgende Maßnahmen:
+ Er legt seine aktuellen Statistiken unter syslog ab.
+ Er setzt das ENA-Gerät zurück.
+ Er setzt den ENA-Treiberstatus zurück.

Der obige Zurücksetzungsvorgang kann kurzzeitig zu einem Traffic-Verlust führen (TCP-Verbindungen können i. d. R. wiederhergestellt werden), der aber keine weiteren Auswirkungen für den Benutzer haben sollte.

Das ENA-Gerät fordert u. U. indirekt eine Gerätezurücksetzung an, indem keine Keep-Alive-Benachrichtigung gesendet wird, z. B. wenn das ENA-Gerät nach dem Laden einer nicht wiederherstellbaren Konfiguration in einen unbekannten Status versetzt wird.

Das folgende Beispiel zeigt den Vorgang des Zurücksetzens:

```
[18509.800135] ena 0000:00:07.0 eth1: Keep alive watchdog timeout. // The watchdog process initiates a reset
[18509.815244] ena 0000:00:07.0 eth1: Trigger reset is on		
[18509.825589] ena 0000:00:07.0 eth1: tx_timeout: 0 // The driver logs the current statistics
[18509.834253] ena 0000:00:07.0 eth1: io_suspend: 0
[18509.842674] ena 0000:00:07.0 eth1: io_resume: 0
[18509.850275] ena 0000:00:07.0 eth1: wd_expired: 1
[18509.857855] ena 0000:00:07.0 eth1: interface_up: 1
[18509.865415] ena 0000:00:07.0 eth1: interface_down: 0
[18509.873468] ena 0000:00:07.0 eth1: admin_q_pause: 0
[18509.881075] ena 0000:00:07.0 eth1: queue_0_tx_cnt: 0
[18509.888629] ena 0000:00:07.0 eth1: queue_0_tx_bytes: 0
[18509.895286] ena 0000:00:07.0 eth1: queue_0_tx_queue_stop: 0
.......
........
[18511.280972] ena 0000:00:07.0 eth1: free uncompleted tx skb qid 3 idx 0x7 // At the end of the down process, the driver discards incomplete packets.
[18511.420112] [ENA_COM: ena_com_validate_version] ena device version: 0.10 //The driver begins its up process
[18511.420119] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1
[18511.420127] [ENA_COM: ena_com_admin_init] ena_defs : Version:[b9692e8] Build date [Wed Apr  6 09:54:21 IDT 2016]
[18512.252108] ena 0000:00:07.0: Device watchdog is Enabled
[18512.674877] ena 0000:00:07.0: irq 46 for MSI/MSI-X
[18512.674933] ena 0000:00:07.0: irq 47 for MSI/MSI-X
[18512.674990] ena 0000:00:07.0: irq 48 for MSI/MSI-X
[18512.675037] ena 0000:00:07.0: irq 49 for MSI/MSI-X
[18512.675085] ena 0000:00:07.0: irq 50 for MSI/MSI-X
[18512.675141] ena 0000:00:07.0: irq 51 for MSI/MSI-X
[18512.675188] ena 0000:00:07.0: irq 52 for MSI/MSI-X
[18512.675233] ena 0000:00:07.0: irq 53 for MSI/MSI-X
[18512.675279] ena 0000:00:07.0: irq 54 for MSI/MSI-X
[18512.772641] [ENA_COM: ena_com_set_hash_function] Feature 10 isn't supported
[18512.772647] [ENA_COM: ena_com_set_hash_ctrl] Feature 18 isn't supported
[18512.775945] ena 0000:00:07.0: Device reset completed successfully // The reset process is complete
```

## Timeout für Registerlesevorgänge
<a name="register-read-timeout-ena"></a>

Die ENA-Architektur schlägt eine begrenzte Nutzung von MMIO-Lesevorgängen I/O (Memory Mapped) vor. Der ENA-Treiber greift nur während seines Initialisierungsvorgangs auf MMIO-Register zu. 

Wenn die Treiberprotokolle (verfügbar in der **dmesg**-Ausgabe) Fehler bei Lesevorgängen ausgeben, kann die Ursache ein nicht kompatibler oder falsch kompilierter Treiber, ein ausgelastetes Hardwaregerät oder einen Hardwarefehler sein.

Intermittierende Protokolleinträge, die auf Fehler bei Lesevorgängen hinweisen, stellen i. d. R. kein Problem dar. Der Treiber führt dafür in diesem Fall einen neuen Versuch durch. Eine Reihe von Protokolleinträgen mit Lesefehlern deuten jedoch auf ein Treiber- oder Hardwareproblem hin.

Nachfolgend finden Sie ein Beispiel für einen Treiber-Protokolleintrag, der auf einen Lesevorgangsfehler aufgrund eines Timeouts hindeutet:

```
[ 47.113698] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[1] offset[88] actual: req id[57006] offset[0] 
[ 47.333715] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[2] offset[8] actual: req id[57007] offset[0] 
[ 47.346221] [ENA_COM: ena_com_dev_reset] Reg read32 timeout occurred
```

## Statistiken
<a name="statistics-ena"></a>

Falls eine unzureichende Netzwerkleistung oder Latenzprobleme auftreten, sollten Sie die Gerätestatistiken aufrufen und überprüfen. Diese Statistiken können Sie mithilfe von **ethtool** wie folgt aufrufen.

```
[ec2-user ~]$ ethtool -S ethN
NIC statistics:
	tx_timeout: 0
	suspend: 0
	resume: 0
	wd_expired: 0
	interface_up: 1
	interface_down: 0
	admin_q_pause: 0
	bw_in_allowance_exceeded: 0
	bw_out_allowance_exceeded: 0
	pps_allowance_exceeded: 0
	conntrack_allowance_available: 450878
	conntrack_allowance_exceeded: 0
	linklocal_allowance_exceeded: 0
	queue_0_tx_cnt: 4329
	queue_0_tx_bytes: 1075749
	queue_0_tx_queue_stop: 0
	...
```

Unten sind die folgenden Befehlsausgabeparameter beschrieben:

`tx_timeout`: *N*  
Gibt an, wie oft der Netdev-Überwachungsmechanismus aktiviert wurde.

`suspend`: *N*  
Gibt an, wie oft der Treiber eine Aussetzung durchgeführt hat.

`resume`: *N*  
Gibt an, wie oft der Treiber eine Wiederaufnahme durchgeführt hat.

`wd_expired`: *N*  
Gibt an, wie oft der Treiber in den letzten drei Sekunden kein Keep-Alive-Ereignis empfangen hat.

`interface_up`: *N*  
Gibt an, wie oft die ENA-Schnittstelle aufgerufen wurde.

`interface_down`: *N*  
Gibt an, wie oft die ENA-Schnittstelle heruntergefahren wurde.

`admin_q_pause`: *N*  
Gibt an, wie oft die Admin-Warteschlange nicht in einem laufenden Zustand gefunden wurde.

`bw_in_allowance_exceeded`: *N*  
Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, da die eingehende aggregierte Bandbreite das Maximum für die Instance überschritten hat.

`bw_out_allowance_exceeded`: *N*  
Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, weil die ausgehende aggregierte Bandbreite das Maximum für die Instance überschritten hat.

`pps_allowance_exceeded`: *N*  
Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, weil die bidirektionale PPS das Maximum für die Instance überschritten hat. \$1

`conntrack_allowance_available`: *N*  
Die Anzahl der nachverfolgten Verbindungen, die von der Instance hergestellt werden können, bevor die zulässige Anzahl nachverfolgter Verbindungen dieses Instance-Typs erreicht wird. Nur für Nitro-basierte Instances verfügbar. Wird mit FreeBSD-Instances oder DPDK-Umgebungen nicht unterstützt.

`conntrack_allowance_exceeded`: *N*  
Die Anzahl der verworfenen Pakete, weil die Verbindungsverfolgung das Maximum für die Instance überschritten hat und keine neuen Verbindungen hergestellt werden konnten. Dies kann zu einem Paketverlust für den Datenverkehr zur oder von der Instance führen.

`linklocal_allowance_exceeded`: *N*  
Die Anzahl der verworfenen Pakete, weil das PPS des Datenverkehrs zu lokalen Proxy-Diensten das Maximum für die Netzwerkschnittstelle überschritten hat. Dies wirkt sich auf den Datenverkehr zum Amazon-DNS-Service, zum Instance Metadata Service und zum Amazon Time Sync Service aus, hat jedoch keine Auswirkung auf den Datenverkehr an benutzerdefinierte DNS-Resolver.

`queue_N_tx_cnt`: *N*  
Gibt die Anzahl der übertragenen Pakete für diese Warteschlange an.

`queue_N_tx_bytes`: *N*  
Gibt die Anzahl von übertragenen Bytes für diese Warteschlange an.

`queue_N_tx_queue_stop`: *N*  
Gibt an, wie oft die Warteschlange voll *N* war und angehalten wurde.

`queue_N_tx_queue_wakeup`: *N*  
Gibt an, wie oft die Warteschlange *N* wieder aufgenommen wurde, nachdem sie gestoppt wurde.

`queue_N_tx_dma_mapping_err`: *N*  
Fehleranzahl für direkten Speicherzugriff. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

`queue_N_tx_linearize`: *N*  
Gibt an, wie oft die SKB-Linearisierung für diese Warteschlange versucht wurde.

`queue_N_tx_linearize_failed`: *N*  
Gibt an, wie oft die SKB-Linearisierung für diese Warteschlange fehlgeschlagen ist.

`queue_N_tx_napi_comp`: *N*  
Gibt an, wie oft der `napi`-Handler `napi_complete` für diese Warteschlange aufgerufen hat.

`queue_N_tx_tx_poll`: *N*  
Gibt an, wie oft der `napi`-Handler für diese Warteschlange geplant war.

`queue_N_tx_doorbells`: *N*  
Gibt die Anzahl der Übertragungs-Doorbells für diese Warteschlange an.

`queue_N_tx_prepare_ctx_err`: *N*  
Gibt an, wie oft `ena_com_prepare_tx` für diese Warteschlange fehlgeschlagen ist.

`queue_N_tx_bad_req_id`: *N*  
Ungültige `req_id` für diese Warteschlange. Die gültige `req_id` ist 0, minus `queue_size` und minus 1. 

`queue_N_tx_llq_buffer_copy`: *N*  
Die Anzahl der Pakete, deren Header-Größe größer ist als der llq-Eintrag für diese Warteschlange.

`queue_N_tx_missed_tx`: *N*  
Gibt die Anzahl der nicht abgeschlossenen Pakete für diese Warteschlange an.

`queue_N_tx_unmask_interrupt`: *N*  
Gibt an, wie oft der tx-Interrupt für diese Warteschlange entlarvt wurde.

`queue_N_rx_cnt`: *N*  
Anzahl der empfangenen Pakete für diese Warteschlange.

`queue_N_rx_bytes`: *N*  
Anzahl der empfangenen Bytes für diese Warteschlange.

`queue_N_rx_rx_copybreak_pkt`: *N*  
Gibt an, wie oft die rx-Warteschlange ein Paket erhalten hat, das kleiner als die rx\$1copybreak-Paketgröße für diese Warteschlange ist.

`queue_N_rx_csum_good`: *N*  
Gibt an, wie oft die rx-Warteschlange ein Paket erhalten hat, in dem die Prüfsumme überprüft wurde und für diese Warteschlange korrekt war.

`queue_N_rx_refil_partial`: *N*  
Gibt an, wie oft der Treiber erfolglos versucht hat, den leeren Teil der rx-Warteschlange mit den Puffern für diese Warteschlange wieder aufzufüllen. Ist dieser Wert nicht 0, weist dies auf einen niedrigen Stand der Speicherressourcen hin.

`queue_N_rx_bad_csum`: *N*  
Gibt an, wie oft die Warteschlange `rx` eine fehlerhafte Prüfsumme für diese Warteschlange ermittelt hat (nur wenn rx-Prüfsummenabladung unterstützt wird).

`queue_N_rx_page_alloc_fail`: *N*  
Gibt an, wie oft die Seitenzuordnung für diese Warteschlange fehlgeschlagen ist. Ist dieser Wert nicht 0, weist dies auf einen niedrigen Stand der Speicherressourcen hin.

`queue_N_rx_skb_alloc_fail`: *N*  
Gibt an, wie oft die SKB-Zuordnung für diese Warteschlange fehlgeschlagen ist. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

`queue_N_rx_dma_mapping_err`: *N*  
Fehleranzahl für direkten Speicherzugriff. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

`queue_N_rx_bad_desc_num`: *N*  
Zu viele Puffer pro Paket. Wenn dieser Wert nicht 0 ist, weist dies auf die Verwendung von sehr kleinen Puffern hin.

`queue_N_rx_bad_req_id`: *N*  
Die req\$1id für diese Warteschlange ist nicht gültig. Die gültige req\$1id stammt von [0, queue\$1size - 1].

`queue_N_rx_empty_rx_ring`: *N*  
Gibt an, wie oft die rx-Warteschlange für diese Warteschlange leer war.

`queue_N_rx_csum_unchecked`: *N*  
Gibt an, wie oft die rx-Warteschlange ein Paket erhalten hat, dessen Prüfsumme nicht für diese Warteschlange überprüft wurde.

`queue_N_rx_xdp_aborted`: *N*  
Gibt an, wie oft ein XDP-Paket als XDP\$1ABORT klassifiziert wurde.

`queue_N_rx_xdp_drop`: *N*  
Gibt an, wie oft ein XDP-Paket als XDP\$1DROP klassifiziert wurde.

`queue_N_rx_xdp_pass`: *N*  
Gibt an, wie oft ein XDP-Paket als XDP\$1PASS klassifiziert wurde.

`queue_N_rx_xdp_tx`: *N*  
Gibt an, wie oft ein XDP-Paket als XDP\$1TX klassifiziert wurde.

`queue_N_rx_xdp_invalid`: *N*  
Gibt an, wie oft der XDP-Rückgabecode für das Paket ungültig war.

`queue_N_rx_xdp_redirect`: *N*  
Gibt an, wie oft ein XDP-Paket als XDP\$1REDIRECT klassifiziert wurde.

`queue_N_xdp_tx_cnt`: *N*  
Gibt die Anzahl der übertragenen Pakete für diese Warteschlange an.

`queue_N_xdp_tx_bytes`: *N*  
Gibt die Anzahl von übertragenen Bytes für diese Warteschlange an.

`queue_N_xdp_tx_queue_stop`: *N*  
Gibt an, wie oft diese Warteschlange vollständig gefüllt war und angehalten wurde.

`queue_N_xdp_tx_queue_wakeup`: *N*  
Gibt an, wie oft diese Warteschlange nach dem Anhalten wieder gestartet wurde.

`queue_N_xdp_tx_dma_mapping_err`: *N*  
Fehleranzahl für direkten Speicherzugriff. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

`queue_N_xdp_tx_linearize`: *N*  
Gibt an, wie oft die XDP-Puffer-Linearisierung für diese Warteschlange versucht wurde.

`queue_N_xdp_tx_linearize_failed`: *N*  
Gibt an, wie oft die XDP-Puffer-Linearisierung für diese Warteschlange fehlgeschlagen ist.

`queue_N_xdp_tx_napi_comp`: *N*  
Gibt an, wie oft der Napi-Handler napi\$1complete für diese Warteschlange aufgerufen hat.

`queue_N_xdp_tx_tx_poll`: *N*  
Gibt an, wie oft der Napi-Handler für diese Warteschlange geplant war.

`queue_N_xdp_tx_doorbells`: *N*  
Gibt die Anzahl der Übertragungs-Doorbells für diese Warteschlange an.

`queue_N_xdp_tx_prepare_ctx_err`: *N*  
Gibt an, wie oft der ena\$1com\$1prepare\$1tx für diese Warteschlange fehlgeschlagen ist. Dieser Wert sollte immer 0 sein. Überprüfen Sie die Treiberprotokolle, wenn dies nicht der Fall ist.

`queue_N_xdp_tx_bad_req_id`: *N*  
Die req\$1id für diese Warteschlange ist nicht gültig. Die gültige req\$1id stammt von [0, queue\$1size - 1].

`queue_N_xdp_tx_llq_buffer_copy`: *N*  
Die Anzahl der Pakete, deren Header mit LLQ-Pufferkopie für diese Warteschlange kopiert wurden.

`queue_N_xdp_tx_missed_tx`: *N*  
Gibt an, wie oft ein tx-Warteschlangeneintrag ein Abschluss-Timeout für diese Warteschlange verpasst hat.

`queue_N_xdp_tx_unmask_interrupt`: *N*  
Gibt an, wie oft der tx-Interrupt für diese Warteschlange entlarvt wurde.

`ena_admin_q_aborted_cmd`: *N*  
Gibt die Anzahl der abgebrochenen Admin-Befehle an. Dies passiert normalerweise während des automatischen Wiederherstellungsverfahrens.

`ena_admin_q_submitted_cmd`: *N*  
Gibt die Anzahl der Doorbells für die Admin-Warteschlange an.

`ena_admin_q_completed_cmd`: *N*  
Gibt die Anzahl der Abschlüsse für die Admin-Warteschlange an.

`ena_admin_q_out_of_space`: *N*  
Gibt an, wie oft der Treiber versucht hat, einen neuen Admin-Befehl zu senden, während die Warteschlange ausgelastet war.

`ena_admin_q_no_completion`: *N*  
Gibt an, wie oft der Treiber für einen Befehl keinen Admin-Abschluss erhalten hat.

## Treiberfehlerprotokolle im syslog
<a name="driver-error-logs-ena"></a>

Der ENA-Treiber schreibt während des Systemstarts Protokollnachrichten in das **syslog**. Wenn Sie entsprechende Probleme feststellen, können Sie diese Protokolle auf Fehler überprüfen. Nachfolgend finden Sie ein Beispiel für Informationen, die vom ENA-Treiber während des Systemstarts im **syslog** protokolliert wurden, sowie einige Anmerkungen zu ausgewählten Nachrichten.

```
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  478.416939] [ENA_COM: ena_com_validate_version] ena device version: 0.10
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  478.420915] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.256831] ena 0000:00:03.0: Device watchdog is Enabled
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.672947] ena 0000:00:03.0: creating 8 io queues. queue size: 1024
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.680885] [ENA_COM: ena_com_init_interrupt_moderation] Feature 20 isn't supported  // Interrupt moderation is not supported by the device
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.691609] [ENA_COM: ena_com_get_feature_ex] Feature 10 isn't supported // RSS HASH function configuration is not supported by the device
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.694583] [ENA_COM: ena_com_get_feature_ex] Feature 18 isn't supported //RSS HASH input source configuration is not supported by the device 
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.697433] [ENA_COM: ena_com_set_host_attributes] Set host attribute isn't supported
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.701064] ena 0000:00:03.0 (unnamed net_device) (uninitialized): Cannot set host attributes
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  479.704917] ena 0000:00:03.0: Elastic Network Adapter (ENA) found at mem f3000000, mac addr 02:8a:3c:1e:13:b5 Queues 8
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  480.805037] EXT4-fs (xvda1): re-mounted. Opts: (null)
Jun  3 22:37:46 ip-172-31-2-186 kernel: [  481.025842] NET: Registered protocol family 10
```

**Welche Fehler kann ich ignorieren?**  
Folgende Warnungen, die u. U. in den Fehlerprotokollen Ihres Systems auftauchen, können für den Elastic Network Adapter ignoriert werden:

Das Festlegen des Hostattributs wird nicht unterstützt  
Host-Attribute werden für dieses Gerät nicht unterstützt.

Es konnte kein Puffer für die Empfangswarteschlange reserviert werden  
Dies ist ein umkehrbarer Fehler, der darauf hinweist, dass beim Auslösen des Fehlers eine starke Speicherbelastung vorgelegen hat.

*X*Die Funktion wird nicht unterstützt  
Das angegebene Feature wird vom Elastic Network Adapter nicht unterstützt. Mögliche Werte für *X* sind unter anderem:  
+ 10: Konfiguration der RSS Hash-Funktion wird für dieses Gerät nicht unterstützt.
+ 12: Konfiguration der RSS Indirection-Tabelle wird für dieses Gerät nicht unterstützt.
+ 18: RSS-Hash-Input-Konfiguration wird für dieses Gerät nicht unterstützt.
+ 20: Interrupt Moderation wird für dieses Gerät nicht unterstützt.
+ 27: Der Elastic -Network-Adapter-Treiber unterstützt keine Abfrage der Ethernet-Kapazitäten von snmpd.

AENQ konnte nicht konfiguriert werden  
Der Elastic Network Adapter unterstützt keine AENQ-Konfiguration.

Es wird versucht, nicht unterstützte AENQ-Ereignisse festzulegen  
Dieser Fehler weist darauf hin, dass versucht wurde, eine AENQ-Ereignisgruppe festzulegen, die vom Elastic Network Adapter nicht unterstützt wird.

## Benachrichtigungen zur suboptimalen Konfiguration
<a name="ts-ena-sub-opt-config-notification"></a>

Das ENA-Gerät erkennt suboptimale Konfigurationseinstellungen im Treiber, die Sie ändern können. Das Gerät benachrichtigt den ENA-Treiber und protokolliert eine Warnung zur Konsole. Das folgende Beispiel zeigt das Format der Warnmeldung.

```
Sub-optimal configuration notification code: 1. Refer to AWS ENA documentation for additional details and mitigation options.
```

Die folgende Liste enthält Details zum Benachrichtigungscode und empfohlene Maßnahmen für suboptimale Konfigurationserkenntnisse.
+ **Code 1: ENA Express mit umfassender LLQ-Konfiguration wird nicht empfohlen**

  ENA Express ENI ist mit umfassenden LLQ konfiguriert. Diese Konfiguration ist suboptimal und könnte die Leistung von ENA Express beeinträchtigen. Wir empfehlen, die umfassenden LLQ-Einstellungen ENIs wie folgt zu deaktivieren, wenn Sie ENA Express verwenden.

  ```
  sudo rmmod ena && sudo modprobe ena force_large_llq_header=0
  ```

  Weitere Informationen zur optimalen Konfiguration für ENA Express finden Sie unter [Die Netzwerkleistung zwischen EC2-Instances mit ENA Express verbessern](ena-express.md).
+ **Code 2: ENA Express ENI mit suboptimaler Tx-Warteschlangentiefe wird nicht empfohlen**

  ENA Express ENI ist mit einer suboptimalen Tx-Warteschlangentiefe konfiguriert. Diese Konfiguration beeinträchtigt möglicherweise die Leistung von ENA Express. Wir empfehlen, alle Tx-Warteschlangen auf den Maximalwert für die Netzwerkschnittstelle zu vergrößern, wenn Sie ENA Express ENIs wie folgt verwenden.

  Sie können die folgenden **ethtool**-Befehle ausführen, um die LLQ-Größe anzupassen. *Weitere Informationen zur Steuerung, Abfrage und Aktivierung von Wide-LLQ finden Sie im Thema [Large Low-Latency Queue (Large LLQ)](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#large-low-latency-queue-large-llq) der Dokumentation zum Linux-Kernel-Treiber für ENA im Amazon Drivers-Repository. GitHub *

  ```
  ethtool -g interface
  ```

  Stellen Sie Ihre Tx-Warteschlangen auf die maximale Tiefe ein:

  ```
  ethtool -G interface tx depth
  ```

  Weitere Informationen zur optimalen Konfiguration für ENA Express finden Sie unter [Die Netzwerkleistung zwischen EC2-Instances mit ENA Express verbessern](ena-express.md).
+ **Code 3: ENA mit regulärer LLQ-Größe und Tx-Paketverkehr überschreitet die maximale unterstützte Header-Größe**

  Standardmäßig unterstützt ENA LLQ eine Tx-Paket-Header-Größe von bis zu 96 Byte. Wenn die Größe des Paket-Headers mehr als 96 Byte beträgt, wird das Paket verworfen. Um dieses Problem zu beheben, empfehlen wir, Wide-LLQ zu aktivieren, wodurch die unterstützte Tx-Paket-Header-Größe auf maximal 224 Byte erhöht wird.

  Wenn Sie Wide-LLQ aktivieren, wird die maximale Tx-Ringgröße jedoch von 1 000 auf 512 Einträge reduziert. Wide-LLQ ist standardmäßig für alle Instance-Typen von Nitro v4 und höher aktiviert.
  + Nitro-v4-Instance-Typen haben standardmäßig eine maximale Wide-LLQ-Tx-Ringgröße von 512 Einträgen, die nicht geändert werden kann.
  + Nitro-v5-Instance-Typen haben standardmäßig eine maximale Wide-LLQ-Tx-Ringgröße von 512 Einträgen, die Sie auf 1 000 Einträge erhöhen können.

  Sie können die folgenden **ethtool**-Befehle ausführen, um die LLQ-Größe anzupassen. *Weitere Informationen zur Steuerung, Abfrage und Aktivierung von Wide-LLQ finden Sie im Thema [Large Low-Latency Queue (Large LLQ)](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#large-low-latency-queue-large-llq) der Dokumentation zum Linux-Kernel-Treiber für ENA im Amazon Drivers-Repository. GitHub *

  Finden Sie die maximale Tiefe für Ihre Tx-Warteschlangen heraus:

  ```
  ethtool -g interface
  ```

  Stellen Sie Ihre Tx-Warteschlangen auf die maximale Tiefe ein:

  ```
  ethtool -G interface tx depth
  ```

# Fehlerbehebung beim Windows-Treiber von Elastic Network Adapter
<a name="troubleshoot-ena-driver"></a>

Der Elastic Network Adapter (ENA) wurde entwickelt, um den Zustand des Betriebssystems zu verbessern und unerwartetes Hardwareverhalten oder -ausfälle zu reduzieren, die den Betrieb Ihrer Windows-Instance stören können. In der ENA-Architektur bleiben Geräte- oder Treiberfehler für das Betriebssystem weitestgehend transparent.

## Sammeln von Diagnoseinformationen über die Instance
<a name="ts-ena-drv-collect-diagnostics"></a>

Die Schritte zum Öffnen der Tools des Windows-Betriebssystems variieren je nachdem, welche Version des Betriebssystems auf Ihrer Instance installiert ist. In den folgenden Abschnitten verwenden wir das Dialogfeld **Run** (Ausführen) zum Öffnen der Tools, das in allen Betriebssystemversionen gleich funktioniert. Sie können jedoch mit jeder beliebigen Methode auf diese Tools zugreifen.

**Zugriff auf das Dialogfeld „Run“ (Ausführen)**
+ Mit der Windows-Logo-Tastenkombination: `Windows` \$1 `R`
+ Über die Suchleiste:
  + Geben Sie im Suchfeld `run` ein.
  + Wählen Sie die Anwendung **Run** (Ausführen) aus den Suchergebnissen aus.

Einige Schritte erfordern das Kontextmenü, um auf Eigenschaften oder kontextsensitive Aktionen zuzugreifen. Dazu gibt es je nach Betriebssystemversion und Hardware verschiedene Möglichkeiten.

**Zugriff auf das Kontextmenü**
+ Mit der Maus: Klicken Sie mit der rechten Maustaste auf ein Element, um das Kontextmenü aufzurufen.
+ Mit der Tastatur:
  + Verwenden Sie je nach Betriebssystemversion `Shift` \$1 `F10` oder `Ctrl` \$1 `Shift` \$1 `F10`.
  + Wenn Sie die Kontexttaste auf Ihrer Tastatur haben (drei horizontale Linien in einem Feld), wählen Sie das gewünschte Element aus und drücken Sie dann die Kontexttaste.

Wenn Sie eine Verbindung mit Ihrer Instance herstellen können, verwenden Sie die folgenden Techniken, um Diagnoseinformationen zur Fehlerbehebung zu sammeln.

### Überprüfen des ENA-Gerätestatus
<a name="ts-ena-diagnostics-device-mgr"></a>

Gehen Sie folgendermaßen vor, um den Status Ihres ENA-Windows-Treibers mit dem Windows-Geräte-Manager zu überprüfen:

1. Öffnen Sie das Dialogfeld **Run** (Ausführen) mit einer der im vorherigen Abschnitt beschriebenen Methoden.

1. Zum Aufrufen des Windows-Geräte-Managers geben Sie `devmgmt.msc` im Feld **Run** (Ausführen) ein.

1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Device Manager“ (Geräte-Manager) geöffnet.

1. Wählen Sie den Pfeil links neben **Network adapters** (Netzwerkadapter) aus, um die Liste zu erweitern.

1. Wählen Sie den Namen aus oder öffnen Sie das Kontextmenü für den **Amazon Elastic Network Adapter** und wählen Sie dann **Properties** (Eigenschaften) aus. Dadurch wird das Dialogfeld mit den **Eigenschaften des Amazon Elastic Network Adapters** geöffnet.

1. Vergewissern Sie sich, dass auf der Registerkarte **Allgemein** die Meldung „Dieses Gerät funktioniert ordnungsgemäß“ erscheint.

### Untersuchen von Treiberereignismeldungen
<a name="ts-ena-diagnostics-event-log"></a>

Gehen Sie folgendermaßen vor, um die Ereignisprotokolle des ENA-Windows-Treibers mit der Windows-Ereignisanzeige zu überprüfen:

1. Öffnen Sie das Dialogfeld **Run** (Ausführen) mit einer der im vorherigen Abschnitt beschriebenen Methoden.

1. Zum Aufrufen der Windows-Ereignisanzeige geben Sie `eventvwr.msc` im Feld **Ausführen** ein.

1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Ereignisanzeige“ geöffnet.

1. Erweitern Sie das Menü **Windows Logs** (Windows--Protokolle) und wählen Sie dann **System** (System) aus.

1. Wählen Sie unter **Actions** (Aktionen) im oberen rechten Bereich **Filter Current Log** (Aktuelles Protokoll filtern) aus. Daraufhin wird das Filterdialogfeld angezeigt.

1. Geben Sie im Feld **Event sources** (Ereignisquellen) `ena` ein. Dies beschränkt die Ergebnisse auf Ereignisse, die vom ENA-Windows-Treiber generiert wurden.

1. Wählen Sie **OK** aus. Daraufhin werden gefilterte Ereignisprotokollergebnisse in den Detailabschnitten des Fensters angezeigt.

1. Um die Details ausführlicher anzuzeigen, wählen Sie eine Ereignismeldung in der Liste aus.

Das folgende Beispiel zeigt ein ENA-Treiberereignis in der Systemereignisliste der Windows-Ereignisanzeige:

![\[Beispiel: ENA-Treiberereignis, das in der Systemmeldungsliste der Windows-Ereignisanzeige angezeigt wird.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ena-event-viewer-example.png)


#### Zusammenfassung der Ereignismeldung
<a name="ts-ena-diagnostics-event-messages"></a>

Die folgende Tabelle zeigt Ereignismeldungen, die der ENA-Windows-Treiber generiert.


**Input**  

| Ereignis-ID | Beschreibung des ENA-Treiberereignisses | Typ | 
| --- | --- | --- | 
| 5001 | Hardware hat keine Ressourcen mehr. | Fehler | 
| 5002 | Adapter hat einen Hardwarefehler erkannt. | Fehler | 
| 5005 | Für den Adapter ist bei einem NDIS-Vorgang, der nicht rechtzeitig abgeschlossen wurde, eine Zeitüberschreitung aufgetreten. | Fehler | 
| 5032 | Adapter konnte das Gerät nicht zurücksetzen. | Fehler | 
| 5200 | Adapter wurde initialisiert. | Informativ | 
| 5201 | Adapter wurde unterbrochen. | Informativ | 
| 5202 | Adapter wurde angehalten. | Informativ | 
| 5203 | Adapter wurde neu gestartet. | Informativ | 
| 5204 | Adapter wurde heruntergefahren. | Informativ | 
| 5205 | Adapter wurde zurückgesetzt. | Fehler | 
| 5206 | Adapter wurde überraschend entfernt. | Fehler | 
| 5208 | Initialisierungsroutine des Adapters ist fehlgeschlagen. | Fehler | 
| 5210 | Adapter ist auf ein internes Problem gestoßen und hat erfolgreich wiederhergestellt. | Fehler | 

### Leistungsmetriken überprüfen
<a name="ts-ena-diagnostics-perf-metrics"></a>

Der ENA-Windows-Treiber veröffentlicht Netzwerkleistungsmetriken der Instances, für die sie aktiviert sind. Sie können Metriken für die Instance mit der nativen Leistungsmonitoranwendung anzeigen und aktivieren. Weitere Informationen zu den Metriken, die der ENA-Windows-Treiber erstellt, finden Sie unter [Netzwerkleistung für ENA-Einstellungen auf Ihrer EC2-Instance überwachen](monitoring-network-performance-ena.md).

Auf Instances, in denen ENA-Metriken aktiviert sind und der CloudWatch Amazon-Agent installiert ist, CloudWatch sammelt er die Metriken, die den Zählern im Windows Performance Monitor zugeordnet sind, sowie einige erweiterte Metriken für ENA. Diese Metriken werden zusätzlich zu den Metriken erfasst, die auf EC2-Instances standardmäßig aktiviert sind. Weitere Informationen zu den [Metriken finden Sie unter Vom CloudWatch Agenten gesammelte Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html) im * CloudWatch Amazon-Benutzerhandbuch*.

**Anmerkung**  
Leistungsmetriken stehen ab der ENA-Treiberversion 2.4.0 (sowie für die Version 2.2.3) zur Verfügung. Die ENA-Treiberversion 2.2.4 wurde aufgrund einer möglichen Leistungsverschlechterung bei EC2-Instances der sechsten Generation zurückgesetzt. Wir empfehlen, ein Upgrade auf die aktuelle Version des Treibers durchzuführen, um sicherzustellen, dass Sie über die neuesten Updates verfügen.

Zu den Möglichkeiten, wie Sie Leistungsmetriken verwenden können, gehören:
+ Beheben von Problemen mit der Instance-Leistung
+ Auswählen der richtigen Instance-Größe für eine Workload
+ Proaktives Planen von Skalierungsaktivitäten
+ Benchmarking von Anwendungen, um festzustellen, ob sie die auf einer Instance verfügbare Leistung maximieren

**Aktualisierungsrate**  
Standardmäßig aktualisiert der Treiber Metriken in einem Intervall von 1 Sekunde. Die Anwendung, die die Metriken abruft, verwendet jedoch möglicherweise ein anderes Intervall für die Abfrage. Sie können das Aktualisierungsintervall im Geräte-Manager mithilfe der erweiterten Eigenschaften für den Treiber ändern.

Gehen Sie folgendermaßen vor, um das Aktualisierungsintervall für den ENA-Windows-Treiber zu ändern:

1. Öffnen Sie das Dialogfeld **Run** (Ausführen) mit einer der im vorherigen Abschnitt beschriebenen Methoden.

1. Zum Aufrufen des Windows-Geräte-Managers geben Sie `devmgmt.msc` im Feld **Run** (Ausführen) ein.

1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Device Manager“ (Geräte-Manager) geöffnet.

1. Wählen Sie den Pfeil links neben **Network adapters** (Netzwerkadapter) aus, um die Liste zu erweitern.

1. Wählen Sie den Namen aus oder öffnen Sie das Kontextmenü für den **Amazon Elastic Network Adapter** und wählen Sie dann **Properties** (Eigenschaften) aus. Dadurch wird das Dialogfeld mit den **Eigenschaften des Amazon Elastic Network Adapters** geöffnet.

1. Öffnen Sie die Registerkarte **Advanced** (Erweitert) im Popup-Fenster.

1. Wählen Sie in der Liste **Property** (Eigenschaft) **Metrics Refresh Interval** (Aktualisierungsintervall für Metriken) aus, um den Wert zu ändern.

1. Wählen Sie **OK** aus, wenn Sie damit fertig sind.

## Benachrichtigungen zur suboptimalen Konfiguration untersuchen
<a name="ts-ena-win-sub-opt-config-notification"></a>

Das ENA-Gerät erkennt suboptimale Konfigurationseinstellungen im Treiber, die Sie ändern können. Das Gerät benachrichtigt den ENA-Treiber und protokolliert eine Ereignisbenachrichtigung. So überprüfen Sie suboptimale Ereignisse in der Windows-Ereignisanzeige

1. Öffnen Sie das Dialogfeld **Run** (Ausführen) mit einer der im vorherigen Abschnitt beschriebenen Methoden.

1. Zum Aufrufen der Windows-Ereignisanzeige geben Sie `eventvwr.msc` im Feld **Ausführen** ein.

1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Ereignisanzeige“ geöffnet.

1. Erweitern Sie das Menü **Windows Logs** (Windows--Protokolle) und wählen Sie dann **System** (System) aus.

1. Wählen Sie unter **Actions** (Aktionen) im oberen rechten Bereich **Filter Current Log** (Aktuelles Protokoll filtern) aus. Daraufhin wird das Filterdialogfeld angezeigt.

1. Geben Sie im Feld **Event sources** (Ereignisquellen) `ena` ein. Dies beschränkt die Ergebnisse auf Ereignisse, die vom ENA-Windows-Treiber generiert wurden.

1. Wählen Sie **OK** aus. Daraufhin werden gefilterte Ereignisprotokollergebnisse in den Detailabschnitten des Fensters angezeigt.

Ereignisse mit ID `59000` informieren Sie über suboptimale Konfigurations-Erkenntnisse. Klicken Sie mit der rechten Maustaste auf ein Ereignis und wählen Sie **Ereigniseigenschaften**, um eine detaillierte Ansicht zu öffnen, oder wählen Sie im Menü **Ansicht** die Option **Vorschaufenster**, um dasselbe Detail anzuzeigen.

![\[Beispiel: Systemereignis-ID 59000, das im Vorschaufenster der Windows-Ereignisanzeige angezeigt wird.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ena-sub-opt-event-general.png)


Öffnen Sie die Registerkarte **Details**, um den Ereignis-Code anzuzeigen. Im Abschnitt **Binärdaten: In Worten** ist das letzte Wort der Code.

![\[Beispiel: Das letzte Wort im Bereich Binärdaten wird hervorgehoben angezeigt.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ena-sub-opt-event-detail.png)


Die folgende Liste enthält Details zum Benachrichtigungscode und empfohlene Maßnahmen für suboptimale Konfigurationserkenntnisse.
+ **Code `1`: ENA Express mit umfassender LLQ-Konfiguration wird nicht empfohlen**

  ENA Express ENI ist mit umfassenden LLQ konfiguriert. Diese Konfiguration ist suboptimal und könnte die Leistung von ENA Express beeinträchtigen. Wir empfehlen, die umfassenden LLQ-Einstellungen ENIs wie folgt zu deaktivieren, wenn Sie ENA Express verwenden.

  1. Zum Aufrufen des Windows-Geräte-Managers geben Sie `devmgmt.msc` im Feld **Run** (Ausführen) ein.

  1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Device Manager“ (Geräte-Manager) geöffnet.

  1. Wählen Sie den Pfeil links neben **Network adapters** (Netzwerkadapter) aus, um die Liste zu erweitern.

  1. Öffnen Sie die Eigenschaften für den `Amazon Elastic Network Adapter`.

  1. Öffnen Sie von dort die Registerkarte **Erweitert**, um Ihre Änderungen vorzunehmen.

  1. Wählen Sie die Eigenschaft **LLQ Header Size Policy** aus und legen Sie ihren Wert auf `Normal (128 Bytes)` fest.

  1. Wählen Sie **OK** aus, um Ihre Änderungen zu speichern.
+ **Code `2`: ENA Express ENI mit suboptimaler Tx-Warteschlangentiefe wird nicht empfohlen.**

  ENA Express ENI ist mit einer suboptimalen Tx-Warteschlangentiefe konfiguriert. Diese Konfiguration beeinträchtigt möglicherweise die Leistung von ENA Express. Wir empfehlen, alle Tx-Warteschlangen auf den Maximalwert für die Netzwerkschnittstelle zu vergrößern, wenn Sie ENA Express ENIs wie folgt verwenden.

  Folgen Sie diesen Schritten, um die Tx-Warteschlangen auf die maximale Tiefe zu vergrößern:

  1. Zum Aufrufen des Windows-Geräte-Managers geben Sie `devmgmt.msc` im Feld **Run** (Ausführen) ein.

  1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Device Manager“ (Geräte-Manager) geöffnet.

  1. Wählen Sie den Pfeil links neben **Network adapters** (Netzwerkadapter) aus, um die Liste zu erweitern.

  1. Öffnen Sie die Eigenschaften für den `Amazon Elastic Network Adapter`.

  1. Öffnen Sie von dort die Registerkarte **Erweitert**, um Ihre Änderungen vorzunehmen.

  1. Wählen Sie die Eigenschaft **Übertragungspuffer** aus und legen Sie ihren Wert auf den maximal unterstützten Wert fest.

  1. Wählen Sie **OK** aus, um Ihre Änderungen zu speichern.

## Zurücksetzen des ENA-Adapters
<a name="ts-ena-drv-reset"></a>

Der Zurücksetzungsprozess startet, wenn der ENA-Windows-Treiber einen Fehler an einem Adapter feststellt und den Adapter als fehlerhaft markiert. Der Treiber kann sich nicht selbst zurücksetzen, daher ist es die Aufgabe des Betriebssystems, den Zustand des Adapters zu überprüfen und den Rücksetz-Handle für den ENA-Windows-Treiber aufzurufen. Beim Zurücksetzen kann es zu einer kurzen Zeitspanne kommen, in der der Datenverkehr unterbrochen ist. TCP-Verbindungen sollten jedoch wiederhergestellt werden können.

Der ENA-Adapter fordert möglicherweise auch indirekt eine Prozedur zum Zurücksetzen des Geräts an, indem er keine Keep-Alive-Benachrichtigung sendet. Wenn der ENA-Adapter beispielsweise nach dem Laden einer nicht wiederherstellbaren Konfiguration in einen unbekannten Status versetzt wird, sendet er möglicherweise keine Keep-Alive-Benachrichtigungen mehr.

**Häufige Ursachen für das Zurücksetzen des ENA-Adapters**
+ Keep-Alive-Nachrichten fehlen.

  Der ENA-Adapter sendet Keep-Alive-Ereignisse in einem bestimmten Zeitintervall (i. d. R. einmal pro Sekunde). Der ENA-Windows-Treiber implementiert einen Überwachungsmechanismus, der regelmäßig auf das Vorhandensein von Keep-Alive-Nachrichten überprüft. Wenn er seit der letzten Überprüfung eine oder mehrere neue Nachrichten erkennt, zeichnet er ein erfolgreiches Ergebnis auf. Andernfalls kommt der Treiber zu dem Schluss, dass das Gerät einen Fehler festgestellt hat, und leitet eine Zurücksetzungssequenz ein.
+ Pakete stecken in Übertragungswarteschlangen fest.

  Der ENA-Adapter überprüft, ob Pakete wie erwartet durch die Übertragungswarteschlangen fließen. Der ENA-Windows-Treiber erkennt, ob Pakete hängen bleiben, und leitet eine Zurücksetzungssequenz ein, wenn dies der Fall ist.
+ Timeout beim Lesen von MMIO-Registern I/O (Memory Mapped)

  Zur Begrenzung von MMIO-Lesevorgängen I/O (Memory Mapped) greift der ENA-Windows-Treiber nur bei Initialisierungs- und Rücksetzvorgängen auf MMIO-Register zu. Wenn der Treiber ein Timeout erkennt, führt er je nachdem, welcher Prozess ausgeführt wurde, eine der folgenden Aktionen aus:
  + Wenn während der Initialisierung ein Timeout erkannt wird, schlägt der Datenfluss fehl, was dazu führt, dass der Treiber ein gelbes Ausrufezeichen des ENA-Adapters im Windows-Geräte-Manager anzeigt.
  + Wenn beim Zurücksetzen ein Timeout erkannt wird, schlägt der Datenfluss fehl. Das Betriebssystem leitet dann ein überraschendes Entfernen des ENA-Adapters ein und stellt ihn wieder her, indem es den entfernten Adapter anhält und startet. Weitere Informationen zum überraschenden Entfernen einer Network Interface Card (NIC, Netzwerkschnittstellenkarte) finden Sie unter [Behandeln des überraschenden Entfernens einer NIC](https://learn.microsoft.com/en-us/windows-hardware/drivers/network/handling-the-surprise-removal-of-a-nic) in der Dokumentation für *Microsoft Windows-Hardwareentwickler*.

## Fehlerbehebungsszenarien
<a name="ts-ena-drv-scenarios"></a>

Die folgenden Szenarien können Ihnen bei der Behebung von Problemen helfen, die beim ENA-Windows-Treiber möglicherweise auftreten. Wir empfehlen Ihnen, mit dem Upgrade Ihres ENA-Treibers zu beginnen, wenn Sie nicht über die aktuelle Version verfügen. Den aktuellen Treiber für Ihre Windows-Betriebssystemversion finden Sie unter [NA-Windows-Treiber-Versionen verfolgen](ena-driver-releases-windows.md).

### Unerwartete ENA-Treiberversion installiert
<a name="ts-ena-drv-sc-unexpected-vsn"></a>

#### Description
<a name="ts-ena-drv-sc-unexpected-vsn-descr"></a>

Nachdem Sie die Schritte zur Installation einer bestimmten Version des ENA-Treibers ausgeführt haben, zeigt der Windows-Geräte-Manager an, dass Windows eine andere Version des ENA-Treibers installiert hat.

#### Ursache
<a name="ts-ena-drv-sc-unexpected-vsn-cause"></a>

Wenn Sie die Installation für ein Treiberpaket ausführen, ordnet Windows alle Treiberpakete, die für das angegebene Gerät gültig sind, im lokalen [Treiberspeicher](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/driver-store) ein, bevor es beginnt. Dann wird das Paket mit dem niedrigsten Rangwert als das am besten passende Paket ausgewählt. Dies kann sich von dem Paket unterscheiden, das Sie installieren wollten. Weitere Informationen zur Auswahl von Gerätetreiberpaketen finden Sie auf der *Microsoft-Dokumentationswebsite* unter [So wählt Windows ein Treiberpaket für ein Gerät aus](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/how-windows-selects-a-driver-for-a-device).

#### Lösung
<a name="ts-ena-drv-sc-unexpected-vsn-solution"></a>

[Um sicherzustellen, dass Windows die von Ihnen gewählte Treiberpaketversion installiert, können Sie Treiberpakete niedrigerer Rangfolge mit dem Befehlszeilentool Pn aus dem Treiberspeicher entfernen. PUtil](https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/pnputil)

Gehen Sie folgendermaßen vor, um den ENA-Treiber zu aktualisieren:

1. Stellen Sie eine Verbindung mit Ihrer Instance her und melden Sie sich als lokaler Administrator an.

1. Öffnen Sie das Eigenschaftenfenster des Geräte-Managers, wie im Abschnitt [Überprüfen des ENA-Gerätestatus](#ts-ena-diagnostics-device-mgr) beschrieben. Dadurch wird die Registerkarte **Allgemein** des Fensters **Eigenschaften zu Amazon Elastic Network Adapter** geöffnet.

1. Öffnen Sie die Registerkarte **Driver** (Treiber).

1. Wählen Sie **Update Driver (Treiber aktualisieren)** aus. Dadurch wird das Dialogfeld **Treibersoftware aktualisieren – Amazon Elastic Network Adapter** geöffnet.

   1. Auf der Seite **Wie wollen Sie nach Treibersoftware suchen?** wählen Sie **Meinen Computer nach Treibersoftware durchsuchen**.

   1. Wählen Sie auf der Seite **Nach Treibersoftware auf Ihrem Computer suchen** die Option **Lassen Sie mich aus einer Liste von Gerätetreibern auf meinem Computer auswählen**, die sich unter der Suchleiste befindet.

   1. Wählen Sie auf der Seite **Wählen Sie den Gerätetreiber aus, den Sie für diese Hardware installieren möchten**, die Option **Hat Festplatte ...** .

   1. Wählen Sie im Fenster **Von Festplatte installieren** die Option **Durchsuchen ...** , neben dem Verzeichnis der Datei aus der Dropdown-Liste.

   1. Navigieren Sie zu dem Verzeichnis, in das Sie das ENA-Treiberpaket heruntergeladen haben. Wählen Sie die Datei namens `ena.inf` und dann **Öffnen** aus.

   1. Um die Installation zu starten, wählen Sie **OK** und dann **Weiter**.

1. Wenn das Installationsprogramm Ihre Instanz nicht automatisch neu startet, führen Sie das **Restart-Computer** PowerShell Cmdlet aus.

   ```
   PS C:\> Restart-Computer
   ```

### Gerätewarnung für ENA-Treiber
<a name="ts-ena-drv-sc-device-warn"></a>

#### Description
<a name="ts-ena-drv-sc-device-warn-descr"></a>

Das ENA-Adaptersymbol im Abschnitt **Network adapters** (Netzwerkadapter) des Geräte-Managers zeigt ein Warnzeichen an (ein gelbes Dreieck mit einem Ausrufezeichen darin).

Das folgende Beispiel zeigt einen ENA-Adapter mit dem Warnsymbol im Windows-Geräte-Manager:

![\[Beispiel: ENA-Adapter mit Warnsymbol im Windows-Geräte-Manager.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ena-adapter-device-mgr-warn.png)


#### Ursache
<a name="ts-ena-drv-sc-device-warn-cause"></a>

Diese Gerätewarnung wird in der Regel durch Umgebungsprobleme verursacht, die möglicherweise weitere Nachforschungen und oft einen Eliminierungsprozess erfordern, um die zugrunde liegende Ursache zu ermitteln. Eine vollständige Liste der Gerätefehler finden Sie unter [Geräte-Manager: Fehlermeldungen](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/device-manager-error-messages) in der Microsoft-Dokumentation.

#### Lösung
<a name="ts-ena-drv-sc-device-warn-solution"></a>

Die Lösung für diese Gerätewarnung hängt von der Ursache ab. Der hier beschriebene Eliminierungsprozess umfasst einige grundlegende Schritte, um die häufigsten Probleme zu identifizieren und zu beheben, für die es möglicherweise eine einfache Lösung gibt. Eine zusätzliche Ursachenanalyse ist erforderlich, wenn diese Schritte das Problem nicht beheben.

Gehen Sie folgendermaßen vor, um häufige Probleme zu identifizieren und zu beheben:

1. 

**Anhalten und Starten des Geräts**

   Öffnen Sie das Eigenschaftenfenster des Geräte-Managers, wie im Abschnitt [Überprüfen des ENA-Gerätestatus](#ts-ena-diagnostics-device-mgr) beschrieben. Damit wird die Registerkarte **General** (Allgemein) des Fensters **Amazon Elastic Network Adapter Properties** (Eigenschaften von Amazon Elastic Network Adapter) geöffnet, in dem der **Device status** (Gerätestatus) den Fehlercode und eine kurze Meldung anzeigt.

   1. Öffnen Sie die Registerkarte **Driver** (Treiber).

   1. Wählen Sie **Disable Device** (Gerät deaktivieren) aus und antworten Sie bei der angezeigten Warnmeldung mit **Yes** (Ja).

   1. Wählen Sie **Enable Device** (Gerät aktivieren) aus.

1. 

**Stoppen und Starten der EC2-Instance**

   Wenn der Adapter weiterhin das Warnsymbol im Geräte-Manager anzeigt, besteht der nächste Schritt darin, die EC2-Instance zu stoppen und zu starten. Dadurch wird die Instance in den meisten Fällen auf unterschiedlicher Hardware neu gestartet.

1. 

**Untersuchen eines möglichen Instance-Ressourcenproblems**

   Wenn Sie Ihre EC2-Instance gestoppt und gestartet haben und das Problem weiterhin besteht, kann dies auf ein Ressourcenproblem in Ihrer Instance hinweisen, z. B. auf unzureichenden Speicher.

### Verbindungs-Timeout und Adapterzurücksetzung (Fehlercodes 5007, 5205)
<a name="ts-ena-drv-sc-conn"></a>

#### Description
<a name="ts-ena-drv-sc-conn-descr"></a>

Die Windows-Ereignisanzeige zeigt Adapter-Timeout und Zurücksetzungsereignisse an, die in Kombination für ENA-Adapter auftreten. Die Meldungen können wie die folgenden Beispiele aussehen:
+ **Ereignis-ID 5007**: Amazon Elastic Network Adapter: Timeout während eines Vorgangs.
+ **Ereignis-ID 5205**: Amazon Elastic Network Adapter: Zurücksetzen des Adapters wurde gestartet.

Adapterzurücksetzungen verursachen minimale Datenverkehrsunterbrechungen. Selbst wenn es mehrere Zurücksetzungen gibt, wäre es ungewöhnlich, dass sie zu schwerwiegenden Netzwerkstörungen führen.

#### Ursache
<a name="ts-ena-drv-sc-conn-cause"></a>

Diese Ereignissequenz zeigt an, dass der ENA-Windows-Treiber eine Zurücksetzung für einen ENA-Adapter initiiert hat, der nicht reagierte. Der Mechanismus, den der Gerätetreiber verwendet, um dieses Problem zu erkennen, ist jedoch anfällig für Fehlalarme, die durch ein Verhungern von CPU 0 entstehen.

#### Lösung
<a name="ts-ena-drv-sc-conn-solution"></a>

Wenn diese Kombination von Fehlern häufig auftritt, überprüfen Sie Ihre Ressourcenzuweisungen, um zu sehen, wo Anpassungen hilfreich sein könnten.

1. Öffnen Sie das Dialogfeld **Run** (Ausführen) mit einer der im vorherigen Abschnitt beschriebenen Methoden.

1. Um den Windows-Ressourcenmonitor zu öffnen, geben Sie `resmon` im Feld **Ausführen** ein.

1. Wählen Sie **OK** aus. Daraufhin wird das Fenster „Ressourcenmonitor“ geöffnet.

1. Öffnen Sie die Registerkarte **CPU**. Diagramme der Auslastung pro CPU werden auf der rechten Seite des Ressourcenmonitor-Fensters angezeigt.

1. Überprüfen Sie die Auslastungswerte für CPU 0, um festzustellen, ob sie zu hoch sind.

Es wird empfohlen, RSS so zu konfigurieren, dass CPU 0 für den ENA-Adapter bei größeren Instance-Typen (mehr als 16 vCPU) ausgeschlossen wird. Bei kleineren Instance-Typen kann die Konfiguration von RSS die Erfahrung verbessern, aber aufgrund der geringeren Anzahl verfügbarer Kerne sind Tests erforderlich, um sicherzustellen, dass sich die Einschränkung von CPU-Kernen nicht negativ auf die Leistung auswirkt.

Verwenden Sie den **Set-NetAdapterRss**-Befehl, um RSS für Ihren ENA-Adapter zu konfigurieren, wie im folgenden Beispiel gezeigt.

```
Set-NetAdapterRss -name (Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Elastic*"}).Name -Baseprocessorgroup 0 -BaseProcessorNumber 1
```

### Die Migration auf eine Instance-Infrastruktur der sechsten Generation wirkt sich auf Leistung oder die Anfügung aus.
<a name="ts-ena-drv-6gen-instance-perf"></a>

#### Description
<a name="ts-ena-drv-6gen-instance-perf-descr"></a>

Wenn Sie auf eine EC2-Instance der sechsten Generation migrieren, können eine Leistungsminderung oder Ausfälle von ENA-Anfügungen auftreten, wenn Sie Ihre ENA Windows-Treiberversion nicht aktualisiert haben.

#### Ursache
<a name="ts-ena-drv-6gen-instance-perf-cause"></a>

Für die EC2-Instance-Typen der sechsten Generation muss die folgende Mindestversion des ENA-Windows-Treibers vorhanden sein – basierend auf dem Instance-Betriebssystem (OS).


**Mindestversion**  

| Windows Server Version | ENA-Treiberversion | 
| --- | --- | 
|  Windows Server 2008 R2  |  2.2.3 oder 2.4.0  | 
|  Windows Server 2012 und höher  |  2.2.3 und höher  | 
|  Windows Workstation  |  2.2.3 und höher  | 

#### Lösung
<a name="ts-ena-drv-6gen-instance-perf-solution"></a>

Vergewissern Sie sich vor dem Upgrade auf eine EC2-Instance der sechsten Generation, dass das AMI, von dem aus Sie starten, über kompatible Treiber verfügt (basierend auf dem Instance-OS gemäß der obigen Tabelle). Weitere Informationen finden Sie im *AWS re:Post -Wissenszentrum* unter [Was muss ich tun, bevor ich meine EC2-Instance auf eine Instance der sechsten Generation migriere, um sicherzustellen, dass ich die maximale Netzwerkleistung erhalte?](https://repost.aws/knowledge-center/migrate-to-gen6-ec2-instance).

### Suboptimale Leistung für die Elastic-Network-Schnittstelle
<a name="ts-ena-drv-interface-perf"></a>

#### Description
<a name="ts-ena-drv-interface-perf-descr"></a>

Die ENA-Schnittstelle funktioniert nicht wie erwartet.

#### Ursache
<a name="ts-ena-drv-interface-perf-cause"></a>

Die Ursachenanalyse für Leistungsprobleme ist ein Eliminierungsprozess. Es sind zu viele Variablen beteiligt, um eine gängige Ursache zu nennen.

#### Lösung
<a name="ts-ena-drv-interface-perf-solution"></a>

Der erste Schritt bei der Ursachenanalyse besteht darin, die Diagnoseinformationen für die Instance, die nicht wie erwartet funktioniert, zu überprüfen, um festzustellen, ob es Fehler gibt, die das Problem verursachen könnten. Weitere Informationen finden Sie im Abschnitt [Sammeln von Diagnoseinformationen über die Instance](#ts-ena-drv-collect-diagnostics).

Möglicherweise müssen Sie die Standardkonfiguration des Betriebssystems ändern, um eine maximale Netzwerkleistung auf Instances mit Enhanced Networking zu erreichen. Einige Optimierungen, wie das Aktivieren des Prüfsummen-Offloads und das Aktivieren von RSS, sind in offiziellen Windows-Versionen standardmäßig konfiguriert. AMIs Weitere Optimierungen, die Sie auf den ENA-Adapter anwenden können, finden Sie in den Leistungsanpassungen unter [Leistungsanpassungen des ENA-Adapters](#ts-ena-drv-perf-adj).

Wir empfehlen, vorsichtig vorzugehen und die Anpassungen der Geräteeigenschaften auf die in diesem Abschnitt aufgeführten Änderungen oder auf bestimmte Änderungen zu beschränken, die AWS vom Support-Team empfohlen werden.

Gehen Sie folgendermaßen vor, um die Eigenschaften des ENA-Adapters zu ändern:

1. Öffnen Sie das Dialogfeld **Run** (Ausführen) mit einer der im vorherigen Abschnitt beschriebenen Methoden.

1. Zum Aufrufen des Windows-Geräte-Managers geben Sie `devmgmt.msc` im Feld **Run** (Ausführen) ein.

1. Wählen Sie **OK** aus. Dadurch wird das Fenster „Device Manager“ (Geräte-Manager) geöffnet.

1. Wählen Sie den Pfeil links neben **Network adapters** (Netzwerkadapter) aus, um die Liste zu erweitern.

1. Wählen Sie den Namen aus oder öffnen Sie das Kontextmenü für den **Amazon Elastic Network Adapter** und wählen Sie dann **Properties** (Eigenschaften) aus. Dadurch wird das Dialogfeld mit den **Eigenschaften des Amazon Elastic Network Adapters** geöffnet.

1. Um Ihre Änderungen vorzunehmen, öffnen Sie die Registerkarte **Erweitert**.

1. Wenn Sie fertig sind, wählen Sie **OK** aus, um Ihre Änderungen zu speichern.

Das folgende Beispiel zeigt eine ENA-Adaptereigenschaft im Windows-Geräte-Manager:

![\[Beispiel: ENA-Adaptereigenschaft im Windows-Geräte-Manager.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ena-adapter-device-mgr-property.png)


##### Leistungsanpassungen des ENA-Adapters
<a name="ts-ena-drv-perf-adj"></a>

Die folgende Tabelle enthält Eigenschaften, die angepasst werden können, um die Leistung für die ENA-Schnittstelle zu verbessern.


**Input**  

| Property (Eigenschaft) | Description (Beschreibung) | Standardwert | Anpassung | 
| --- | --- | --- | --- | 
|  Empfangspuffer  |  Steuert die Anzahl der Einträge in den Empfangswarteschlangen der Software.  |  1024  |  Kann auf maximal 8 192 erhöht werden.  | 
|  Receive Side Scaling (RSS)  |  Ermöglicht die effiziente Verteilung der Netzwerkempfangsverarbeitung auf mehrere CPUs Multiprozessorsysteme.  |  Aktiviert  |  Sie können die Last auf mehrere Prozessoren verteilen. Weitere Informationen hierzu finden Sie unter [Optimieren Sie die Netzwerkleistung auf EC2 Windows-Instanzen](enhanced-networking-os.md).  | 
|  Maximale Anzahl von RSS-Warteschlangen  |  Legt die maximal zulässige Anzahl von RSS-Warteschlangen fest, wenn `RSS` aktiviert ist.  |  32  |  Die Anzahl der RSS-Warteschlangen wird während der Treiberinitialisierung bestimmt und umfasst (unter anderem) die folgenden Beschränkungen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/troubleshoot-ena-driver.html) Sie können einen Wert von 1 – 32 festlegen, je nach Ihren Beschränkungen für die Instance und Hardwaregenerierung. Weitere Informationen hierzu finden Sie unter [Optimieren Sie die Netzwerkleistung auf EC2 Windows-Instanzen](enhanced-networking-os.md).  | 
|  Jumbo-Paket  |  Ermöglicht die Verwendung von Jumbo-Ethernet-Frames (mehr als 1 500 Byte Nutzlast).  |  Deaktiviert (dies begrenzt die Nutzlast auf höchstens 1 500 Byte).  |  Ein Wert bis zu `9015` kann festgelegt werden, was auf 9 001 Byte Nutzlast entspricht. Dies ist die maximale Nutzlast für Jumbo-Ethernet-Frames. Siehe [Überlegungen zur Verwendung von Jumbo-Ethernet-Frames](#ts-ena-drv-jumbo-frames).  | 

##### Überlegungen zur Verwendung von Jumbo-Ethernet-Frames
<a name="ts-ena-drv-jumbo-frames"></a>

Für Jumbo-Frames sind mehr als 1 500 Byte an Daten zulässig, indem die Nutzlastgröße pro Paket und somit der Prozentsatz des Pakets erhöht wird, bei dem es sich nicht um Paket-Overhead handelt. Es werden weniger Pakete benötigt, um die gleiche Menge an verwendbaren Daten zu übertragen. Der Verkehr ist jedoch in folgenden Fällen auf eine maximale MTU von 1 500 beschränkt:
+ Verkehr außerhalb einer bestimmten AWS Region für EC2 Classic.
+ Datenverkehr außerhalb einer einzelnen VPC
+ Datenverkehr über eine regionsübergreifende VPC-Peering-Verbindung
+ Datenverkehr über VPN-Verbindungen
+ Datenverkehr über ein Internet-Gateway

**Anmerkung**  
Pakete über 1 500 Byte sind fragmentiert. Wenn Sie das `Don't Fragment`-Flag im IP-Header gesetzt haben, werden diese Pakete gelöscht.  
Jumbo-Frames sollten für Internet-Datenverkehr bzw. für Datenverkehr, der eine VPC verlässt, nur mit Vorsicht verwendet werden. Pakete werden durch zwischengeschaltete Systeme fragmentiert, sodass dieser Datenverkehr verlangsamt wird. Um Jumbo-Frames innerhalb einer VPC zu verwenden, ohne den ausgehenden Datenverkehr zu beeinträchtigen, der die VPC verlässt, versuchen Sie es mit einer der folgenden Optionen:  
Konfigurieren Sie die MTU-Größe nach Route.
Verwenden Sie mehrere Netzwerkschnittstellen mit unterschiedlichen MTU-Größen und Routen.

**Empfohlene Anwendungsfälle für Jumbo-Frames**  
Jumbo-Frames können für den Verkehr innerhalb und zwischen diesen nützlich sein. VPCs Wir empfehlen die Verwendung von Jumbo-Frames für folgende Anwendungsfälle:
+ Bei Instances, die sich gemeinsam innerhalb einer Cluster-Placement-Gruppe befinden, helfen Jumbo-Frames dabei, den maximal möglichen Netzwerkdurchsatz zu erzielen. Weitere Informationen finden Sie unter [Platzierungsgruppen für Ihre EC2 Amazon-Instances](placement-groups.md).
+ Sie können Jumbo Frames für den Datenverkehr zwischen Ihren VPCs und Ihren lokalen Netzwerken über verwenden. Direct Connect*Weitere Informationen zur Verwendung Direct Connect und Überprüfung der Jumbo-Frame-Fähigkeit finden Sie im Benutzerhandbuch unter [MTU for private virtual interfaces or transit virtual interfaces](https://docs.aws.amazon.com/directconnect/latest/UserGuide/WorkingWithVirtualInterfaces.html#set-jumbo-frames-vif.html).Direct Connect *
+ Weitere Informationen zu unterstützten MTU-Größen für Transit Gateways finden Sie unter [Kontingente für Ihre Transit Gateways](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-quotas.html#mtu-quota) in *Amazon VPC Transit Gateways*.

# 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 kommunizieren.

**Vorteile von ENA Express**
+ Erhöht die maximale Bandbreite, die ein einzelner Datenablauf nutzen kann, von 5 Gbit/s auf 25 Gbit/s innerhalb der Availability Zone bis zum aggregierten Instance-Limit.
+ Reduziert die Latenz des Netzwerkverkehrs zwischen EC2-Instances, insbesondere in Zeiten hoher Netzwerkauslastung.
+ 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 ein hohes Volumen an Paketen pro Sekunde sendet oder empfängt und die meiste Zeit auf Latenz optimiert werden muss, insbesondere in Zeiten ohne Überlastung des Netzwerks, ist [Enhanced Networking](enhanced-networking.md) möglicherweise besser für Ihr Netzwerk geeignet.
ENA-Express-Datenverkehr kann nicht in einer Local Zone gesendet werden.

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 Zeiträumen mit geringem Netzwerkverkehr bemerken Sie möglicherweise eine leichte Erhöhung der Paketlatenz (mehrere zehn Mikrosekunden), 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 Bandbreite für einzelne Abläufe von 5 Gbit/s auf 25 Gbit/s innerhalb derselben Availability Zone bis 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.
+ Länger ausgeführte Prozesse sollten in Zeiten der Netzwerküberlastung eine geringere Latenz aufweisen.
+ 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)
+ [Voraussetzungen für Linux-Instances](#ena-express-prereq-linux)
+ [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 Availability Zone laufen.
+ 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 wird, verwenden die Instanzen das TCP/UDP Standardprotokoll, jedoch ohne SRD für die Kommunikation.

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\$164 | 
| m6a.16xlarge | x86\$164 | 
| m6a.24xlarge | x86\$164 | 
| m6a.32xlarge | x86\$164 | 
| m6a.48xlarge | x86\$164 | 
| m6a.metal | x86\$164 | 
| m6i.8xlarge | x86\$164 | 
| m6i.12xlarge | x86\$164 | 
| m6i.16xlarge | x86\$164 | 
| m6i.24xlarge | x86\$164 | 
| m6i.32xlarge | x86\$164 | 
| m6i.metal | x86\$164 | 
| m6id.8xlarge | x86\$164 | 
| m6id.12xlarge | x86\$164 | 
| m6id.16xlarge | x86\$164 | 
| m6id.24xlarge | x86\$164 | 
| m6id.32xlarge | x86\$164 | 
| m6id.metal | x86\$164 | 
| m6idn.8xlarge | x86\$164 | 
| m6idn.12xlarge | x86\$164 | 
| m6idn.16xlarge | x86\$164 | 
| m6idn.24xlarge | x86\$164 | 
| m6idn.32xlarge | x86\$164 | 
| m6idn.metal | x86\$164 | 
| m6in.8xlarge | x86\$164 | 
| m6in.12xlarge | x86\$164 | 
| m6in.16xlarge | x86\$164 | 
| m6in.24xlarge | x86\$164 | 
| m6in.32xlarge | x86\$164 | 
| m6in.metal | x86\$164 | 
| m7a.12xlarge | x86\$164 | 
| m7a.16xlarge | x86\$164 | 
| m7a.24xlarge | x86\$164 | 
| m7a.32xlarge | x86\$164 | 
| m7a.48xlarge | x86\$164 | 
| m7a.metal-48xl | x86\$164 | 
| m7g.12xlarge | arm64 | 
| m7g.16xlarge | arm64 | 
| m7g.metal | arm64 | 
| m7gd.12xlarge | arm64 | 
| m7gd.16xlarge | arm64 | 
| m7gd.metal | arm64 | 
| m7i.12xlarge | x86\$164 | 
| m7i.16xlarge | x86\$164 | 
| m7i.24xlarge | x86\$164 | 
| m7i.48xlarge | x86\$164 | 
| m7i.metal-24xl | x86\$164 | 
| m7i.metal-48xl | x86\$164 | 
| m8a.16xlarge | x86\$164 | 
| m8a.24xlarge | x86\$164 | 
| m8a.48xlarge | x86\$164 | 
| m8a.metal-24xl | x86\$164 | 
| m8a.metal-48xl | x86\$164 | 
| m8azn.12xlarge | x86\$164 | 
| m8azn.24xlarge | x86\$164 | 
| m8azn.metal-12xl | x86\$164 | 
| m8azn.metal-24xl | x86\$164 | 
| 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\$164 | 
| m8i.32xlarge | x86\$164 | 
| m8i.48xlarge | x86\$164 | 
| m8i.96xlarge | x86\$164 | 
| m8i.metal-48xl | x86\$164 | 
| m8i.metal-96xl | x86\$164 | 
| m8id.24xlarge | x86\$164 | 
| m8id.32xlarge | x86\$164 | 
| m8id.48xlarge | x86\$164 | 
| m8id.96xlarge | x86\$164 | 
| m8id.metal-48xl | x86\$164 | 
| m8id.metal-96xl | x86\$164 | 

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


| Instance-Typ | Architektur | 
| --- | --- | 
| c6a.12xlarge | x86\$164 | 
| c6a.16xlarge | x86\$164 | 
| c6a.24xlarge | x86\$164 | 
| c6a.32xlarge | x86\$164 | 
| c6a.48xlarge | x86\$164 | 
| c6a.metal | x86\$164 | 
| c6gn.4xlarge | arm64 | 
| c6gn.8xlarge | arm64 | 
| c6gn.12xlarge | arm64 | 
| c6gn.16xlarge | arm64 | 
| c6i.8xlarge | x86\$164 | 
| c6i.12xlarge | x86\$164 | 
| c6i.16xlarge | x86\$164 | 
| c6i.24xlarge | x86\$164 | 
| c6i.32xlarge | x86\$164 | 
| c6i.metal | x86\$164 | 
| c6id.8xlarge | x86\$164 | 
| c6id.12xlarge | x86\$164 | 
| c6id.16xlarge | x86\$164 | 
| c6id.24xlarge | x86\$164 | 
| c6id.32xlarge | x86\$164 | 
| c6id.metal | x86\$164 | 
| c6in.8xlarge | x86\$164 | 
| c6in.12xlarge | x86\$164 | 
| c6in.16xlarge | x86\$164 | 
| c6in.24xlarge | x86\$164 | 
| c6in.32xlarge | x86\$164 | 
| c6in.metal | x86\$164 | 
| c7a.12xlarge | x86\$164 | 
| c7a.16xlarge | x86\$164 | 
| c7a.24xlarge | x86\$164 | 
| c7a.32xlarge | x86\$164 | 
| c7a.48xlarge | x86\$164 | 
| c7a.metal-48xl | x86\$164 | 
| 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\$164 | 
| c7i.16xlarge | x86\$164 | 
| c7i.24xlarge | x86\$164 | 
| c7i.48xlarge | x86\$164 | 
| c7i.metal-24xl | x86\$164 | 
| c7i.metal-48xl | x86\$164 | 
| c8a.16xlarge | x86\$164 | 
| c8a.24xlarge | x86\$164 | 
| c8a.48xlarge | x86\$164 | 
| c8a.metal-24xl | x86\$164 | 
| c8a.metal-48xl | x86\$164 | 
| 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\$164 | 
| c8i.32xlarge | x86\$164 | 
| c8i.48xlarge | x86\$164 | 
| c8i.96xlarge | x86\$164 | 
| c8i.metal-48xl | x86\$164 | 
| c8i.metal-96xl | x86\$164 | 
| c8id.24xlarge | x86\$164 | 
| c8id.32xlarge | x86\$164 | 
| c8id.48xlarge | x86\$164 | 
| c8id.96xlarge | x86\$164 | 
| c8id.metal-48xl | x86\$164 | 
| c8id.metal-96xl | x86\$164 | 

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


| Instance-Typ | Architektur | 
| --- | --- | 
| r6a.12xlarge | x86\$164 | 
| r6a.16xlarge | x86\$164 | 
| r6a.24xlarge | x86\$164 | 
| r6a.32xlarge | x86\$164 | 
| r6a.48xlarge | x86\$164 | 
| r6a.metal | x86\$164 | 
| r6i.8xlarge | x86\$164 | 
| r6i.12xlarge | x86\$164 | 
| r6i.16xlarge | x86\$164 | 
| r6i.24xlarge | x86\$164 | 
| r6i.32xlarge | x86\$164 | 
| r6i.metal | x86\$164 | 
| r6id.8xlarge | x86\$164 | 
| r6id.12xlarge | x86\$164 | 
| r6id.16xlarge | x86\$164 | 
| r6id.24xlarge | x86\$164 | 
| r6id.32xlarge | x86\$164 | 
| r6id.metal | x86\$164 | 
| r6idn.8xlarge | x86\$164 | 
| r6idn.12xlarge | x86\$164 | 
| r6idn.16xlarge | x86\$164 | 
| r6idn.24xlarge | x86\$164 | 
| r6idn.32xlarge | x86\$164 | 
| r6idn.metal | x86\$164 | 
| r6in.8xlarge | x86\$164 | 
| r6in.12xlarge | x86\$164 | 
| r6in.16xlarge | x86\$164 | 
| r6in.24xlarge | x86\$164 | 
| r6in.32xlarge | x86\$164 | 
| r6in.metal | x86\$164 | 
| r7a.12xlarge | x86\$164 | 
| r7a.16xlarge | x86\$164 | 
| r7a.24xlarge | x86\$164 | 
| r7a.32xlarge | x86\$164 | 
| r7a.48xlarge | x86\$164 | 
| r7a.metal-48xl | x86\$164 | 
| r7g.12xlarge | arm64 | 
| r7g.16xlarge | arm64 | 
| r7g.metal | arm64 | 
| r7gd.12xlarge | arm64 | 
| r7gd.16xlarge | arm64 | 
| r7gd.metal | arm64 | 
| r7i.12xlarge | x86\$164 | 
| r7i.16xlarge | x86\$164 | 
| r7i.24xlarge | x86\$164 | 
| r7i.48xlarge | x86\$164 | 
| r7i.metal-24xl | x86\$164 | 
| r7i.metal-48xl | x86\$164 | 
| r7iz.8xlarge | x86\$164 | 
| r7iz.12xlarge | x86\$164 | 
| r7iz.16xlarge | x86\$164 | 
| r7iz.32xlarge | x86\$164 | 
| r7iz.metal-16xl | x86\$164 | 
| r7iz.metal-32xl | x86\$164 | 
| r8a.16xlarge | x86\$164 | 
| r8a.24xlarge | x86\$164 | 
| r8a.48xlarge | x86\$164 | 
| r8a.metal-24xl | x86\$164 | 
| r8a.metal-48xl | x86\$164 | 
| 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\$164 | 
| r8i.32xlarge | x86\$164 | 
| r8i.48xlarge | x86\$164 | 
| r8i.96xlarge | x86\$164 | 
| r8i.metal-48xl | x86\$164 | 
| r8i.metal-96xl | x86\$164 | 
| r8id.24xlarge | x86\$164 | 
| r8id.32xlarge | x86\$164 | 
| r8id.48xlarge | x86\$164 | 
| r8id.96xlarge | x86\$164 | 
| r8id.metal-48xl | x86\$164 | 
| r8id.metal-96xl | x86\$164 | 
| u7i-6tb.112xlarge | x86\$164 | 
| u7i-8tb.112xlarge | x86\$164 | 
| u7i-12tb.224xlarge | x86\$164 | 
| u7in-16tb.224xlarge | x86\$164 | 
| u7in-24tb.224xlarge | x86\$164 | 
| u7in-32tb.224xlarge | x86\$164 | 
| u7inh-32tb.480xlarge | x86\$164 | 
| x2idn.16xlarge | x86\$164 | 
| x2idn.24xlarge | x86\$164 | 
| x2idn.32xlarge | x86\$164 | 
| x2idn.metal | x86\$164 | 
| x2iedn.8xlarge | x86\$164 | 
| x2iedn.16xlarge | x86\$164 | 
| x2iedn.24xlarge | x86\$164 | 
| x2iedn.32xlarge | x86\$164 | 
| x2iedn.metal | x86\$164 | 
| x8g.12xlarge | arm64 | 
| x8g.16xlarge | arm64 | 
| x8g.24xlarge | arm64 | 
| x8g.48xlarge | arm64 | 
| x8g.metal-24xl | arm64 | 
| x8g.metal-48xl | arm64 | 
| x8aedz.24xlarge | x86\$164 | 
| x8aedz.metal-24xl | x86\$164 | 
| x8i.24xlarge | x86\$164 | 
| x8i.32xlarge | x86\$164 | 
| x8i.48xlarge | x86\$164 | 
| x8i.64xlarge | x86\$164 | 
| x8i.96xlarge | x86\$164 | 
| x8i.metal-48xl | x86\$164 | 
| x8i.metal-96xl | x86\$164 | 

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


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

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


| Instance-Typ | Architektur | 
| --- | --- | 
| i4g.4xlarge | arm64 | 
| i4g.8xlarge | arm64 | 
| i4g.16xlarge | arm64 | 
| i4i.8xlarge | x86\$164 | 
| i4i.12xlarge | x86\$164 | 
| i4i.16xlarge | x86\$164 | 
| i4i.24xlarge | x86\$164 | 
| i4i.32xlarge | x86\$164 | 
| i4i.metal | x86\$164 | 
| i7i.12xlarge | x86\$164 | 
| i7i.16xlarge | x86\$164 | 
| i7i.24xlarge | x86\$164 | 
| i7i.48xlarge | x86\$164 | 
| i7i.metal-24xl | x86\$164 | 
| i7i.metal-48xl | x86\$164 | 
| i7ie.12xlarge | x86\$164 | 
| i7ie.18xlarge | x86\$164 | 
| i7ie.24xlarge | x86\$164 | 
| i7ie.48xlarge | x86\$164 | 
| i7ie.metal-24xl | x86\$164 | 
| i7ie.metal-48xl | x86\$164 | 
| 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 | 

------

## Voraussetzungen für Linux-Instances
<a name="ena-express-prereq-linux"></a>

Um sicherzustellen, dass ENA Express effektiv funktionieren kann, aktualisieren Sie die Einstellungen für Ihre Instance wie folgt.
+ Wenn Ihre Instance Jumbo-Frames verwendet, führen Sie den folgenden Befehl aus, um Ihre maximale Übertragungseinheit (MTU) auf `8900` festzulegen.

  ```
  [ec2-user ~]$ sudo ip link set dev eth0 mtu 8900
  ```
+ Erhöhen Sie die Ringgröße des Empfängers (Rx) wie folgt:

  ```
  [ec2-user ~]$ ethtool -G device rx 8192
  ```
+ Um die ENA-Express-Bandbreite zu maximieren, konfigurieren Sie Ihre TCP-Warteschlangenlimits wie folgt:

  1. Legen Sie den Grenzwert für die kleine TCP-Warteschlange auf 1 MB oder höher fest. Dadurch erhöht sich die Datenmenge, die für die Übertragung auf einem Socket in der Warteschlange steht.

     ```
     sudo sh -c 'echo 1048576 > /proc/sys/net/ipv4/tcp_limit_output_bytes'
     ```

  1. Deaktivieren Sie Byte-Warteschlangenlimits auf dem ETH-Gerät, wenn diese für Ihre Linux-Distribution aktiviert sind. Dadurch erhöht sich die Anzahl der für die Übertragung in der Gerätewarteschlange anstehenden Daten.

     ```
     sudo sh -c 'for txq in /sys/class/net/eth0/queues/tx-*; do echo max > ${txq}/byte_queue_limits/limit_min; done'
     ```
**Anmerkung**  
Der ENA-Treiber für die Amazon-Linux-Distribution deaktiviert standardmäßig die Byte-Warteschlangenlimits.
+ Um die Latenz des ENA Express-TCP-Traffics zu minimieren, können Sie die TCP-Autocorking-Funktion deaktivieren. Dies kann zu einem minimalen Anstieg des Paket-Overheads führen:

  ```
  sudo bash -c 'echo 0 > /proc/sys/net/ipv4/tcp_autocorking'
  ```

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

Um Ihre Linux-Instance-Konfiguration auf optimale ENA Express-Leistung zu überprüfen, können Sie das folgende Skript ausführen, das im GitHub Amazon-Repository verfügbar ist:

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

Das Skript führt eine Reihe von Tests durch und schlägt sowohl empfohlene als auch erforderliche Konfigurationsänderungen vor.

# Prüfen der ENA-Express-Einstellungen für Ihre EC2-Instance
<a name="ena-express-list-view"></a>

Sie können die ENA Express-Einstellungen nach Instance oder Netzwerkschnittstelle überprüfen. Informationen zum Aktualisieren der ENA Express-Einstellungen finden Sie unter [Konfiguration der ENA-Express-Einstellungen für Ihre EC2-Instance](ena-express-configure.md).

------
#### [ Console ]

**So zeigen der ENA-Express-Einstellungen für eine Netzwerkschnittstelle an**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im linken Navigationsbereich **Network interfaces** (Netzwerkschnittstellen) aus.

1. Wählen Sie eine Netzwerkschnittstelle aus, um Details für diese Instance zu sehen. Sie können den Link **Network interface ID** (Netzwerkschnittstellen-ID) wählen, um die Detailseite zu öffnen oder Sie können das Kontrollkästchen auf der linken Seite der Liste aktivieren, um Details im Detailbereich unten auf der Seite anzuzeigen.

1. Überprüfen Sie im Abschnitt **Netzwerkschnittstellen-Anhang** auf der Registerkarte **Details** oder auf der Detailseite die Einstellungen für **ENA Express** und **ENA Express UDP**.

**So überprüfen Sie die ENA-Express-Einstellungen für eine Instance**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im linken Navigationsbereich die Option **Instances** aus.

1. Wählen Sie eine Instance aus, um die Details der Instance anzuzeigen. Sie können den Link **Instance ID** (Instance-ID) wählen, um die Detailseite zu öffnen oder Sie können das Kontrollkästchen auf der linken Seite der Liste aktivieren, um Details im Detailbereich unten auf der Seite anzuzeigen.

1. Scrollen Sie im Abschnitt **Network interfaces** (Netzwerkschnittstellen) auf der Registerkarte **Networking** (Vernetzung) nach rechts, um die Einstellungen für **ENA Express** und **ENA Express UDP** zu überprüfen.

------
#### [ AWS CLI ]

**So rufen Sie die ENA-Express-Einstellungen für eine Instance ab**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/describe-instances.html](https://docs.aws.amazon.com/cli/latest/reference/describe-instances.html). Dieses Befehlsbeispiel gibt eine Liste der ENA Express-Konfigurationen für die Netzwerkschnittstellen zurück, die an jede der laufenden Instances angeschlossen sind, die durch den `--instance-ids`-Parameter angegeben sind.

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7 \
    --query 'Reservations[*].Instances[*].[InstanceId, NetworkInterfaces[*].Attachment.EnaSrdSpecification]'
```

Es folgt eine Beispielausgabe.

```
[
    [
        [
            "i-1234567890abcdef0",
            [
                {
                    "EnaSrdEnabled": true,
                    "EnaSrdUdpSpecification": {
                        "EnaSrdUdpEnabled": false
                    }
                }
            ]
        ]
    ],
    [
        [
            "i-0598c7d356eba48d7",
            [
            {
                    "EnaSrdEnabled": true,
                    "EnaSrdUdpSpecification": {
                        "EnaSrdUdpEnabled": false
                    }
                }
            ]
        ]
    ]
]
```

**So rufen Sie die ENA-Express-Einstellungen für eine Netzwerkschnittstelle ab**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/describe-network-interfaces.html](https://docs.aws.amazon.com/cli/latest/reference/describe-network-interfaces.html).

```
aws ec2 describe-network-interfaces \
    --network-interface-ids eni-1234567890abcdef0 \
    --query NetworkInterfaces[].[NetworkInterfaceId,Attachment.EnaSrdSpecification]
```

Es folgt eine Beispielausgabe.

```
[
    [
        "eni-1234567890abcdef0",
        {
            "EnaSrdEnabled": true,
            "EnaSrdUdpSpecification": {
                "EnaSrdUdpEnabled": false
            }
        }
    ]
]
```

------
#### [ PowerShell ]

**So rufen Sie die ENA-Express-Einstellungen für eine Netzwerkschnittstelle ab**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NetworkInterface.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2NetworkInterface.html).

```
Get-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 | `
Select-Object `
    Association, 
    NetworkInterfaceId, 
    OwnerId, 
    @{Name = 'AttachTime'; Expression = { $_.Attachment.AttachTime } },
    @{Name = 'AttachmentId'; Expression = { $_.Attachment.AttachmentId } },
    @{Name = 'DeleteOnTermination'; Expression = { $_.Attachment.DeleteOnTermination } },
    @{Name = 'NetworkCardIndex'; Expression = { $_.Attachment.NetworkCardIndex } },
    @{Name = 'InstanceId'; Expression = { $_.Attachment.InstanceId } },
    @{Name = 'InstanceOwnerId'; Expression = { $_.Attachment.InstanceOwnerId } },
    @{Name = 'Status'; Expression = { $_.Attachment.Status } },
    @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled } },
    @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled } }
```

Es folgt eine Beispielausgabe.

```
Association         : 
NetworkInterfaceId  : eni-0d1234e5f6a78901b
OwnerId             : 111122223333
AttachTime          : 6/11/2022 1:13:11 AM
AttachmentId        : eni-attach-0d1234e5f6a78901b
DeleteOnTermination : True
NetworkCardIndex    : 0
InstanceId          : i-1234567890abcdef0
InstanceOwnerId     : 111122223333
Status              : attached
EnaSrdEnabled       : True
EnaSrdUdpEnabled    : False
```

------

# Konfiguration der ENA-Express-Einstellungen für Ihre EC2-Instance
<a name="ena-express-configure"></a>

Sie können ENA Express für unterstützte EC2-Instance-Typen konfigurieren, ohne zusätzliche Software installieren zu müssen. Weitere Informationen finden Sie unter [Unterstützte Instance-Typen für ENA Express](ena-express.md#ena-express-supported-instance-types).

------
#### [ Console ]

**So verwalten Sie die ENA-Express-Einstellungen für eine Netzwerkschnittstelle**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im linken Navigationsbereich **Network interfaces** (Netzwerkschnittstellen) aus.

1. Wählen Sie eine Netzwerkschnittstelle aus, die an eine Instance angehängt ist. Sie können den Link **Network interface ID** (Netzwerkschnittstellen-ID) wählen, um die Detailseite zu öffnen oder Sie können das Kontrollkästchen auf der linken Seite der Liste auswählen.

1. Wählen Sie im Menü **Action** (Aktion) oben rechts auf der Seite die Option **Manage ENA Express** (ENA Express verwalten) aus. Dadurch wird das Dialogfeld **Manage ENA Express** (ENA Express verwalten) geöffnet, in dem die ausgewählte Netzwerkschnittstellen-ID und die aktuellen Einstellungen angezeigt werden.

   Wenn die von Ihnen gewählte Netzwerkschnittstelle nicht mit einer Instance verbunden ist, wird diese Aktion nicht im Menü angezeigt.

1. Um **ENA Express** zu verwenden, wählen Sie das Kontrollkästchen **Aktivieren** aus.

1. Wenn ENA Express aktiviert ist, können Sie die UDP-Einstellungen konfigurieren. Um **ENA Express UDP** zu verwenden, wählen Sie das Kontrollkästchen **Aktivieren** aus.

1. Um Ihre Einstellungen zu speichern, wählen Sie **Save** (Speichern).

**So verwalten Sie ENA Express für eine Instance**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im linken Navigationsbereich die Option **Instances** aus.

1. Wählen Sie die Instance aus, die Sie verwalten möchten. Sie können den Link **Instance ID** (Instance-ID) wählen, um die Detailseite zu öffnen oder Sie können das Kontrollkästchen auf der linken Seite der Liste auswählen.

1. Wählen Sie die **Network interface** (Netzwerkschnittstelle) aus, die Sie für Ihre Instance konfigurieren möchten.

1. Wählen Sie im Menü **Action** (Aktion) oben rechts auf der Seite die Option **Manage ENA Express** (ENA Express verwalten) aus.

1. Um ENA Express für eine Netzwerkschnittstelle zu konfigurieren, die an Ihre Instance angeschlossen ist, wählen Sie sie aus der Liste der **Network interface** (Netzwerkschnittstelle) aus.

1. Um **ENA Express** für den ausgewählten Netzwerkschnittstellenanhang zu verwenden, aktivieren Sie das Kontrollkästchen **Aktivieren**.

1. Wenn ENA Express aktiviert ist, können Sie die UDP-Einstellungen konfigurieren. Um **ENA Express UDP** zu verwenden, wählen Sie das Kontrollkästchen **Aktivieren** aus.

1. Um Ihre Einstellungen zu speichern, wählen Sie **Save** (Speichern).

**So konfigurieren Sie ENA Express, wenn Sie eine Netzwerkschnittstelle anhängen**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im linken Navigationsbereich **Network interfaces** (Netzwerkschnittstellen) aus.

1. Wählen Sie eine Netzwerkschnittstelle aus, die nicht an eine Instance angeschlossen ist (**Status** ist **Available** (Verfügbar)). Sie können den Link **Network interface ID** (Netzwerkschnittstellen-ID) wählen, um die Detailseite zu öffnen oder Sie können das Kontrollkästchen auf der linken Seite der Liste auswählen.

1. Wählen Sie die **Instance** aus, an die Sie anhängen möchten.

1. Um **ENA Express** zu verwenden, nachdem Sie die Netzwerkschnittstelle an die Instance angefügt haben, aktivieren Sie das Kontrollkästchen **Aktivieren**.

1. Wenn ENA Express aktiviert ist, können Sie die UDP-Einstellungen konfigurieren. Um **ENA Express UDP** zu verwenden, wählen Sie das Kontrollkästchen **Aktivieren** aus.

1. Um die Netzwerkschnittstelle an die Instance anzuschließen und Ihre ENA Express-Einstellungen zu speichern, wählen Sie **Attach** (Anhängen).

------
#### [ AWS CLI ]

**So konfigurieren Sie ENA Express, wenn Sie eine Netzwerkschnittstelle anhängen**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/;attach-network-interface.html](https://docs.aws.amazon.com/cli/latest/reference/;attach-network-interface.html), wie in den folgenden Beispielen gezeigt.

**Beispiel 1: ENA Express für den TCP-Datenverkehr verwenden, aber nicht für den UDP-Datenverkehr**  
Dieses Beispiel konfiguriert `EnaSrdEnabled` als `true` und erlaubt `EnaSrdUdpEnabled` auf die Standardeinstellung `false` zu wechseln.

```
aws ec2 attach-network-interface \
    --network-interface-id eni-1234567890abcdef0 \
    --instance-id i-1234567890abcdef0 \
    --device-index 1 \
    --ena-srd-specification 'EnaSrdEnabled=true'
```

**Beispiel 2: Verwenden von ENA Express sowohl für den TCP-Verkehr als auch für den UDP-Verkehr**  
In diesem Beispiel werden sowohl `EnaSrdEnabled` und `EnaSrdUdpEnabled` als `true` konfiguriert.

```
aws ec2 attach-network-interface \
    --network-interface-id eni-1234567890abcdef0 \
    --instance-id i-1234567890abcdef0 \
    --device-index 1 \
    --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}'
```

**So aktualisieren Sie die ENA-Express-Einstellungen für einen Netzwerkschnittstellen-Anhang**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/modify-network-interface-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/modify-network-interface-attribute.html), wie in den folgenden Beispielen gezeigt.

**Beispiel 1: ENA Express für den TCP-Datenverkehr verwenden, aber nicht für den UDP-Datenverkehr**  
Dieses Beispiel konfiguriert `EnaSrdEnabled` als `true` und erlaubt es `EnaSrdUdpEnabled`, standardmäßig auf `false` zu wechseln, wenn es zuvor noch nie eingestellt wurde.

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --ena-srd-specification 'EnaSrdEnabled=true'
```

**Beispiel 2: Verwenden von ENA Express sowohl für den TCP-Verkehr als auch für den UDP-Verkehr**  
In diesem Beispiel werden sowohl `EnaSrdEnabled` und `EnaSrdUdpEnabled` als `true` konfiguriert.

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --ena-srd-specification 'EnaSrdEnabled=true,EnaSrdUdpSpecification={EnaSrdUdpEnabled=true}'
```

**Beispiel 3: Beenden der Verwendung von ENA Express für den UDP-Verkehr**  
In diesem Beispiel wird `EnaSrdUdpEnabled` als `false` konfiguriert.

```
aws ec2 modify-network-interface-attribute \
    --network-interface-id eni-1234567890abcdef0 \
    --ena-srd-specification 'EnaSrdUdpSpecification={EnaSrdUdpEnabled=false}'
```

------
#### [ PowerShell ]

**So konfigurieren Sie ENA Express, wenn Sie eine Netzwerkschnittstelle anhängen**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2NetworkInterface.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2NetworkInterface.html), wie in den folgenden Beispielen gezeigt.

**Beispiel 1: ENA Express für den TCP-Datenverkehr verwenden, aber nicht für den UDP-Datenverkehr**  
Dieses Beispiel konfiguriert `EnaSrdEnabled` als `true` und erlaubt `EnaSrdUdpEnabled` auf die Standardeinstellung `false` zu wechseln.

```
Add-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -InstanceId i-1234567890abcdef0 `
    -DeviceIndex 1 `
    -EnaSrdSpecification_EnaSrdEnabled $true
```

**Beispiel 2: Verwenden von ENA Express sowohl für den TCP-Verkehr als auch für den UDP-Verkehr**  
In diesem Beispiel werden sowohl `EnaSrdEnabled` und `EnaSrdUdpEnabled` als `true` konfiguriert.

```
Add-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -InstanceId i-1234567890abcdef0 `
    -DeviceIndex 1 `
    -EnaSrdSpecification_EnaSrdEnabled $true `
    -EnaSrdUdpSpecification_EnaSrdUdpEnabled $true
```

**So aktualisieren Sie die ENA-Express-Einstellungen für Ihren Netzwerkschnittstellen-Anhang**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2NetworkInterfaceAttribute.html), wie in den folgenden Beispielen gezeigt.

**Beispiel 1: ENA Express für den TCP-Datenverkehr verwenden, aber nicht für den UDP-Datenverkehr**  
Dieses Beispiel konfiguriert `EnaSrdEnabled` als `true` und erlaubt es `EnaSrdUdpEnabled`, standardmäßig auf `false` zu wechseln, wenn es zuvor noch nie eingestellt wurde.

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -EnaSrdSpecification_EnaSrdEnabled $true ; 
Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | `
Select-Object `
    NetworkInterfaceId, 
    @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, 
    @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | `
Format-List
```

**Beispiel 2: Verwenden von ENA Express sowohl für den TCP-Verkehr als auch für den UDP-Verkehr**  
In diesem Beispiel werden sowohl `EnaSrdEnabled` und `EnaSrdUdpEnabled` als `true` konfiguriert.

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -EnaSrdSpecification_EnaSrdEnabled $true `
    -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $true ;
Get-EC2NetworkInterface -NetworkInterfaceId eni-1234567890abcdef0 | `
Select-Object `
    NetworkInterfaceId, 
    @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, 
    @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | `
Format-List
```

**Beispiel 3: Beenden der Verwendung von ENA Express für den UDP-Verkehr**  
In diesem Beispiel wird `EnaSrdUdpEnabled` als `false` konfiguriert.

```
Edit-EC2NetworkInterfaceAttribute `
    -NetworkInterfaceId eni-0123f4567890a1b23 `
    -EnaSrdSpecification_EnaSrdUdpSpecification_EnaSrdUdpEnabled $false ; 
Get-EC2NetworkInterface -NetworkInterfaceId eni-0123f4567890a1b23 | `
Select-Object `
    NetworkInterfaceId, 
    @{Name = 'EnaSrdEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdEnabled }}, 
    @{Name = 'EnaSrdUdpEnabled'; Expression = { $_.Attachment.EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled }} | `
Format-List
```

------

## Konfigurieren von ENA Express beim Start
<a name="ena-express-configure-on-launch"></a>

Sie können eine der folgenden Methoden verwenden, um ENA Express für ein AMI zu konfigurieren, wenn Sie eine Instance starten. Die angegebenen Links verweisen Sie auf die Anweisungen für diese Methoden. AWS-Managementkonsole 
+ **Launch Instance Wizard** – Sie können ENA Express beim Start mit dem Launch Instance Wizard konfigurieren. Ausführliche Informationen zur Konfiguration finden Sie unter **Erweiterte Netzwerkkonfiguration** in den [Netzwerkeinstellungen](ec2-instance-launch-parameters.md#liw-network-settings) für den Launch Instance Wizard.
+ **Startvorlage** – Sie können ENA Express beim Start konfigurieren, wenn Sie eine Startvorlage verwenden. Weitere Informationen finden Sie auf der Seite [Eine Amazon-EC2-Startvorlage erstellen](create-launch-template.md). Erweitern Sie dann den Abschnitt **Netzwerkeinstellungen** und überprüfen Sie die **Erweiterte Netzwerkkonfiguration**.

# Erweitertes Netzwerk mit der Intel 82599 VF-Schnittstelle
<a name="sriov-networking"></a>

Für [XEN-basierte Instances](instance-types.md#instance-hypervisor-type) bietet die Intel 82599 Virtual Function (VF)-Schnittstelle erweiterte Netzwerkfunktionen. Die Schnittstelle verwendet den Intel-`ixgbevf`-Treiber.

Die folgenden Registerkarten zeigen, wie Sie den Netzwerkadaptertreiber überprüfen können, der für Ihr Instance-Betriebssystem installiert ist.

------
#### [ Linux ]

**Linux-Netzwerkschnittstellentreiber**  
Prüfen Sie mit dem folgenden Befehl, ob das Modul aktuell an einer bestimmten Schnittstelle verwendet wird; setzen Sie dabei den Namen der Schnittstelle ein, die Sie überprüfen möchten. Wenn Sie eine einzige Schnittstelle verwenden (der Standard), lautet der Name `eth0`. Wenn das Betriebssystem [vorhersagbare Netzwerknamen](#predictable-network-names-sriov) unterstützt, könnte der Name `ens5` lauten.

Im folgenden Beispiel wird das `ixgbevf`-Modul nicht geladen, da als Treiber `vif` angezeigt wird.

```
[ec2-user ~]$ ethtool -i eth0
driver: vif
version:
firmware-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
```

In diesem Beispiel wird das Modul `ixgbevf` geladen. In dieser Instance wurde Enhanced Networking richtig konfiguriert.

```
[ec2-user ~]$ ethtool -i eth0
driver: ixgbevf
version: 4.0.3
firmware-version: N/A
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
```

------
#### [ Windows ]

**Windows-Netzwerkadapter**  
Sie überprüfen, ob der Treiber installiert wurde, indem Sie sich bei der Instance anmelden und den Geräte-Manager öffnen. Sie sollten `Intel(R) 82599 Virtual Function` unter **Netzwerkadapter** gelistet sehen.

------

**Topics**
+ [Ihre Instance für Erweitertes Netzwerk vorbereiten](#ixgbevf-requirements)
+ [Testen, ob Enhanced Networking aktiviert ist](#test-enhanced-networking)
+ [Aktivieren von Enhanced Networking auf Ihrer Instance](#enable-enhanced-networking)
+ [Fehlerbehebung bei Verbindungsproblemen](#enhanced-networking-troubleshooting)

## Ihre Instance für Erweitertes Netzwerk vorbereiten
<a name="ixgbevf-requirements"></a>

Zur Vorbereitung für Enhanced Networking mit der Intel 82599 VF-Schnittstelle sollten Sie Ihre Instance wie folgt einrichten:
+ Stellen Sie sicher, dass es sich um einen der folgenden Instance-Typen handelt: C3, C4, D2, I2, M4 (außer`m4.16xlarge`) und R3.
+ Überprüfen Sie, ob der Instance eine Verbindung zum Internet fehlt.
+ Wenn Sie wichtige Daten auf der Instance gespeichert haben, die Sie erhalten möchten, sollten Sie diese Daten jetzt sichern, indem Sie ein AMI von Ihrer Instance erstellen. Die Aktualisierung von Kernels und Kernel-Modulen sowie die Aktivierung des Attributs `sriovNetSupport` kann dazu führen, dass Instances inkompatibel oder Betriebssysteme unerreichbar werden. Wenn Sie über ein aktuelles Backup verfügen, gehen die Daten nicht verloren, falls das geschieht.
+ **Linux-Instances** – Starten Sie die Instance aus einem HVM-AMI mit der Linux-Kernel-Version 2.6.32 oder höher. Auf den neuesten Amazon Linux HVM AMIs sind die für Enhanced Networking erforderlichen Module installiert und die erforderlichen Attribute sind festgelegt. D. h., wenn Sie eine Amazon-EBS-gestützte Instance mit Enhanced-Networking-Unterstützung mithilfe eines aktuellen Amazon Linux HVM-AMI starten, ist Enhanced Networking für Ihre Instance bereits aktiviert.
**Warnung**  
Enhanced Networking wird ausschließlich für HVM-Instances unterstützt. Die Aktivierung von Enhanced Networking in einer PV-Instance kann dazu führen, dass diese nicht mehr erreichbar ist. Das Setzen dieses Attributs, ohne dass das richtige Modul bzw. die richtige Modulversion vorhanden ist, kann ebenso dazu führen, dass die Instance nicht mehr erreichbar ist.
+ **Windows-Instances** – Starten Sie die Instance über ein 64-Bit-HVM-AMI. Sie können Erweitertes Netzwerk in Windows Server 2008 nicht aktivieren. Enhanced Networking ist bereits für Windows Server 2012 R2 und Windows Server 2016 und höher AMIs aktiviert. Windows Server 2012 R2 enthält den Intel-Treiber 1.0.15.3; wir empfehlen, ein Upgrade dieses Treibers auf die aktuelle Version mithilfe des Dienstprogramms Pnputil.exe durchzuführen.
+ Verwenden Sie es [AWS CloudShell](https://console.aws.amazon.com/cloudshell)von AWS-Managementkonsole, oder installieren und konfigurieren Sie das [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)oder [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)auf einem beliebigen Computer Ihrer Wahl, vorzugsweise auf Ihrem lokalen Desktop oder Laptop. Weitere Informationen finden Sie unter [Zugriff auf Amazon EC2](concepts.md#access-ec2) oder im [AWS CloudShell -Benutzerhandbuch](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html). Enhanced Networking kann nicht über die Amazon EC2-Konsole verwaltet werden.

## Testen, ob Enhanced Networking aktiviert ist
<a name="test-enhanced-networking"></a>

Stellen Sie sicher, dass das Attribut `sriovNetSupport` für die Instance oder das Image festgelegt ist.

------
#### [ AWS CLI ]

**Um das Instanzattribut (sriovNetSupport) zu überprüfen**  
Verwenden Sie den folgenden [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html)-Befehl. Wenn das Attribut gesetzt ist, ist der Wert `simple`.

```
aws ec2 describe-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --attribute sriovNetSupport
```

**Um das Bildattribut (sriovNetSupport) zu überprüfen**  
Verwenden Sie den folgenden [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html)-Befehl. Wenn das Attribut gesetzt ist, ist der Wert `simple`.

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query "Images[].SriovNetSupport"
```

------
#### [ PowerShell ]

**Um das Instanzattribut (sriovNetSupport) zu überprüfen**  
Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceAttribute.html). Wenn das Attribut gesetzt ist, ist der Wert `simple`.

```
Get-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -Attribute sriovNetSupport
```

**Um das Bildattribut (sriovNetSupport) zu überprüfen**  
Verwenden Sie den folgenden [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html)-Befehl. Wenn das Attribut gesetzt ist, ist der Wert `simple`.

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).SriovNetSupport
```

------

## Aktivieren von Enhanced Networking auf Ihrer Instance
<a name="enable-enhanced-networking"></a>

Welches Verfahren Sie verwenden, hängt vom Betriebssystem der Instance ab.

**Warnung**  
Es ist nicht möglich, das Enhanced Networking-Attribut zu deaktivieren, wenn Sie es einmal aktiviert haben.

### Amazon Linux
<a name="enable-amazon-linux"></a>

Auf den neuesten Amazon Linux HVM AMIs ist das für Enhanced Networking erforderliche `ixgbevf` Modul installiert und die erforderlichen `sriovNetSupport` Attribute sind gesetzt. Wenn Sie also einen Instance-Typ mit einem aktuellen Amazon Linux-HVM-AMI starten, ist die optimierte Netzwerkfunktionalität bereits für die Instance aktiviert. Weitere Informationen finden Sie unter [Testen, ob Enhanced Networking aktiviert ist](#test-enhanced-networking).

Wenn Sie Ihre Instance aus einem älteren Amazon Linux AMI gestartet haben und Enhanced Networking noch nicht aktiviert wurde, gehen Sie wie folgt vor, um die optimierte Netzwerkleistung zu aktivieren.

**Aktivieren von Enhanced Networking**

1. <a name="amazon-linux-enhanced-networking-start-step"></a>Verbinden Sie sich mit der Instance.

1. Führen Sie den folgenden Befehl in der Instance aus, um die Instance mit dem aktuellen Kernel und den aktuellen Kernel-Modulen einschließlich `ixgbevf` zu aktualisieren:

   ```
   [ec2-user ~]$ sudo yum update
   ```

1. Starten Sie die Instance von Ihrem lokalen Computer aus neu, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Restart-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Restart-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. <a name="amazon-linux-enhanced-networking-stop-step"></a>Stellen Sie erneut eine Verbindung mit der Instance her und prüfen Sie, ob das `ixgbevf`-Modul installiert wurde und in der empfohlenen Mindestversion vorliegt, indem Sie den Befehl **modinfo ixgbevf** aus dem Abschnitt [Testen, ob Enhanced Networking aktiviert ist](#test-enhanced-networking) verwenden.

1. [EBS-gestützte Instance] Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

   [In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Springen Sie stattdessen dann zum nächsten Schritt weiter.

1. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:

------
#### [ AWS CLI ]

   Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html)-Befehl wie folgt:

   ```
   aws ec2 modify-instance-attribute \
       --instance-id i-1234567890abcdef0 \
       --sriov-net-support simple
   ```

------
#### [ PowerShell ]

   Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) wie folgt.

   ```
   Edit-EC2InstanceAttribute `
       -InstanceId i-1234567890abcdef0 `
       -SriovNetSupport "simple"
   ```

------

1. (Optional) Erstellen Sie ein AMI von der Instance, wie unter [Ein Amazon-EBS-gestütztes AMI erstellen](creating-an-ami-ebs.md) beschrieben. Das AMI erbt das Enhanced Networking-Attribut von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

1. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. Stellen Sie eine Verbindung mit der Instance her und prüfen Sie, ob das `ixgbevf`-Modul installiert und in der Netzwerkschnittstelle geladen wurde, indem Sie den Befehl **ethtool -i eth*n*** aus dem Abschnitt [Testen, ob Enhanced Networking aktiviert ist](#test-enhanced-networking) verwenden.

**So aktivieren Sie Enhanced Networking (Instance Store-Backed Instances)**  
Führen Sie die Schritte aus dem vorherigen Verfahren durch bis zu dem Schritt, in dem die Instance angehalten wird. Erstellen Sie ein neues AMI, wie in [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md) beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.

------
#### [ AWS CLI ]

Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html)-Befehl wie folgt:

```
aws ec2 register-image --sriov-net-support simple ...
```

------
#### [ PowerShell ]

Verwenden Sie [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) wie folgt.

```
Register-EC2Image -SriovNetSupport "simple" ...
```

------

### Ubuntu
<a name="enhanced-networking-ubuntu"></a>

Bevor Sie anfangen, [überprüfen Sie, ob das Enhanced Networking bereits auf Ihrer Instance aktiviert ist.](#test-enhanced-networking)

Das Quick Start Ubuntu HVM AMIs enthält die notwendigen Treiber für verbesserte Netzwerke. Bei einer Version von `ixgbevf` vor 2.16.4 können Sie das Kernel-Paket `linux-aws` installieren, um die neuesten Enhanced Networking-Treiber zu erhalten.

In der folgenden Anleitung sind die allgemeinen Schritte für die Kompilierung des `ixgbevf`-Moduls auf einer Ubuntu-Instance.<a name="ubuntu-enhanced-networking-procedure"></a>

**`linux-aws`-Kernel-Paket installieren**

1. <a name="ubuntu-enhanced-networking-start-step"></a>Verbinden Sie sich mit der Instance.

1. Aktualisieren Sie den Cache der Paketverwaltung und die einzelnen Pakete.

   ```
   ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
   ```
**Wichtig**  
Wenn Sie während des Aktualisierungsvorgangs aufgefordert werden, `grub` zu installieren, verwenden Sie `/dev/xvda` für die Installation von `grub` und wählen Sie anschließend aus, dass die aktuelle Version von `/boot/grub/menu.lst` beibehalten werden soll.

### Andere Linux-Distributionen
<a name="enhanced-networking-linux"></a>

Bevor Sie anfangen, [überprüfen Sie, ob das Enhanced Networking bereits auf Ihrer Instance aktiviert ist.](#test-enhanced-networking) Die neuesten Quick Start HVM AMIs enthalten die erforderlichen Treiber für erweiterte Netzwerke, sodass Sie keine zusätzlichen Schritte ausführen müssen. 

In der folgenden Anleitung werden die Schritte beschrieben, die Sie für die Aktivierung von Enhanced Networking für die Intel 82599 VF-Schnittstelle unter einer anderen Linux-Distributionen als Amazon Linux oder Ubuntu ausführen müssen. Weitere Informationen z. B. hinsichtlich der genauen Syntax für Befehle, der Speicherorte von Dateien oder der Unterstützung von einzelnen Paketen bzw. Tools finden Sie in der Dokumentation zu der jeweiligen Linux-Distribution.

**Aktivieren von Enhanced Networking in Linux**

1. <a name="other-linux-enhanced-networking-start-step"></a>Verbinden Sie sich mit der Instance.

1. [Laden Sie den Quellcode für das `ixgbevf` Modul auf Ihrer Instanz von Sourceforge unter https://sourceforge herunter. net/projects/e1000/files/ixgbevf%20stable/](https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/).

   Mit früheren Versionen von `ixgbevf` als 2.16.4 – einschließlich Version 2.14.2 – werden die Builds unter manchen Linux-Distributionen nicht richtig erstellt, einschließlich bestimmter Versionen von Ubuntu.

1. Kompilieren und installieren Sie das `ixgbevf`-Module in Ihrer Instance.
**Warnung**  
Wenn Sie das `ixgbevf`-Modul für den aktuellen Kernel kompilieren und anschließend ein Upgrade des Kernels durchführen, ohne einen neuen Build des Treibers für den neuen Kernel zu erstellen, wechselt das System beim nächsten Neustart möglicherweise zum ursprünglichen `ixgbevf`-Modul der Verteilung zurück. Dies kann den Zugriff auf das System verhindern, wenn die verteilungsspezifische Version mit Enhanced Networking nicht kompatibel ist.

1. Führen Sie den Befehl **sudo depmod** aus, um die Abhängigkeiten für das Modul zu aktualisieren.

1. <a name="other-linux-enhanced-networking-stop-step"></a>Aktualisieren Sie `initramfs` in Ihrer Instance, um sicherzustellen, dass das neue Modul während des Bootvorgangs geladen wird.

1. <a name="predictable-network-names-sriov"></a>Ermitteln Sie, ob Ihr System standardmäßig transparente Netzwerkschnittstellennamen verwendet. Systeme, die **systemd**- oder **udev**-Versionen ab 197 verwenden, können Ethernet-Geräte umbenennen, d. h. die einzige Netzwerkschnittstelle in einem solchen System wird nicht zwingend als `eth0` bezeichnet. Dieses Verhalten kann Probleme bei der Verbindung mit Ihrer Instance verursachen. Weitere Informationen und andere Konfigurationsoptionen finden Sie unter [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) auf der freedesktop.org-Website.

   1. Sie können die **systemd**- und **udev**-Versionen auf RPM-basierten Systemen mit den folgenden Befehl überprüfen:

      ```
      [ec2-user ~]$ rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+'
      				systemd-208-11.el7_0.2.x86_64
      ```

      In dem Red Hat Enterprise Linux 7-Beispiel oben lautet die **systemd**-Version 208, d. h. transparente Netzwerkschnittstellennamen müssen deaktiviert werden.

   1. Sie können transparente Netzwerkschnittstellennamen deaktivieren, indem Sie in der Zeile `net.ifnames=0` in der Datei `GRUB_CMDLINE_LINUX` die Option `/etc/default/grub` hinzufügen.

      ```
      [ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
      ```

   1. Erstellen Sie die neue Grub-Konfigurationsdatei.

      ```
      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      ```

1. [EBS-gestützte Instance] Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) (AWS Tools for Windows PowerShell).

   [In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Springen Sie stattdessen dann zum nächsten Schritt weiter.

1. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:

------
#### [ AWS CLI ]

   Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html)-Befehl wie folgt:

   ```
   aws ec2 modify-instance-attribute \
       --instance-id i-1234567890abcdef0 -\
       -sriov-net-support simple
   ```

------
#### [ PowerShell ]

   Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) wie folgt.

   ```
   Edit-EC2InstanceAttribute `
       -InstanceId i-1234567890abcdef0 `
       -SriovNetSupport "simple"
   ```

------

1. (Optional) Erstellen Sie ein AMI von der Instance, wie unter [Ein Amazon-EBS-gestütztes AMI erstellen](creating-an-ami-ebs.md) beschrieben. Das AMI erbt das Enhanced Networking-Attribut von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

   Wenn Ihr Instance-Betriebssystem eine `/etc/udev/rules.d/70-persistent-net.rules`-Datei enthält, müssen Sie diese vor der Erstellung des AMI löschen. Diese Datei enthält die MAC-Adresse des Ethernet-Adapters in der ursprünglichen Instance. Wenn eine andere Instance mit dieser Datei gestartet wird, kann das Betriebssystem das Gerät nicht finden und von `eth0` schlägt möglicherweise fehl, was zu Problemen beim Start führt. Diese Datei wird während des nächsten Bootvorgangs neu generiert, und jede aus dem AMI gestartete Instance erstellt eine eigene Version der Datei.

1. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

1. (Optional) Stellen Sie eine Verbindung mit Ihrer Instance her und überprüfen Sie, ob das Modul installiert wurde.

**So aktivieren Sie Enhanced Networking (Instance-Speicher-gestützte Instances):**  
Führen Sie die Schritte aus dem vorherigen Verfahren durch bis zu dem Schritt, in dem die Instance angehalten wird. Erstellen Sie ein neues AMI, wie in [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md) beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.

------
#### [ AWS CLI ]

Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html)-Befehl wie folgt:

```
aws ec2 register-image --sriov-net-support simple ...
```

------
#### [ PowerShell ]

Verwenden Sie [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) wie folgt.

```
Register-EC2Image -SriovNetSupport "simple" ...
```

------

### Windows
<a name="enable-windows"></a>

Wenn Sie Ihre Instance gestartet haben und Enhanced Networking noch nicht aktiviert wurde, müssen Sie den erforderlichen Netzwerkadaptertreiber herunterladen und in der Instance installieren sowie anschließend das `sriovNetSupport`-Instance-Attribut setzen, um die optimierte Netzwerkleistung zu erzielen. Sie können dieses Attribut nur in unterstützten Instance-Typen aktivieren. Weitere Informationen finden Sie unter [Verbessertes Networking auf EC2 Amazon-Instances](enhanced-networking.md).

**Wichtig**  
Informationen zu den neuesten Treiberupdates in Windows AMIs finden Sie im [Windows AMI-Versionsverlauf](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html) in der *AWS Windows AMI-Referenz*.

**Aktivieren von Enhanced Networking**

1. <a name="amazon-linux-enhanced-networking-start-step"></a>Stellen Sie eine Verbindung mit Ihrer Instance her und melden Sie sich als lokaler Administrator an.

1. [Windows Server 2016 und höher] Führen Sie das folgende PowerShell EC2-Startskript aus, um die Instanz zu konfigurieren, nachdem der Treiber installiert wurde.

   ```
   PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
   ```
**Wichtig**  
Das Administratorpasswort wird zurückgesetzt, wenn Sie das EC2-Launch-Skript zum Initialisieren der Instance aktivieren. Sie können die Konfigurationsdatei bearbeiten, um das Zurücksetzen des Administratorpassworts zu deaktivieren, indem Sie es in den Einstellungen für die Initialisierungsaufgaben festlegen.

1. Laden Sie von der Instance den Intel-Netzwerkadaptertreiber für Ihr Betriebssystem herunter:
   + **Windows Server 2022**

     Besuchen Sie die [Download-Seite](https://www.intel.com/content/www/us/en/download/706171/intel-network-adapter-driver-for-windows-server-2022.html) und laden Sie `Wired_driver_version_x64.zip` herunter.
   + **Windows Server 2019**, einschließlich Server-Version 1809 und neuer\$1

     Besuchen Sie die [Download-Seite](https://www.intel.com/content/www/us/en/download/19372/intel-network-adapter-driver-for-windows-server-2019.html) und laden Sie `Wired_driver_version_x64.zip` herunter.
   + **Windows Server 2016**, einschließlich Server-Version 1803 und früher\$1

     Besuchen Sie die [Download-Seite](https://www.intel.com/content/www/us/en/download/18737/intel-network-adapter-driver-for-windows-server-2016.html) und laden Sie `Wired_driver_version_x64.zip` herunter.
   + **Windows Server 2012 R2**

     Besuchen Sie die [Download-Seite](https://www.intel.com/content/www/us/en/download/17480/intel-network-adapter-driver-for-windows-server-2012-r2.html) und laden Sie `Wired_driver_version_x64.zip` herunter.
   + **Windows Server 2012**

     Besuchen Sie die [Download-Seite](https://www.intel.com/content/www/us/en/download/16789/intel-network-adapter-driver-for-windows-server-2012.html) und laden Sie `Wired_driver_version_x64.zip` herunter.
   + **Windows Server 2008 R2**

     Besuchen Sie die [Download-Seite](https://www.intel.com/content/www/us/en/download/15590/intel-network-adapter-driver-for-windows-7-final-release.html) und laden Sie `PROWinx64Legacy.exe` herunter.

   \$1Die Serverversionen 1803 und früher sowie 1809 und später werden auf den Intel-Seiten für Treiber und Software nicht ausdrücklich genannt.

1. Installieren Sie den Intel-Netzwerkadaptertreiber für Ihr Betriebssystem.
   + **Windows Server 2008 R2**

     1. Suchen Sie im **Downloads**-Ordner die Datei `PROWinx64Legacy.exe` und benennen Sie sie in `PROWinx64Legacy.zip` um.

     1. Extrahieren Sie den Inhalt der Datei `PROWinx64Legacy.zip`.

     1. Öffnen Sie die Befehlszeile, navigieren Sie zum extrahierten Ordner und führen Sie den folgenden Befehl aus, um das Dienstprogramm `pnputil` zum Hinzufügen und Installieren der INF-Datei im Treiberspeicher zu verwenden.

        ```
        C:\> pnputil -a PROXGB\Winx64\NDIS62\vxn62x64.inf
        ```
   + **Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 und Windows Server 2012**

     1. Extrahieren Sie im **Downloads**-Ordner den Inhalt der Datei `Wired_driver_version_x64.zip`.

     1. Öffnen Sie die Befehlszeile, navigieren Sie zum extrahierten Ordner und führen Sie einen der folgenden Befehle aus, um das Dienstprogramm `pnputil` zum Hinzufügen und Installieren der INF-Datei im Treiberspeicher zu verwenden.
        + Windows Server 2022

          ```
          pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
          ```
        + Windows Server 2019

          ```
          pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
          ```
        + Windows Server 2016

          ```
          pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf
          ```
        + Windows Server 2012 R2

          ```
          pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf
          ```
        + Windows Server 2012

          ```
          pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
          ```

1. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:

------
#### [ AWS CLI ]

   Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html)-Befehl wie folgt:

   ```
   aws ec2 modify-instance-attribute \
       --instance-id i-1234567890abcdef0 \
       --sriov-net-support simple
   ```

------
#### [ PowerShell ]

   Verwenden Sie das cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) wie folgt.

   ```
   Edit-EC2InstanceAttribute `
       -InstanceId i-1234567890abcdef0 `
       -SriovNetSupport "simple"
   ```

------

1. (Optional) Erstellen Sie ein AMI von der Instance, wie unter [Ein Amazon-EBS-gestütztes AMI erstellen](creating-an-ami-ebs.md) beschrieben. Das AMI erbt das Enhanced Networking-Attribut von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

1. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: [https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) (AWS CLI) oder [https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) (AWS Tools for Windows PowerShell).

## Fehlerbehebung bei Verbindungsproblemen
<a name="enhanced-networking-troubleshooting"></a>

Wenn die Verbindung bei der Aktivierung von Enhanced Networkings verloren geht, ist das `ixgbevf`-Modul u. U. nicht mit dem Kernel kompatibel. Versuchen Sie, die Version des `ixgbevf`-Moduls zu installieren, die in der Linux-Distribution Ihrer Instance enthalten war.

Wenn Sie Enhanced Networking für eine PV-Instance oder -AMI aktivieren, ist Ihre Instance möglicherweise nicht mehr erreichbar.

Weitere Informationen finden Sie unter [Wie kann ich Erweitertes Netzwerk auf meinen EC2-Instances aktivieren und konfigurieren?](https://repost.aws/knowledge-center/enable-configure-enhanced-networking)

# Netzwerkleistung für ENA-Einstellungen auf Ihrer EC2-Instance überwachen
<a name="monitoring-network-performance-ena"></a>

Der Elastic Network Adapter (ENA)-Treiber veröffentlicht Netzwerkleistungsmetriken aus den Instances, in denen sie aktiviert sind. Sie können diese Metriken verwenden, um Probleme mit der Instance-Performance zu beheben, die richtige Instance-Größe für eine Workload auszuwählen, Skalierungsaktivitäten proaktiv zu planen und Anwendungen zu vergleichen, um zu bestimmen, ob sie die auf einer Instance verfügbare Leistung maximieren.

Amazon EC2 definiert Netzwerkmaxima auf Instance-Ebene, um ein qualitativ hochwertiges Netzwerkerlebnis zu gewährleisten, einschließlich einer konsistenten Netzwerkleistung für alle Instance-Größen. AWS bietet für jede Instance Höchstwerte für die folgenden Werte:
+ **Bandwidth capability** (Bandbreitenfähigkeit) – Jede EC2-Instance verfügt über eine maximale Bandbreite für aggregierten ein- und ausgehenden Datenverkehr, basierend auf Instance-Typ und -Größe. Einige Instances verwenden einen I/O Netzwerkguthabenmechanismus, um Netzwerkbandbreite auf der Grundlage der durchschnittlichen Bandbreitennutzung zuzuweisen. Amazon EC2 bietet außerdem eine maximale Bandbreite für den Datenverkehr zum Direct Connect und zum Internet. Weitere Informationen finden Sie unter [Netzwerkbandbreite der EC2 Amazon-Instanz](ec2-instance-network-bandwidth.md).
+ **Packet-per-second (PPS) -Leistung** — Jede EC2-Instance hat je nach Instance-Typ und Größe eine maximale PPS-Leistung.
+ **Connections tracked** (Nachverfolgte Verbindungen) – Die Sicherheitsgruppe verfolgt jede aufgebaute Verbindung, um sicherzustellen, dass die Rückpakete wie erwartet übertragen werden. Es gibt eine maximale Anzahl von Verbindungen, die pro Instance verfolgt werden können. Weitere Informationen finden Sie unter [Verbindungsverfolgung von Amazon-EC2-Sicherheitsgruppen](security-group-connection-tracking.md).
+ **Verbindungslokaler Servicezugriff** – Amazon EC2 bietet eine Schnittstelle für maximale PPS pro Netzwerk für Datenverkehr zu lokalen Proxy-Services wie dem Amazon-DNS-Service, dem Instance Metadata Service und dem Amazon Time Sync Service.

Wenn der Netzwerkverkehr für eine Instance einen Höchstwert überschreitet, wird der Datenverkehr, AWS der den Höchstwert überschreitet, geformt, indem Netzwerkpakete in eine Warteschlange gestellt und anschließend verworfen werden. Mithilfe der Metriken zur Netzwerkleistung können Sie überwachen, wann der Datenverkehr ein Maximum überschreitet. Diese Metriken informieren Sie in Echtzeit über Auswirkungen auf den Netzwerkverkehr und mögliche Probleme mit der Netzwerkleistung.

**Topics**
+ [Voraussetzungen](#network-performance-metrics-requirements)
+ [Metriken für den ENA-Treiber](#network-performance-metrics)
+ [Anzeigen der Netzwerkleistungsmetriken für Ihre -Instance](#view-network-performance-metrics)
+ [Metriken für ENA Express](#network-performance-metrics-ena-express)
+ [Metriken zur Netzwerkleistung mit dem DPDK-Treiber für ENA](#network-performance-metrics-dpdk)
+ [Metriken für Instances, die FreeBSD ausführen](#network-performance-metrics-freebsd)

## Voraussetzungen
<a name="network-performance-metrics-requirements"></a>

**Linux-Instances**
+ Installieren Sie ENA-Treiberversion 2.2.10 oder höher. Verwenden Sie den **ethtool**-Befehl, um die installierte Version zu überprüfen. Im folgenden Beispiel erfüllt die Version die Mindestanforderung.

  ```
  [ec2-user ~]$ ethtool -i eth0 | grep version
  version: 2.2.10
  ```

  Informationen zum Upgrade Ihres ENA-Treibers finden Sie unter [Enhanced networking (Verbessertes Networking)](enhanced-networking-ena.md).
+ Um diese Metriken in Amazon zu importieren CloudWatch, installieren Sie den CloudWatch Agenten. Weitere Informationen finden Sie unter [Erfassung von Netzwerkleistungskennzahlen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html) im * CloudWatch Amazon-Benutzerhandbuch*.
+ Installieren Sie zur Unterstützung der `conntrack_allowance_available`-Metrik den ENA-Treiber Version 2.8.1 oder höher.
+ Um das PPS-Limit für ausgehende Fragmente von 1 024 zu überschreiben, installieren Sie den ENA-Treiber Version 2.13.3 oder höher.

**Windows-Instances**
+ Installieren Sie ENA-Treiberversion 2.2.2 oder höher. Verwenden Sie den Geräte-Manager, um die installierte Version zu überprüfen.

  1. Öffnen Sie den Geräte-Manager, indem Sie `devmgmt.msc` ausführen.

  1. Erweitern Sie **Network Adapters (Netzwerkadapter)**.

  1. Wählen Sie **Amazon Elastic Network Adapter (Amazon-Elastic-Netzwerkadapter)**, **Properties (Eigenschaften)**.

  1. Suchen Sie auf der Registerkarte **Driver (Treiber)** nach **Driver Version (Treiberversion)**.

  Informationen zum Upgrade Ihres ENA-Treibers finden Sie unter [Enhanced networking (Verbessertes Networking)](enhanced-networking-ena.md).
+ Um diese Metriken in Amazon zu importieren CloudWatch, installieren Sie den CloudWatch Agenten. Weitere Informationen finden Sie unter [Erfassung erweiterter Netzwerkmetriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html) im * CloudWatch Amazon-Benutzerhandbuch*.

## Metriken für den ENA-Treiber
<a name="network-performance-metrics"></a>

Der ENA-Treiber liefert die folgenden Metriken in Echtzeit an die Instance. Sie liefern die kumulative Anzahl von Paketen, die seit dem letzten Zurücksetzen des Treibers in jeder Netzwerkschnittstelle in die Warteschlange gestellt oder verworfen wurden.


| Metrik | Description | Unterstützt auf | 
| --- | --- | --- | 
| bw\$1in\$1allowance\$1exceeded |  Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, da die eingehende aggregierte Bandbreite das Maximum für die Instance überschritten hat.  | Allen Instance-Typen | 
| bw\$1out\$1allowance\$1exceeded |  Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, weil die ausgehende aggregierte Bandbreite das Maximum für die Instance überschritten hat.  | Allen Instance-Typen | 
| conntrack\$1allowance\$1exceeded |  Die Anzahl der verworfenen Pakete, weil die Verbindungsverfolgung das Maximum für die Instance überschritten hat und keine neuen Verbindungen hergestellt werden konnten. Dies kann zu einem Paketverlust für den Datenverkehr zur oder von der Instance führen.  | Allen Instance-Typen | 
| conntrack\$1allowance\$1available | Die Anzahl der nachverfolgten Verbindungen, die von der Instance hergestellt werden können, bevor die zulässige Anzahl nachverfolgter Verbindungen dieses Instance-Typs erreicht wird. | Nur [Nitro-basierte Instances](instance-types.md#instance-hypervisor-type)  | 
| linklocal\$1allowance\$1exceeded |  Die Anzahl der verworfenen Pakete, weil das PPS des Datenverkehrs zu lokalen Proxy-Diensten das Maximum für die Netzwerkschnittstelle überschritten hat. Dies wirkt sich auf den Datenverkehr zum Amazon-DNS-Service, zum Instance Metadata Service und zum Amazon Time Sync Service aus, hat jedoch keine Auswirkung auf den Datenverkehr an benutzerdefinierte DNS-Resolver.  | Allen Instance-Typen | 
| pps\$1allowance\$1exceeded |  Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, weil die bidirektionale PPS das Maximum für die Instance überschritten hat. \$1  | Allen Instance-Typen | 

\$1 Abhängig von der Einstellung für den Fragment-Proxymodus für den ENA-Linux-Treiber v2.13.3 oder höher kann dieses Limit auch ausgehende Fragmentverluste umfassen, die 1 024 PPS für die Netzwerkschnittstelle überschreiten. Wenn der Fragment-Proxymodus für den Linux-Treiber aktiviert ist, umgehen ausgehende Fragment-Drops das normalerweise geltende Limit von 1 024 PPS und werden innerhalb der Standard-PPS-Zulagen gezählt. Der Fragment-Proxymodus ist standardmäßig deaktiviert.

## Anzeigen der Netzwerkleistungsmetriken für Ihre -Instance
<a name="view-network-performance-metrics"></a>

Welches Verfahren Sie verwenden, hängt vom Betriebssystem der Instance ab.

### Linux-Instances
<a name="view-network-performance-metrics-linux"></a>

Sie können Metriken in Ihren bevorzugten Tools veröffentlichen, um die Metrikdaten zu visualisieren. Sie können die Metriken beispielsweise CloudWatch mithilfe des CloudWatch Agenten auf Amazon veröffentlichen. Der Agent ermöglicht es Ihnen, einzelne Metriken auszuwählen und die Veröffentlichung zu steuern.

Sie können auch den **ethtool** verwenden, um die Metriken für jede Netzwerkschnittstelle wie eth0 wie folgt abzurufen.

```
[ec2-user ~]$ ethtool -S eth0
     bw_in_allowance_exceeded: 0
     bw_out_allowance_exceeded: 0
     pps_allowance_exceeded: 0
     conntrack_allowance_exceeded: 0
     linklocal_allowance_exceeded: 0
     conntrack_allowance_available: 136812
```

### Windows-Instances
<a name="view-network-performance-metrics-windows"></a>

Sie können die Metriken mit jedem Verbraucher von Windows-Leistungsindikatoren anzeigen. Die Daten können gemäß dem EnaPerfCounters Manifest analysiert werden. Dies ist eine XML-Datei, die den Leistungsindikatoranbieter und seine Leistungsindikatoren definiert.

**So installieren Sie das Manifest**

Wenn Sie die Instance mit einem AMI gestartet haben, das ENA-Treiber 2.2.2 oder höher enthält oder das Installationsskript im Treiberpaket für ENA-Treiber 2.2.2 verwendet hat, ist das Manifest bereits installiert. Gehen Sie folgendermaßen vor, um das Manifest manuell zu installieren:

1. Entfernen Sie das vorhandene Manifest mit dem folgenden Befehl:

   ```
   unlodctr /m:EnaPerfCounters.man
   ```

1. Kopieren Sie die Manifestdatei `EnaPerfCounters.man` aus dem Treiberinstallationspaket nach `%SystemRoot%\System32\drivers`.

1. Installieren Sie das neue Manifest mit dem folgenden Befehl:

   ```
   lodctr /m:EnaPerfCounters.man
   ```

**So zeigen Sie Metriken mit dem Leistungsmonitor an**

1. Öffnen Sie Performance Monitor.

1. Drücken Sie Strg\$1N, um neue Leistungsindikatoren hinzuzufügen.

1. Wählen Sie **ENA Packets Shaping (ENA-Paketformung)** aus der Liste aus.

1. Wählen Sie die zu überwachenden Instances aus und wählen Sie **Add (Hinzufügen)**.

1. Klicken Sie auf **OK**.

## Metriken für ENA Express
<a name="network-performance-metrics-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. 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 zu helfen sicherzustellen, dass Ihre Instances die Leistungsverbesserungen der SRD-Technologie voll ausschöpfen. Beispiel:
+ Bewerten Sie Ihre Ressourcen, um sicherzustellen, dass sie über ausreichende Kapazitäten verfügen, um mehr SRD-Verbindungen herzustellen.
+ Identifizieren Sie, wo potenzielle Probleme bestehen, die verhindern, dass berechtigte ausgehende Pakete SRD verwenden.
+ Berechnen Sie den Prozentsatz des ausgehenden Datenverkehrs, welcher SRD für die Instance verwendet.
+ Berechnen Sie den Prozentsatz des eingehenden Datenverkehrs, welcher SRD für die Instance verwendet.

**Anmerkung**  
Verwenden Sie zum Erstellen von Metriken die Treiberversion 2.8 oder höher.

Um eine Liste der Metriken für Ihre Linux Instance anzuzeigen, die für ENA Express gefiltert wurde, führen Sie den folgenden **ethtool**-Befehl für Ihre Netzwerkschnittstelle aus (hier als `eth0` gezeigt). Notieren Sie sich den Wert der `ena_srd_mode`-Metrik.

```
[ec2-user ~]$ ethtool -S eth0 | grep ena_srd
NIC statistics:
	ena_srd_mode: 1
	ena_srd_tx_pkts: 0
	ena_srd_eligible_tx_pkts: 0
	ena_srd_rx_pkts: 0
	ena_srd_resource_utilization: 0
```

Die folgenden Metriken sind für alle Instances verfügbar, für die ENA Express aktiviert ist.

**ena\$1srd\$1mode**  
Beschreibt, welche ENA-Express-Features aktiviert sind. Werte sind wie folgt:  
+ `0` = ENA Express aus, UDP aus
+ `1` = ENA Express ein, UDP aus
+ `2` = ENA Express aus, UDP ein
**Anmerkung**  
Dies passiert nur, wenn ENA Express ursprünglich aktiviert war und UDP für dessen Verwendung konfiguriert wurde. Der vorherige Wert wird für UDP-Verkehr beibehalten.
+ `3` = ENA Express ein, UDP ein

**ena\$1srd\$1eligible\$1tx\$1pkts**  
Die Anzahl der Netzwerke wie folgt:  
+ 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.md#ena-express-supported-instance-types)-Tabelle.
+ Sowohl die sendenden als auch die empfangenden Instances müssen ENA Express konfiguriert haben.
+ Die sendenden und empfangenden Instances müssen in derselben Availability Zone laufen.
+ Der Netzwerkpfad zwischen den Instances darf keine Middleware-Boxen enthalten. ENA Express unterstützt derzeit keine Middleware-Boxen.
Die ENA-Express-Zulassungsmetrik deckt die Quell- und Zielanforderungen sowie das Netzwerk zwischen den beiden Endpunkten ab. Zugelassene Pakete können immer noch disqualifiziert werden, nachdem sie bereits gezählt wurden. Wenn beispielsweise ein berechtigtes Paket das Maximum Transmission Unit (MTU)-Limit überschreitet, wird auf die standardmäßige ENA-Übertragung zurückgegriffen, obwohl das Paket im Zähler immer noch als geeignet angezeigt wird.

**ena\$1srd\$1tx\$1pkts**  
Die Anzahl der SRD-Pakete, die innerhalb eines bestimmten Zeitraums übertragen wurden.

**ena\$1srd\$1rx\$1pkts**  
Die Anzahl der SRD-Pakete, die innerhalb eines bestimmten Zeitraums empfangen wurden.

**ena\$1srd\$1resource\$1utilization**  
Der Prozentsatz der maximal zulässigen Arbeitsspeichernutzung für gleichzeitige SRD-Verbindungen, den die Instance verbraucht hat.

Um zu überprüfen, ob die Paketübertragung SRD verwendet, können Sie die Anzahl der zulässigen Pakete (`ena_srd_eligible_tx_pkts`-Metrik) mit der Anzahl der übertragenen SRD-Pakete (`ena_srd_tx_pkts`-Metrik) während eines bestimmten Zeitraums vergleichen.

**Ausgehender Verkehr (ausgehende Pakete)**  
Um sicherzustellen, dass Ihr ausgehender Verkehr SRD wie erwartet verwendet, vergleichen Sie die Anzahl der SRD-fähigen Pakete (`ena_srd_eligible_tx_pkts`) mit der Anzahl der gesendeten SRD-Pakete (`ena_srd_tx_pkts`) über einen bestimmten Zeitraum.

Signifikante Unterschiede zwischen der Anzahl der berechtigten Pakete und der Anzahl der gesendeten SRD-Pakete werden häufig durch Probleme mit der Ressourcenauslastung verursacht. Wenn die an die Instance angeschlossene Netzwerkkarte ihre maximalen Ressourcen aufgebraucht hat oder wenn die Pakete das MTU-Limit überschreiten, können berechtigte Pakete nicht über SRD übertragen werden und müssen auf die standardmäßige ENA-Übertragung zurückgreifen. Pakete können auch während Live-Migrationen oder Aktualisierungen des Live-Servers in diese Lücke fallen. Eine zusätzliche Fehlerbehebung ist erforderlich, um die Grundursache zu ermitteln.

**Anmerkung**  
Sie können gelegentliche geringfügige Unterschiede zwischen der Anzahl der berechtigten Pakete und der Anzahl der SRD-Pakete ignorieren. Dies kann beispielsweise passieren, wenn Ihre Instance eine Verbindung zu einer anderen Instance für SRD-Traffic herstellt.

Um herauszufinden, welcher Prozentsatz Ihres gesamten ausgehenden Datenverkehrs in einem bestimmten Zeitraum SRD verwendet, vergleichen Sie die Anzahl der gesendeten SRD-Pakete (`ena_srd_tx_pkts`) mit der Gesamtzahl der Pakete, die während dieser Zeit für die Instance (`NetworkPacketOut`) gesendet wurden.

**Eingehender Verkehr (eingehende Pakete)**  
Um herauszufinden, welcher Prozentsatz Ihres gesamten eingehenden Datenverkehrs in einem bestimmten Zeitraum SRD verwendet, vergleichen Sie die Anzahl der empfangenen SRD-Pakete (`ena_srd_rx_pkts`) mit der Gesamtzahl der Pakete, die während dieser Zeit von der Instance (`NetworkPacketIn`) erhalten wurden.

**Ressourcenauslastung**  
Die Ressourcenauslastung basiert auf der Anzahl der gleichzeitigen SRD-Verbindungen, die eine einzelne Instance zu einem bestimmten Zeitpunkt unterhalten kann. Die Metrik zur Ressourcenauslastung (`ena_srd_resource_utilization`) verfolgt Ihre aktuelle Auslastung für die Instance. Wenn sich die Auslastung 100 % nähert, können Sie Leistungsproblemen erwarten. ENA Express greift von der SRD auf die standardmäßige ENA-Übertragung zurück und die Wahrscheinlichkeit, dass Pakete verworfen werden, steigt. Eine hohe Ressourcenauslastung ist ein Zeichen dafür, dass es an der Zeit ist, die Instance aufzuskalieren, um die Netzwerkleistung zu verbessern.

**Anmerkung**  
Wenn der Netzwerkverkehr für eine Instance ein Maximum überschreitet, wird der Datenverkehr, AWS der das Maximum überschreitet, geformt, indem Netzwerkpakete in eine Warteschlange gestellt und anschließend gelöscht werden.

**Persistenz**  
Ausgangs- und Eingangsmetriken fallen an, solange ENA Express für die Instance aktiviert ist. Metriken fallen nicht mehr an, wenn ENA Express deaktiviert ist, aber sie bleiben bestehen, solange die Instance noch läuft. Die Metriken werden zurückgesetzt, wenn die Instance neu gestartet oder beendet wird oder wenn die Netzwerkschnittstelle von der Instance getrennt ist.

## Metriken zur Netzwerkleistung mit dem DPDK-Treiber für ENA
<a name="network-performance-metrics-dpdk"></a>

Die ENA-Treiberversion 2.2.0 und höher unterstützt die Berichterstellung von Netzwerkmetriken. DPDK 20.11 enthält den ENA-Treiber 2.2.0 und ist die erste DPDK-Version, die dieses Feature unterstützt.

Der DPDK-Treiber v25.03 oder höher unterstützt den Fragment-Proxymodus. Wenn der Fragment-Proxymodus für den DPDK-Treiber aktiviert ist, umgehen ausgehende Fragment-Drops das normalerweise geltende Limit von 1 024 PPS und werden innerhalb der Standard-PPS-Zulagen gezählt. Der Fragment-Proxymodus ist standardmäßig deaktiviert.

Sie können eine Beispielanwendung verwenden, um DPDK-Statistiken anzuzeigen. Um eine interaktive Version der Beispielanwendung zu starten, führen Sie den folgenden Befehl aus.

```
./app/dpdk-testpmd -- -i
```

In dieser interaktiven Sitzung können Sie einen Befehl eingeben, um erweiterte Statistiken für einen Port abzurufen. Der folgende Beispielbefehl ruft die Statistiken für Port 0 ab.

```
show port xstats 0
```

Das Folgende ist ein Beispiel für eine interaktive Sitzung mit der DPDK-Beispielanwendung.

```
[root@ip-192.0.2.0 build]# ./app/dpdk-testpmd -- -i
        EAL: Detected 4 lcore(s)
        EAL: Detected 1 NUMA nodes
        EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
        EAL: Selected IOVA mode 'PA'
        EAL: Probing VFIO support...
        EAL:   Invalid NUMA socket, default to 0
        EAL:   Invalid NUMA socket, default to 0
        EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0
(socket 0)
        EAL: No legacy callbacks, legacy socket not created
        Interactive-mode selected
    
        Port 0: link state change event
        testpmd: create a new mbuf pool <mb_pool_0>: n=171456,
size=2176, socket=0
        testpmd: preferred mempool ops selected: ring_mp_mc
    
        Warning! port-topology=paired and odd forward ports number, the
last port will pair with itself.
    
        Configuring Port 0 (socket 0)
        Port 0: 02:C7:17:A2:60:B1
        Checking link statuses...
        Done
        Error during enabling promiscuous mode for port 0: Operation
not supported - ignore
        testpmd> show port xstats 0
        ###### NIC extended statistics for port 0
        rx_good_packets: 0
        tx_good_packets: 0
        rx_good_bytes: 0
        tx_good_bytes: 0
        rx_missed_errors: 0
        rx_errors: 0
        tx_errors: 0
        rx_mbuf_allocation_errors: 0
        rx_q0_packets: 0
        rx_q0_bytes: 0
        rx_q0_errors: 0
        tx_q0_packets: 0
        tx_q0_bytes: 0
        wd_expired: 0
        dev_start: 1
        dev_stop: 0
        tx_drops: 0
        bw_in_allowance_exceeded: 0
        bw_out_allowance_exceeded: 0
        pps_allowance_exceeded: 0
        conntrack_allowance_exceeded: 0
        linklocal_allowance_exceeded: 0
        rx_q0_cnt: 0
        rx_q0_bytes: 0
        rx_q0_refill_partial: 0
        rx_q0_bad_csum: 0
        rx_q0_mbuf_alloc_fail: 0
        rx_q0_bad_desc_num: 0
        rx_q0_bad_req_id: 0
        tx_q0_cnt: 0
        tx_q0_bytes: 0
        tx_q0_prepare_ctx_err: 0
        tx_q0_linearize: 0
        tx_q0_linearize_failed: 0
        tx_q0_tx_poll: 0
        tx_q0_doorbells: 0
        tx_q0_bad_req_id: 0
        tx_q0_available_desc: 1023
        testpmd>
```

Weitere Informationen über die Beispielanwendung und deren Verwendung zum Abrufen erweiterter Statistiken. Siehe [Testpmd Application User Guide (Testpmd-Anwendungs-Benutzerhandbuch)](https://doc.dpdk.org/guides/testpmd_app_ug/) in der DPDK-Dokumentation.

## Metriken für Instances, die FreeBSD ausführen
<a name="network-performance-metrics-freebsd"></a>

Ab Version 2.3.0 unterstützt der ENA-FreeBSD-Treiber das Sammeln von Netzwerkleistungsmetriken auf Instances, auf denen FreeBSD ausgeführt wird. Um die Erfassung von FreeBSD Metriken zu aktivieren, geben Sie den folgenden Befehl ein und legen Sie ihn *interval* auf einen Wert zwischen 1 und 3600 fest. Dies gibt an, wie oft in Sekunden FreeBSD-Metriken gesammelt werden.

```
sysctl dev.ena.network_interface.eni_metrics.sample_interval=interval
```

Mit dem folgenden Befehl wird beispielsweise festgelegt, dass der Treiber alle 10 Sekunden FreeBSD-Metriken auf der Netzwerkschnittstelle 1 sammelt:

```
sysctl dev.ena.1.eni_metrics.sample_interval=10
```

Um die Erfassung von FreeBSD Metriken zu deaktivieren, können Sie den vorherigen Befehl ausführen und `0` als angeben. *interval*

Sobald Sie FreeBSD-Metriken sammeln aktiviert haben, können Sie den neuesten Satz gesammelter Metriken abrufen, indem Sie den folgenden Befehl ausführen.

```
sysctl dev.ena.network_interface.eni_metrics
```

# Verbessern Sie die Netzwerklatenz für Linux-basierte EC2 Instances
<a name="ena-improve-network-latency-linux"></a>

Die Netzwerklatenz ist die Zeitspanne, die ein Datenpaket benötigt, um von seiner Quelle zu seinem Ziel zu gelangen. Anwendungen, die Daten über das Netzwerk senden, sind auf zeitnahe Antworten angewiesen, um eine positive Benutzererfahrung zu bieten. Eine hohe Netzwerklatenz kann zu verschiedenen Problemen führen, z. B. zu den folgenden:
+ Langsame Ladezeiten für Webseiten
+ Verzögerung des Videostreams
+ Schwierigkeiten beim Zugriff auf Online-Ressourcen

In diesem Abschnitt werden Schritte beschrieben, die Sie ergreifen können, um die Netzwerklatenz auf EC2 Amazon-Instances zu verbessern, die unter Linux ausgeführt werden. Um eine optimale Latenz zu erreichen, führen Sie die folgenden Schritte aus, um Ihre Instance, den Kernel und die ENA-Treibereinstellungen zu konfigurieren. Weitere Anleitungen zur Konfiguration 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) unterGitHub.

**Anmerkung**  
Die Schritte und Einstellungen können je nach Ihrer spezifischen Netzwerkhardware, dem AMI, von dem aus Sie Ihre Instance gestartet haben, und Ihrem Anwendungsfall leicht variieren. Bevor Sie Änderungen vornehmen, testen und überwachen Sie Ihre Netzwerkleistung gründlich, um sicherzustellen, dass Sie die gewünschten Ergebnisse erzielen.

## Die Anzahl der Netzwerk-Hops für Datenpakete reduzieren
<a name="ena-latency-reduce-hops"></a>

Jeder Sprung, den ein Datenpaket bei der Übertragung von Router zu Router zurücklegt, erhöht die Netzwerklatenz. Üblicherweise muss der Datenverkehr mehrere Sprünge machen, um Ihr Ziel zu erreichen. Es gibt zwei Möglichkeiten, Netzwerk-Hops für Ihre EC2 Amazon-Instances zu reduzieren:
+ **Cluster-Placement-Gruppe** — Wenn Sie eine [Cluster-Placement-Gruppe](placement-strategies.md#placement-groups-cluster) angeben, EC2 startet Amazon Instances, die sich in unmittelbarer Nähe zueinander befinden, physisch innerhalb derselben Availability Zone (AZ) mit engerer Packung. Durch die räumliche Nähe der Instances in der Gruppe können sie die Vorteile einer Hochgeschwindigkeitsverbindung nutzen, was zu niedrigen Latenzzeiten und einem hohen Durchsatz für einzelne Datenströme führt.
+ **Dedicated Host** – Ein [Dedicated Host](dedicated-hosts-overview.md) ist ein physischer Server ausschließlich für Ihre Verwendung. Mit einem Dedicated Host können Sie Ihre Instances so starten, dass sie auf demselben physischen Server ausgeführt werden. Kommunikation zwischen Instances, die auf demselben Dedicated Host ausgeführt werden, kann ohne zusätzliche Sprünge erfolgen.

## Wie Linux-Kernelkonfiguration die Latenz beeinflusst
<a name="ena-latency-kernel-config"></a>

Die Konfiguration des Linux-Kernels kann die Netzwerklatenz erhöhen oder verringern. Um Ihre Ziele zur Latenzoptimierung zu erreichen, ist es wichtig, die Konfiguration des Linux-Kernels an die spezifischen Anforderungen Ihres Workloads anzupassen.

Es gibt viele Konfigurationsoptionen für den Linux-Kernel, die helfen können, die Netzwerklatenz zu verringern. Die wirkungsvollsten Optionen sind folgende.
+ **Aktivieren des Besetztabfrage-Modus** – Der Besetztabfrage-Modus reduziert die Latenzzeit auf dem Netzwerkempfangspfad. Wenn Sie den Besetztabfrage-Modus aktivieren, kann der Socket-Schicht-Code die Empfangswarteschlange eines Netzwerkgeräts direkt abfragen. Der Nachteil des Busy-Polls ist die höhere CPU-Auslastung des Hosts, die durch das Abrufen neuer Daten in einer engen Schleife entsteht. Es gibt zwei globale Einstellungen, welche die Anzahl der Mikrosekunden steuern, die auf Pakete für alle Schnittstellen gewartet wird.

     
`busy_read`  
Ein Busy-Poll-Timeout mit geringer Latenz für Socket-Lesevorgänge. Dies steuert die Anzahl der Mikrosekunden, die gewartet wird, bis die Socket-Schicht Pakete in der Geräte-Warteschlange liest. Um das Feature global mit dem Befehl **sysctl** zu aktivieren, empfiehlt die Linux Kernel-Organisation einen Wert von 50 Mikrosekunden. Weitere Informationen finden Sie unter [busy\$1read](https://www.kernel.org/doc/html/v5.19/admin-guide/sysctl/net.html?highlight=busy_read) im *Benutzer- und Administratorenhandbuch für Linux-Kernel*.  

  ```
  [ec2-user ~]$ sudo sysctl -w net.core.busy_read=50
  ```  
`busy_poll`  
Ein Busy-Poll-Timeout mit geringer Latenzzeit für die Abfrage und Auswahl. Das steuert die Anzahl der Mikrosekunden, die auf Ereignisse gewartet wird. Der empfohlene Wert liegt zwischen 50 und 100 Mikrosekunden, abhängig von der Anzahl der abzufragenden Sockets. Je mehr Sockets Sie hinzufügen, desto höher sollte die Zahl sein.  

  ```
  [ec2-user ~]$ sudo sysctl -w net.core.busy_poll=50
  ```
+ **Konfigurieren des CPU-Energiestatus (C-Status)** – C-Status steuert die Ruhezustände, in denen sich ein Kern in inaktiven Zustand befinden kann. Es kann ratsam sein, die C-Status zu steuern, um Ihr System im Hinblick auf Latenz und Leistung zu optimieren. In tieferen C-Zuständen ist die CPU im Wesentlichen „eingeschlafen“ und kann nicht auf Anfragen reagieren, bis sie aufwacht und wieder in einen aktiven Zustand übergeht. Das Versetzen von Cores in den Ruhezustand benötigt Zeit. Und auch wenn ein Core im Ruhezustand mehr Spielraum zur Nutzung einer höheren Frequenz durch einen anderen Core zulässt, dauert es auch wieder eine gewisse Zeit, bis der Core aus dem Ruhezustand erwacht und Arbeitsschritte ausführen kann.

  Wenn beispielsweise ein Core, der für die Bearbeitung von Interrupts für Netzwerkpakete zuständig ist, schläft, kann es zu einer Verzögerung bei der Bearbeitung des Interrupts kommen. Sie können das System so konfigurieren, dass es keine tieferen C-Zustände verwendet. Diese Konfiguration reduziert zwar die Latenz der Prozessorreaktion, aber gleichzeitig wird auch der Turbo-Boost-Spielraum für andere Cores verringert.

  Um die Reaktionslatenz des Prozessors zu verringern, können Sie tiefere C-Status begrenzen. Weitere Informationen finden Sie unter [Hohe Performance und geringe Latenz durch die Beschränkung von tieferen C-Zuständen](https://docs.aws.amazon.com/linux/al2/ug/processor_state_control.html#c-states) im *Benutzerhandbuch für Amazon Linux 2*.

## Moderation unterbrechen
<a name="ena-latency-interrupt-moderation"></a>

Der ENA-Netzwerktreiber ermöglicht die Kommunikation zwischen einer Instance und einem Netzwerk. Der Treiber verarbeitet Netzwerkpakete und leitet sie an den entsprechenden Netzwerkstapel oder die Nitro-Karte weiter. Wenn ein Netzwerkpaket eingeht, generiert die Nitro-Karte eine Unterbrechung für die CPU, um die Software über ein Ereignis zu informieren.

Unterbrechen  
Eine Unterbrechung ist ein Signal, das ein Gerät oder eine Anwendung an den Prozessor sendet. Die Unterbrechung teilt dem Prozessor mit, dass ein Ereignis eingetreten ist oder eine Bedingung erfüllt wurde, die sofortige Aufmerksamkeit erfordert. Interrupts können zeitkritische Aufgaben wie den Empfang von Daten von einer Netzwerkschnittstelle, die Bearbeitung von Hardwareereignissen oder die Bearbeitung von Anforderungen von anderen Geräten erledigen.

Moderation unterbrechen  
Die Interrupt-Moderation ist eine Technik, die die Anzahl der von einem Gerät generierten Interrupts reduziert, indem sie aggregiert oder verzögert werden. Der Zweck der Interrupt-Moderation besteht darin, die Systemleistung zu verbessern, indem der mit der Bearbeitung einer großen Anzahl von Interrupts verbundene Aufwand reduziert wird. Zu viele Interrupts erhöhen die CPU-Auslastung, was sich negativ auf den Durchsatz auswirkt, während zu wenige Interrupts die Latenz erhöhen.

Dynamische Interrupt-Moderation  
Die dynamische Interrupt-Moderation ist eine erweiterte Form der Interrupt-Moderation, bei der die Interrupt-Rate dynamisch an die aktuelle Systemlast und die Verkehrsmuster angepasst wird. Sie zielt darauf ab, ein Gleichgewicht zwischen der Reduzierung des Interrupt-Overheads und der Reduzierung der Pakete pro Sekunde oder Bandbreite zu finden.  
Die dynamische Interrupt-Moderation ist in einigen standardmäßig aktiviert AMIs (kann aber in allen aktiviert oder deaktiviert werden). AMIs

Um die Netzwerklatenz zu minimieren, ist es eventuell erforderlich, die Unterbrechungsmoderation zu deaktivieren. Dies kann jedoch auch den Aufwand für die Verarbeitung von Unterbrechungen erhöhen. Es ist wichtig, das richtige Gleichgewicht zwischen der Reduzierung der Latenzzeit und der Minimierung des Aufwands zu finden. `ethtool`-Befehle können Sie bei der Konfiguration der Unterbrechungsmoderation unterstützen. `rx-usecs` Ist standardmäßig auf `20` gesetzt und `tx-usecs` ist auf `64` gesetzt.

Verwenden Sie den folgenden Befehl, um die aktuelle Änderungskonfiguration der Unterbrechung abzurufen.

```
[ec2-user ~]$ ethtool -c interface | egrep "rx-usecs:|tx-usecs:|Adaptive RX"
Adaptive RX: on  TX: off
rx-usecs: 20
tx-usecs: 64
```

Verwenden Sie den folgenden Befehl, um die Unterbrechungsmodifikation und die dynamische Unterbrechungsmoderation zu deaktivieren.

```
[ec2-user ~]$ sudo ethtool -C interface adaptive-rx off rx-usecs 0 tx-usecs 0
```

# Überlegungen zum Nitro-System für die Leistungsoptimierung
<a name="ena-nitro-perf"></a>

Das Nitro-System ist eine 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](https://aws.amazon.com/ec2/nitro/).

Alle EC2-Instance-Typen der aktuellen Generation verarbeiten Netzwerkpakete auf EC2-Nitro-Karten. 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/ODatenverkehr), der physisch von der Hauptplatine des Systems getrennt ist, auf der die Workloads der Kunden ausgeführt werden.

## Netzwerk-Paket-Ablauf auf Nitro-Karten
<a name="ena-nitro-perf-network-flow"></a>

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](#ena-nitro-perf-exceptions).

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
<a name="ena-nitro-perf-overall-design"></a>

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
<a name="ena-nitro-perf-considerations"></a>

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
<a name="ena-nitro-perf-infra-considerations"></a>

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 von Amazon-EC2-Sicherheitsgruppen](security-group-connection-tracking.md).

**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](https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena#driver-compilation) 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 [ENA-Treiber auf EC2-Windows-Instances installieren](ena-adapter-driver-install-upgrade-win.md).

**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 ein Feature, das 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
<a name="ena-nitro-perf-app-design"></a>

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 9 001 Byte, dies kann jedoch bei anderen Services zu unterschiedlichen Grenzwerten führen. 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](#ena-nitro-perf-maximize). 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 auf EC2-Instances zu verbessern. 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](ena-queues.md).

**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.  
Nicht alle Datenverkehrsflüsse werden verfolgt. Wenn eine Sicherheitsgruppenregel mit [Unverfolgte Verbindungen](security-group-connection-tracking.md#untracked-connections) 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
<a name="ena-nitro-perf-exceptions"></a>

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 Ausnahmen 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 unter „Aktionen, die Sie ausführen können“ im Abschnitt [Maximieren Sie die Netzwerkleistung auf Ihrem Nitro-System](#ena-nitro-perf-maximize).

**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](security-group-connection-tracking.md#connection-tracking-timeouts).

**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-Abläufe**  
NitroV3 und frühere Plattformen verwenden keine Hardwarebeschleunigung für den Verkehr zwischen zwei ENIs im selben Subnetz, wobei ein ENI den Standard-Gateway-Router verwendet und das andere nicht. NitroV4 und neuere Plattformen verwenden in diesem Szenario die 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
<a name="ena-nitro-perf-maximize"></a>

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

**Topics**
+ [Überlegungen](#considerations)
+ [Optimieren der PPS-Leistung](#tuning)
+ [ENA-Warteschlangenzuweisung konfigurieren](#max-perf-ena-queues)
+ [Überwachen Sie die Leistung auf Linux-Instances](#monitoring)

### Überlegungen
<a name="considerations"></a>

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](#ena-nitro-perf-considerations) überprüfen.

   Weitere Überlegungen und bewährte Methoden für Ihre Instance-Konfiguration unter Linux 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) unter. GitHub

1. 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 der PPS-Leistung
<a name="tuning"></a>

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](security-group-connection-tracking.md#untracked-connections).
+ Verwenden Sie das UDP-Protokoll für den Netzwerkverkehr.
+ Verteilen Sie bei EC2-Instances mit einer Gesamtbandbreite von 100 Gbit/s oder mehr den Workload 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 auf 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 das PPS-Limit für ausgehende Zugriffe von 1 024 überschritten wird. Führen Sie beim Laden des Treibers einen der folgenden Befehle aus, um den Fragment-Proxymodus zu aktivieren oder zu deaktivieren:

  **Fragment-Proxymodus aktivieren**

  ```
  sudo insmod ena.ko enable_frag_bypass=1
  ```

  **Fragment-Proxymodus deaktivieren**

  ```
  sudo insmod ena.ko enable_frag_bypass=0
  ```

### ENA-Warteschlangenzuweisung konfigurieren
<a name="max-perf-ena-queues"></a>

Bei unterstützten Instance-Typen können Sie diese Warteschlangen dynamisch den Elastic Network Interfaces zuweisen ()ENIs. 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. Weitere Informationen finden Sie unter [ENA-Warteschlangen](ena-queues.md).

### Überwachen Sie die Leistung auf Linux-Instances
<a name="monitoring"></a>

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 [Netzwerkleistung für ENA-Einstellungen auf Ihrer EC2-Instance überwachen](monitoring-network-performance-ena.md).

# Optimieren Sie die Netzwerkleistung auf EC2 Windows-Instanzen
<a name="enhanced-networking-os"></a>

Um die maximale Netzwerkleistung auf Ihren Windows-Instances mit erweitertem Netzwerk zu erreichen, müssen Sie möglicherweise die Standardkonfiguration des Betriebssystems ändern. Wir empfehlen die folgenden Konfigurationsänderungen für Anwendungen, die eine hohe Netzwerkleistung erfordern. Andere Optimierungen (z. B. das Aktivieren des Prüfsummen-Offloads und das Aktivieren von RSS) sind in offiziellen Windows-Versionen bereits konfiguriert. AMIs

**Anmerkung**  
TCP-Chimney-Verschiebung sollte in den meisten Anwendungsfällen deaktiviert werden und ist ab Windows Server 2016 veraltet.

Zusätzlich zu diesen Betriebssystemoptimierungen sollten Sie auch die Maximum Transmission Unit (MTU, maximale Übertragungseinheit) Ihres Netzwerkverkehrs berücksichtigen und an Ihren Workload und Ihre Netzwerkarchitektur anpassen. Weitere Informationen finden Sie unter [Network Maximum Transmission Unit (MTU) für Ihre Instanz EC2](network_mtu.md).

AWS misst regelmäßig durchschnittliche Roundtrip-Latenzen zwischen Instances, die in einer Cluster-Platzierungsgruppe von 50 us gestartet werden, und Tail-Latenzen von 200 us bei 99,9 Perzentil. Wenn Ihre Anwendungen konsistent niedrige Latenzen erfordern, empfehlen wir, die neueste Version der ENA-Treiber auf Instances mit fester Leistung, die auf dem Nitro-System basieren.

## Konfiguration der CPU-Affinität für empfangsseitige Skalierung
<a name="windows-rss-cpu-affinity"></a>

Empfangsseitige Skalierung (RSS, Receive Side Scaling) wird verwendet, um die CPU-Auslastung von Netzwerkverkehr auf mehrere Prozessoren zu verteilen. Standardmäßig AMIs sind die offiziellen Amazon Windows mit aktiviertem RSS konfiguriert. ENA-Elastic-Network-Interfaces stellen bis zu acht RSS-Warteschlangen bereit. Durch das Definieren der CPU-Affinität für RSS-Warteschlangen und andere Systemprozesse lässt sich die CPU-Auslastung auf Multi-Core-Systeme verteilen, wodurch mehr Netzwerkverkehr verarbeitet werden kann. Bei Instance-Typen mit mehr als 16 V CPUs empfehlen wir die Verwendung des `Set-NetAdapterRSS` PowerShell Cmdlets, das den Startprozessor (logische Prozessoren 0 und 1, wenn Hyper-Threading aktiviert ist) manuell von der RSS-Konfiguration für alle Elastic Network-Schnittstellen ausschließt, um Konflikte mit verschiedenen Systemkomponenten zu vermeiden.

Windows ist hyper-thread-fähig und sorgt dafür, dass die RSS-Warteschlangen einer einzelnen Netzwerkkarte (NIC) immer auf verschiedenen physischen Kernen platziert werden. Um Konflikte mit anderen vollständig zu vermeiden, sollten Sie daher die RSS-Konfiguration jeder Netzwerkkarte auf eine Reihe von 16 logischen Prozessoren verteilen NICs, sofern Hyperthreading nicht deaktiviert ist. Mit dem `Set-NetAdapterRss` Cmdlet können Sie den Bereich gültiger logischer Prozessoren pro NIC definieren, indem Sie die Werte von BaseProcessorGroup,, BaseProcessorNumber, MaxProcessingGroup und (optional) definieren. MaxProcessorNumber NumaNode Wenn es nicht genügend physische Kerne gibt, um Konflikte zwischen NICs vollkommen zu beseitigen, sollten Sie die überlappenden Bereiche minimieren oder die Anzahl der logischen Prozessoren in den ENI-Bereichen abhängig von den voraussichtlichen Workload der ENI reduzieren (das heißt, ggf. müssen einer Administrator-Netzwerk-ENI mit geringem Volumen nicht so viele RSS-Warteschlangen zugewiesen werden). Außerdem müssen, wie bereits erwähnt, verschiedene Komponenten auf CPU 0 ausgeführt werden. Daher empfehlen wir, diese Komponente aus allen RSS-Konfigurationen auszuschließen, wenn ausreichend v CPUs verfügbar sind. 

Wenn beispielsweise drei elastische Netzwerkschnittstellen auf einer 72-vCPU-Instanz mit 2 NUMA-Knoten mit aktiviertem Hyperthreading vorhanden sind, verteilen die folgenden Befehle die Netzwerklast CPUs ohne Überschneidung zwischen den beiden und verhindern die Verwendung von Core 0 vollständig. 

```
Set-NetAdapterRss -Name NIC1 -BaseProcessorGroup 0 -BaseProcessorNumber 2 -MaxProcessorNumber 16 
Set-NetAdapterRss -Name NIC2 -BaseProcessorGroup 1 -BaseProcessorNumber 0 -MaxProcessorNumber 14 
Set-NetAdapterRss -Name NIC3 -BaseProcessorGroup 1 -BaseProcessorNumber 16 -MaxProcessorNumber 30
```

Beachten Sie, dass diese Einstellungen für jeden Netzwerkadapter bestehen bleiben. Wenn die Größe einer Instance auf eine Instanz mit einer anderen Nummer von v geändert wirdCPUs, sollten Sie die RSS-Konfiguration für jede aktivierte elastic network interface neu bewerten. Die vollständige Microsoft-Dokumentation für das Cmdlet finden Sie hier: [Set](https://learn.microsoft.com/en-us/powershell/module/netadapter/set-netadapterrss) -. NetAdapterRss

Besonderer Hinweis für SQL-Workloads: Wir empfehlen Ihnen außerdem, Ihre I/O Thread-Affinitätseinstellungen zusammen mit Ihrer RSS-Konfiguration für elastic network interface Netzwerkschnittstellen zu überprüfen, um Netzwerkkonflikte zu minimieren I/O . CPUs Weitere Informationen finden Sie unter [Serverkonfiguration: Affinitätsmaske](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/affinity-mask-server-configuration-option).