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.
Amazon EC2 bietet erweiterte 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.
Die folgende Dokumentation finden Sie unter GitHub:
-
Lesen Sie die Versionshinweise zum ENA-Linux-Kerneltreiber
unter GitHub. -
Eine Übersicht über den ENA-Linux-Kerneltreiber mit Installationsanweisungen finden Sie unter Linux-Kerneltreiber für die Elastic Network Adapter (ENA) -Familie
unter GitHub.
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 Namenskonventionen im EC2 Amazon-Instanztypen-Leitfaden.
Inhalt
Voraussetzungen für erweiterte Netzwerke mit ENA
Zur Vorbereitung für Enhanced Networking mit ENA sollten Sie Ihre Instance wie folgt einrichten:
-
Starten Sie eine Nitro-basierte Instance.
-
Ü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
. -
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
verfügt. -
Verwenden Sie AWS CloudShell
das AWS Management Console oder installieren und konfigurieren Sie das AWS CLIoder AWS Tools for Windows PowerShellauf einem beliebigen Computer Ihrer Wahl, vorzugsweise auf Ihrem lokalen Desktop oder Laptop. Weitere Informationen finden Sie unter Zugriff auf Amazon EC2 oder im AWS CloudShell -Benutzerhandbuch. Enhanced Networking kann nicht von der EC2 Amazon-Konsole aus verwaltet werden.
Testen, ob Enhanced Networking aktiviert ist
Sie können testen, ob Enhanced Networking in Ihren oder Ihren Instances aktiviert ist AMIs.
Instance-Attribut
Sie prüfen, ob in einer Instance das enaSupport
-Attribut für Enhanced Networking gesetzt wurde, indem Sie einen der folgenden Befehle verwenden. Wenn das Attribut gesetzt wurde, wird als Antwort „true” ausgegeben.
-
describe-instances
(AWS CLI) aws ec2 describe-instances --instance-ids
instance_id
--query "Reservations[].Instances[].EnaSupport" -
Get-EC2Instance(Tools für Windows PowerShell)
(Get-EC2Instance -InstanceId
instance-id
).Instances.EnaSupport
Image-Attribut
Sie prüfen, ob in einem AMI das enaSupport
-Attribut für Enhanced Networking bereits gesetzt wurde, indem Sie einen der folgenden Befehle verwenden. Wenn das Attribut gesetzt wurde, wird als Antwort „true” ausgegeben.
-
describe-images
(AWS CLI) aws ec2 describe-images --image-id
ami_id
--query "Images[].EnaSupport" -
Get-EC2Image(Tools für Windows PowerShell)
(Get-EC2Image -ImageId
ami_id
).EnaSupport
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 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
Welches Verfahren Sie verwenden, hängt vom Betriebssystem der Instance ab.
Amazon Linux 2 und die neuesten Versionen des Amazon-Linux-AMIs enthalten das Modul, das für Enhanced Networking erforderlich ist, wenn ENA installiert 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.
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 im Amazon Linux AMI
-
Verbinden Sie sich mit der Instance.
-
Führen Sie in der Instance den folgenden Befehl aus, um Ihre Instance mit den neuesten Kernel-Treibern zu aktualisieren, einschließlich
ena
:[ec2-user ~]$
sudo yum update
-
Starten Sie Ihre Instance von Ihrem lokalen Computer aus mit der EC2 Amazon-Konsole oder einem der folgenden Befehle neu: reboot-instances
(AWS CLI) oder Restart-EC2Instance (AWS Tools for Windows PowerShell). -
Stellen Sie erneut eine Verbindung mit der Instance her und prüfen Sie, ob der
ena
-Kernel-Treiber installiert wurde und in der empfohlenen Mindestversion vorliegt, indem Sie den Befehl modinfo ena aus dem Abschnitt Testen, ob Enhanced Networking aktiviert ist verwenden. -
[EBS-gestützte Instance] Stoppen Sie die Instance auf Ihrem lokalen Computer mithilfe der EC2 Amazon-Konsole oder mit einem der folgenden Befehle: stop-instances
() oder AWS CLIStop-EC2Instance (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 im Amazon Linux AMI (Instance Store-Backed Instances).
-
Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:
-
modify-instance-attribute
(AWS CLI) aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute(Tools für Windows PowerShell)
Edit-EC2InstanceAttribute -InstanceId
instance-id
-EnaSupport $true
-
-
(Optional) Erstellen Sie ein AMI von der Instance, wie unter Ein Amazon-EBS-gestütztes AMI erstellen 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. -
Starten Sie die Instance von Ihrem lokalen Computer aus mit der EC2 Amazon-Konsole oder einem der folgenden Befehle: start-instances
(AWS CLI) oder Start-EC2Instance (AWS Tools for Windows PowerShell). -
Stellen Sie eine Verbindung mit der Instance her und prüfen Sie, ob der
ena
-Kernel-Treiber installiert und in der Netzwerkschnittstelle geladen wurde, indem Sie den Befehl ethtool -i ethn
aus dem Abschnitt Testen, ob Enhanced Networking aktiviert ist verwenden.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.
So aktivieren Sie Enhanced Networking im Amazon Linux AMI (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 Eine Instance-Speicher-gestützte AMI erstellen beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.
-
register-image
(AWS CLI) aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport $true
...
Die neuesten Versionen von Ubuntu HVM AMIs enthalten den für Enhanced Networking erforderlichen Kernel-Treiber, 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.
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
linux-aws
-Kernel-Paket (Ubuntu Trusty 14.04) installieren
-
Verbinden Sie sich mit der Instance.
-
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 vongrub
und wählen Sie anschließend aus, dass die aktuelle Version von/boot/grub/menu.lst
beibehalten werden soll. -
[EBS-gestützte Instance] Stoppen Sie die Instance auf Ihrem lokalen Computer mithilfe der EC2 Amazon-Konsole oder mit einem der folgenden Befehle: stop-instances
() oder AWS CLIStop-EC2Instance (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).
-
Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:
-
modify-instance-attribute
(AWS CLI) aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute(Tools für Windows PowerShell)
Edit-EC2InstanceAttribute -InstanceId
instance-id
-EnaSupport $true
-
-
(Optional) Erstellen Sie ein AMI von der Instance, wie unter Ein Amazon-EBS-gestütztes AMI erstellen 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. -
Starten Sie die Instance von Ihrem lokalen Computer aus mit der EC2 Amazon-Konsole oder einem der folgenden Befehle: start-instances
(AWS CLI) oder Start-EC2Instance (AWS Tools for Windows PowerShell).
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 Eine Instance-Speicher-gestützte AMI erstellen beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.
-
register-image
(AWS CLI) aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport $true
...
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.
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
-
Verbinden Sie sich mit der Instance.
-
Klonen Sie den Quellcode für den
ena
Kernel-Treiber auf Ihrer Instance von GitHub at. 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
-
Kompilieren und installieren Sie den
ena
-Kernel-Treiber in Ihrer Instance. Diese Schritte hängen von der Linux-Distribution ab. Weitere Informationen zur Kompilierung 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 EC2 Amazon-Instance, die RHEL ausführt? -
Führen Sie den Befehl sudo depmod aus, um die Abhängigkeiten für das Modul zu aktualisieren.
-
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
-
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 Namesauf der freedesktop.org-Website. -
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.
-
Sie können transparente Netzwerkschnittstellennamen deaktivieren, indem Sie in der Zeile
net.ifnames=0
in der DateiGRUB_CMDLINE_LINUX
die Option/etc/default/grub
hinzufügen.sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
-
Erstellen Sie die neue Grub-Konfigurationsdatei.
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
[EBS-gestützte Instance] Stoppen Sie die Instance auf Ihrem lokalen Computer mithilfe der EC2 Amazon-Konsole oder mit einem der folgenden Befehle: stop-instances
(AWS CLI), Stop-EC2Instance (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):.
-
Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut
enaSupport
mit einem der folgenden Befehle:-
modify-instance-attribute
(AWS CLI) aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute(Tools für Windows) PowerShell
Edit-EC2InstanceAttribute -InstanceId
instance-id
-EnaSupport $true
-
-
(Optional) Erstellen Sie ein AMI von der Instance, wie unter Ein Amazon-EBS-gestütztes AMI erstellen 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 voneth0
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. -
Starten Sie die Instance von Ihrem lokalen Computer aus mit der EC2 Amazon-Konsole oder einem der folgenden Befehle: start-instances
(AWS CLI) oder Start-EC2Instance (AWS Tools for Windows PowerShell). -
(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.
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 Eine Instance-Speicher-gestützte AMI erstellen beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.
-
register-image
(AWS CLI) aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport
...
Diese Methode ist nur für Test- und Feedbackzwecke. Sie ist nicht für die Nutzung mit Produktionsbereitstellungen gedacht. Für Produktionsbereitstellungen siehe 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)
-
Führen Sie die Schritte 1 und 2 unter Ubuntu aus.
-
Installieren Sie die
build-essential
-Pakete zum Kompilieren des Kernel-Treibers und dasdkms
-Paket, damit Ihrena
-Modul bei jeder Aktualisierung des Kernels neu erstellt wird.ubuntu:~$
sudo apt-get install -y build-essential dkms
-
Klonen Sie die Quelle für den
ena
Kernel-Treiber auf Ihrer Instance von GitHub athttps://github.com/amzn/amzn-drivers. ubuntu:~$
git clone https://github.com/amzn/amzn-drivers
-
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 Version1.0.0
angezeigt.ubuntu:~$
sudo mv amzn-drivers /usr/src/amzn-drivers-1.0.0
-
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"
-
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
-
Erstellen Sie
initramfs
neu, damit der richtige Kernel-Treiber während des Bootvorgangs geladen wird.ubuntu:~$
sudo update-initramfs -u -k all
-
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.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)
-
Fahren Sie mit Schritt 3 in Ubuntu fort.
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
-
Stellen Sie eine Verbindung mit Ihrer Instance her und melden Sie sich als lokaler Administrator an.
-
[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
-
Installieren Sie den Treiber in der Instance, indem Sie wie folgt vorgehen:
-
Laden Sie
den aktuellen Treiber in die Instance herunter. -
Extrahieren Sie die ZIP-Datei.
-
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 istRestricted
oderRemoteSigned
zugewiesen). Führen Sie dasinstall.ps1
PowerShell Skript in einer Befehlszeile ausSet-ExecutionPolicy -ExecutionPolicy Unrestricted
, und führen Sie es dann erneut aus.
-
-
Stoppen Sie die Instance auf Ihrem lokalen Computer mithilfe der EC2 Amazon-Konsole oder mit einem der folgenden Befehle: stop-instances
(AWS CLI) oder Stop-EC2Instance (AWS Tools for Windows PowerShell). -
Aktivieren Sie die ENA-Unterstützung in Ihrer Instance wie folgt:
-
Überprüfen Sie auf Ihrem lokalen Computer das ENA-Unterstützungsattribut der EC2 Instanz auf Ihrer 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 auffalse
festgelegt.-
describe-instances
(AWS CLI) aws ec2 describe-instances --instance-ids
instance_id
--query "Reservations[].Instances[].EnaSupport" -
Get-EC2Instance(Tools für Windows PowerShell)
(Get-EC2Instance -InstanceId
instance-id
).Instances.EnaSupport
-
-
Führen Sie zur Aktivierung der ENA-Unterstützung einen der folgenden Befehle aus:
-
modify-instance-attribute
(AWS CLI) aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
Edit-EC2InstanceAttribute -InstanceId
instance_id
-EnaSupport $true
Wenn beim Neustarten der Instance Probleme auftreten, können Sie die ENA-Unterstützung auch über einen der folgenden Befehle deaktivieren:
-
modify-instance-attribute
(AWS CLI) aws ec2 modify-instance-attribute --instance-id
instance_id
--no-ena-support -
Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
Edit-EC2InstanceAttribute -InstanceId
instance_id
-EnaSupport $false
-
-
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 ]
-
-
Starten Sie die Instance von Ihrem lokalen Computer aus mit der EC2 Amazon-Konsole oder einem der folgenden Befehle: start-instances
(AWS CLI) oder Start-EC2Instance (AWS Tools for Windows PowerShell). -
Prüfen Sie auf der Instance, wie folgt ob der ENA-Treiber installiert und aktiviert ist:
-
Klicken Sie mit der rechten Maustaste auf das Netzwerksymbol und wählen Sie Open Network and Sharing Center aus.
-
Wählen Sie den Ethernet-Adapter aus (z. B. Ethernet 2).
-
Wählen Sie Details aus. Prüfen Sie unter Network Connection Details, ob Description den Wert Amazon Elastic Network Adapter hat.
-
-
(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.