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.
Aktivieren Sie Enhanced Networking mit ENA auf Ihren EC2 Instances
Amazon EC2 bietet erweiterte Netzwerkfunktionen über den Elastic Network Adapter (ENA). Um Enhanced Networking verwenden zu können, müssen Sie einen verwendenAMI, der den erforderlichen ENA Treiber enthält, oder ihn manuell installieren. Anschließend können Sie den ENA Support für Ihre Instanz aktivieren.
Die Versionshinweise oder Installationsanweisungen für einen ENA Treiber finden Sie auf der Registerkarte, die der Betriebssystemplattform Ihrer Instanz entspricht.
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 Benennungskonventionen im EC2Amazon-Instanztypen-Leitfaden.
Inhalt
Voraussetzungen für erweiterte Netzwerke mit ENA
Um sich auf Enhanced Networking mit dem vorzubereitenENA, richten Sie Ihre Instanz wie folgt ein:
-
Starten Sie eine Nitro-basierte Instance.
-
Überprüfen Sie, ob der Instance eine Verbindung zum Internet fehlt.
-
Wenn Sie über wichtige Daten auf der Instance verfügen, die Sie behalten möchten, sollten Sie diese Daten jetzt sichern, indem Sie eine AMI aus Ihrer Instance erstellen. Durch die Aktualisierung des ENA Kernel-Treibers und die Aktivierung des
enaSupport
Attributs können inkompatible Instanzen oder Betriebssysteme nicht mehr erreichbar werden. 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 und einer unterstützten Distribution, sodass ENA Enhanced Networking für Ihre Instance automatisch aktiviert wird. Weitere Informationen finden Sie in den Versionshinweisen zum ENA Linux-Kernel-Treiber
. -
Windows-Instanzen — Wenn auf der Instanz Windows Server 2008 R2 ausgeführt wird, stellen Sie sicherSP1, dass sie über das Update SHA -2 zur Unterstützung von Codesignaturen
verfügt. -
Verwenden Sie AWS CloudShell
von der aus AWS Management Console, oder installieren und konfigurieren Sie die 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 istAMIs.
Instanzattribut
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 CloudShell)
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
Bildattribut
Verwenden Sie AMI einen der folgenden Befehle, um zu überprüfen, ob für an das erweiterte enaSupport
Netzwerkattribut festgelegt ist. Wenn das Attribut gesetzt wurde, wird als Antwort „true” ausgegeben.
-
describe-images (AWS CLI/AWS CloudShell)
aws ec2 describe-images --image-id
ami_id
--query "Images[].EnaSupport" -
Get-EC2Image(Tools für Windows PowerShell)
(Get-EC2Image -ImageId
ami_id
).EnaSupport
Treiber für die Linux-Netzwerkschnittstelle
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob der ena
Kernel-Treiber auf einer bestimmten Schnittstelle verwendet wird, und ersetzen Sie dabei den Schnittstellennamen, den Sie überprüfen möchten. Wenn Sie eine einzige Schnittstelle verwenden (der Standard), lautet der Name eth0
. Wenn Ihre Linux-Distribution vorhersehbare Netzwerknamen unterstützt, könnte dies ein Name wie sein. ens5
Für weitere Informationen erweitern Sie den Abschnitt für RHELSUSE, und CentOS inAktivieren von Enhanced Networking auf Ihrer Instance.
Im folgenden Beispiel wird der ena
Kernel-Treiber nicht geladen, weil der aufgelistete Treiber geladen istvif
.
[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 ist der ena
Kernel-Treiber geladen und hat die empfohlene Mindestversion. 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 Instanz ab.
Amazon Linux 2 und die neuesten Versionen von Amazon Linux AMI enthalten den für Enhanced Networking erforderlichen Kernel-Treiber mit ENA installiertem und aktiviertem ENA Support. Wenn Sie also 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 mit einem älteren Amazon Linux gestartet haben AMI und Enhanced Networking noch nicht aktiviert ist, verwenden Sie das folgende Verfahren, um Enhanced Networking zu aktivieren.
Um Enhanced Networking auf Amazon Linux zu aktivieren 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, darunter
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), Restart-EC2Instance (AWS Tools for Windows PowerShell).
-
Stellen Sie erneut Connect zu Ihrer Instance her und vergewissern Sie sich, dass der
ena
Kernel-Treiber installiert ist und die empfohlene Mindestversion hat. Verwenden Sie dazu den modinfo ena Befehl vonTesten, ob Enhanced Networking aktiviert ist. -
[EBS-backed 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). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole beenden, damit der Instanzstatus synchron bleibt.
[In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Gehen Sie stattdessen wie folgt vor: Um Enhanced Networking auf Amazon Linux zu aktivieren AMI (Instances mit 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 eine AMI aus der Instanz, wie unter beschriebenErstellen Sie ein von Amazon EBS unterstütztes AMI. Der AMI erbt das erweiterte
enaSupport
Netzwerkattribut von der Instance. Daher können Sie dies verwenden, um eine weitere Instance AMI zu starten, bei 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), Start-EC2Instance(AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole starten, damit der Instanzstatus synchron bleibt.
-
Connect zu Ihrer Instance her und vergewissern Sie sich, dass der
ena
Kernel-Treiber auf Ihrer Netzwerkschnittstelle installiert und geladen ist. Verwenden Sie dazu den ethtool -i ethn
Befehl vonTesten, ob Enhanced Networking aktiviert ist.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 unter Linux.
Um Enhanced Networking auf Amazon Linux zu aktivieren AMI (Instances mit 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 eine neue, AMI wie unter beschriebenEine im Speicher gesicherte Instanz erstellen AMI, und achten Sie darauf, das erweiterte Netzwerkattribut zu aktivieren, wenn Sie das registrieren. AMI
-
register-image (AWS CLI)
aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport $true
...
In den neuesten Versionen von HVM AMIs Ubuntu ist der für Enhanced Networking erforderliche Kernel-Treiber ENA installiert und die ENA Unterstützung ist aktiviert. Wenn Sie also eine Instance mit dem neuesten Ubuntu HVM AMI 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 mit einer älteren Version gestartet haben AMI und Enhanced Networking noch nicht aktiviert ist, können Sie das linux-aws
Kernel-Paket installieren, um die neuesten erweiterten Netzwerktreiber 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 AWS 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-backed 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). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole beenden, damit der Instanzstatus synchron bleibt.
[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 eine AMI aus der Instanz, wie unter beschriebenErstellen Sie ein von Amazon EBS unterstütztes AMI. Der AMI erbt das erweiterte
enaSupport
Netzwerkattribut von der Instance. Daher können Sie dies verwenden, um eine weitere Instance AMI zu starten, bei 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), Start-EC2Instance(AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole starten, damit der Instanzstatus synchron bleibt.
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 eine neue, AMI wie unter beschriebenEine im Speicher gesicherte Instanz erstellen AMI, und achten Sie darauf, das erweiterte Netzwerkattribut zu aktivieren, wenn Sie das registrierenAMI.
-
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 erweiterte Netzwerke erforderlich ist, ENA und verfügen über aktivierten ENA Support. Wenn Sie also eine Instance mit der neuesten Version AMI 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.
Das folgende Verfahren enthält die allgemeinen Schritte zur Aktivierung von Enhanced Networking auf einer anderen Linux-Distribution als Amazon Linux AMI oder Ubuntu. 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 athttps://github.com/amzn/amzn-drivers. (SUSELinux 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 auf Ihrer Instanz. 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 läuft RHEL? -
Führen Sie den sudo depmod Befehl aus, um die Abhängigkeiten des Kernel-Treibers zu aktualisieren.
-
Aktualisieren
initramfs
Sie Ihre Instanz, um sicherzustellen, dass der neue Kernel-Treiber beim Booten 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 udev Versionen systemd oder 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-backed 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). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole beenden, damit der Instanzstatus synchron bleibt.
[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 eine AMI aus der Instanz, wie unter beschriebenErstellen Sie ein von Amazon EBS unterstütztes AMI. Der AMI erbt das erweiterte
enaSupport
Netzwerkattribut von der Instance. Daher können Sie dies verwenden, um eine weitere Instance AMI zu starten, bei 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 löschen, bevor Sie die erstellenAMI. Diese Datei enthält die MAC Adresse für den Ethernet-Adapter der ursprünglichen Instanz. 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 beim nächsten Startzyklus neu generiert, und alle Instanzen, die von der aus gestartet werden, AMI erstellen ihre 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), Start-EC2Instance(AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole starten, damit der Instanzstatus synchron bleibt.
-
(Optional) Connect zu Ihrer Instance her und überprüfen Sie, ob der Kernel-Treiber installiert ist.
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 unter 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 eine neue, AMI wie unter beschriebenEine im Speicher gesicherte Instanz erstellen AMI, und achten Sie darauf, das erweiterte Netzwerkattribut zu aktivieren, wenn Sie den registrierenAMI.
-
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
Durch die Nutzung DKMS erlischt die Support-Vereinbarung für Ihr Abonnement. Es sollte nicht für Produktionsbereitstellungen verwendet werden.
Um Enhanced Networking ENA auf Ubuntu zu ermöglichen (EBS-gestützte Instanzen)
-
Führen Sie die Schritte 1 und 2 unter Ubuntu aus.
-
Installieren Sie die
build-essential
Pakete, um den Kernel-Treiber und dasdkms
Paket so zu kompilieren, dass Ihrena
Kernel-Treiber bei jeder Aktualisierung Ihres 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/usr/src/
Verzeichnis, damit Sie es DKMS finden und für jedes Kernel-Update erstellen können. 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 die DKMS Konfigurationsdatei mit den folgenden Werten und ersetzen Sie dabei Ihre Version von.
ena
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"
-
Fügen Sie den
ena
Kernel-Treiber hinzu, erstellen und installieren Sie ihn auf Ihrer Instance mithilfe von. DKMSFügen Sie den Kernel-Treiber zu hinzuDKMS.
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 mitdkms.
ubuntu:~$
sudo dkms install -m amzn-drivers -v 1.0.0
-
Führen Sie eine Neuerstellung durch,
initramfs
sodass beim Booten der richtige Kernel-Treiber geladen wird.ubuntu:~$
sudo update-initramfs -u -k all
-
Stellen Sie mit dem Befehl modinfo ena von Testen, ob Enhanced Networking aktiviert ist sicher, dass der
ena
Kernel-Treiber installiert 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 EC2Launch PowerShell Skript 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/AWS CloudShell), Stop-EC2Instance(AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole beenden, damit der Instanzstatus synchron bleibt.
-
Aktivieren Sie den ENA Support für Ihre Instance wie folgt:
-
Überprüfen Sie auf Ihrem lokalen Computer das EC2 ENA Instance-Support-Attribut 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 CloudShell)
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 einen der folgenden Befehle aus, um die ENA Unterstützung zu aktivieren:
-
modify-instance-attribute (AWS CLI/AWS CloudShell)
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 Sie beim Neustart der Instance auf Probleme stoßen, können Sie den ENA Support auch mit einem der folgenden Befehle deaktivieren:
-
modify-instance-attribute (AWS CLI/AWS CloudShell)
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/AWS CloudShell), Start-EC2Instance(AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance über die AWS OpsWorks Konsole starten, damit der Instanzstatus synchron bleibt.
-
Stellen Sie auf der Instanz wie folgt sicher, dass 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 eine AMI aus der Instanz. Der AMI erbt das
enaSupport
Attribut von der Instanz. Daher können Sie dies verwenden, AMI um eine weitere Instance zu starten, die standardmäßig ENA aktiviert ist.