View a markdown version of this page

Verwenden Sie verschachtelte Virtualisierung, um Hypervisoren in Amazon EC2-Instances auszuführen - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie verschachtelte Virtualisierung, um Hypervisoren in Amazon EC2-Instances auszuführen

Die verschachtelte Virtualisierung ermöglicht es Ihnen, Hypervisoren wie KVM in virtuellen Amazon Hyper-V EC2-Instances auszuführen. Virtuelle EC2-Instances sind keine Bare-Metal-Instances. Diese Funktion erweitert die Virtualisierungsflexibilität, indem virtuelle EC2-Instances um Virtualisierungsunterstützung auf Prozessorebene erweitert werden, sodass ein in Ihrer Instance ausgeführter Hypervisor virtuelle Maschinen erstellen und verwalten kann.

Verschachtelte Virtualisierung kann hilfreich sein, wenn Sie Entwicklungstools wie Docker Desktop, Windows Subsystem for Linux 2 (WSL2), Android Studio-Emulatoren oder QEMU in Ihrem Entwicklungsworkflow ausführen, da Sie so aus einer Vielzahl von standardmäßigen virtuellen Amazon EC2-Instance-Typen wählen können, die Ihren spezifischen Leistungs- und Preisanforderungen entsprechen.

Für die Verwendung der verschachtelten Virtualisierung fallen keine zusätzlichen Kosten an.

Funktionsweise

Virtuelle EC2-Instances werden auf einem physischen Host ausgeführt, der über den Nitro-Hypervisor verfügt. Zur Unterstützung der verschachtelten Virtualisierung übergibt das Nitro-System die Prozessorerweiterungen, z. B. Intel VT-x, an Instances, um die Ausführung verschachtelter virtueller Maschinen zu erleichtern. Die verschachtelte Virtualisierungsarchitektur besteht aus drei Ebenen: der physischen AWS Infrastruktur und dem Nitro-Hypervisor (L0), Ihrer EC2-Instance, auf der ein Hypervisor ausgeführt wird (L1), und einer oder mehreren virtuellen Maschinen, die innerhalb dieser Instanz erstellt wurden (L2).

Überlegungen

Bevor Sie mit der Verwendung der verschachtelten Virtualisierung beginnen, sollten Sie Folgendes berücksichtigen:

  • Unterstützte Instanztypen — Verschachtelte Virtualisierung wird derzeit auf den folgenden Instanztypen unterstützt:

    • Allgemeiner Zweck: M7i | | M8i | M7i-flex M8id | M8i-flex

    • Optimiert für Berechnungen: C7i | | C8i | C8id | C7i-flex C8i-flex

    • Speicheroptimiert: R7i | R7iZ | R8i | R8id | | X8i R8i-flex

    • Speicheroptimiert: i7i | i7IE

  • Unterstützte Hypervisoren — Derzeit sind KVM und die unterstützten L1-Hypervisoren. Hyper-V

  • Windows-Instanzen — Wenn die verschachtelte Virtualisierung auf einer Windows-Instanz aktiviert ist:

    • Credential Guard — Virtual Secure Mode (VSM) wird automatisch deaktiviert.

    • Ruhezustand — Der Ruhezustand und die Wiederaufnahme der Instance werden nicht unterstützt.

    • CPU-Limit — Wird auf Windows-Instances mit mehr als 192 CPUs nicht unterstützt, z. B. m8i.96xl

  • Sicherheitsaufgaben — Bei der Verwendung von verschachtelter Virtualisierung auf EC2-Instances AWS ist er für die „Sicherheit der Cloud“ verantwortlich. Er schützt die zugrunde liegende Infrastruktur und wahrt die starken Isolationsgrenzen zwischen EC2-Instances, die vom Nitro-System bereitgestellt werden. AWS Die Kunden sind für die „Sicherheit in der Cloud“ verantwortlich, was die Sicherung des Betriebssystems, des Hypervisors, der verschachtelten virtuellen Maschinen, der Gastbetriebssysteme, der Anwendungen und der Daten innerhalb der EC2-Instances umfasst.

  • Leistung — AWS empfiehlt Kunden, die Workloads ausführen möchten, für die Zugriff auf Hardware-Virtualisierungserweiterungen erforderlich ist und die leistungssensitiv sind oder strenge Latenzanforderungen haben, Bare-Metal-Instances zu evaluieren.

Starten Sie eine neue Instance mit aktivierter verschachtelter Virtualisierung

Wenn Sie eine neue Instance starten, können Sie die verschachtelte Virtualisierung aktivieren, um Hypervisoren und virtuelle Maschinen darauf auszuführen.

Console
Um die verschachtelte Virtualisierung beim Start der Instanz zu aktivieren
  1. Befolgen Sie das EC2-Instance mit dem Launch Instance Wizard in der Konsole starten-Verfahren und konfigurieren Sie Ihre Instance nach Bedarf.

  2. Stellen Sie sicher, dass ein unterstützter Instanztyp ausgewählt ist.

  3. Erweitern Sie Erweiterte Details und wählen Sie für verschachtelte Virtualisierung die Option Aktivieren aus.

  4. Überprüfen Sie im Bereich Summary (Übersicht) die Konfiguration Ihrer Instance und wählen Sie dann Launch instance (Instance starten) aus.

AWS CLI
Um eine Instance mit aktivierter verschachtelter Virtualisierung zu starten

Verwenden Sie den Befehl run-instances.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r8i.4xlarge \ --cpu-options "NestedVirtualization=enabled" \ --key-name my-key-pair
PowerShell
Um eine Instance mit aktivierter verschachtelter Virtualisierung zu starten

Verwenden Sie den Befehl New-EC2Instance.

New-EC2Instance `     -ImageId ami-0abcdef1234567890 `     -InstanceType r8i.4xlarge `     -CpuOption @{NestedVirtualization='enabled'} `     -KeyName my-key-pair

Konfigurieren Sie eine vorhandene Instanz für die Verwendung der verschachtelten Virtualisierung

Sie können die verschachtelte Virtualisierung auf einer vorhandenen Amazon EC2-Instance aktivieren.

Voraussetzungen
  • Die Instance muss auf den Status stopped gesetzt sein.

  • Der Instanztyp muss die verschachtelte Virtualisierung unterstützen.

Console
Um die verschachtelte Virtualisierung auf einer vorhandenen Instanz zu aktivieren
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instanz, die Sie ändern möchten, aus der Instanzentabelle aus.

  4. Wählen Sie „Aktionen“ , „Instanzeinstellungen“ und „CPU-Optionen ändern“.

  5. Wählen Sie auf der Seite „CPU-Optionen ändern“ für die verschachtelte Virtualisierung eine der folgenden Optionen aus:

    • Aktivieren — Aktiviert die verschachtelte Virtualisierung für die Instanz

    • Deaktivieren — Deaktiviert die verschachtelte Virtualisierung für die Instanz

  6. Überprüfen Sie Ihre Änderungen und wählen Sie dann Ändern, um die neuen CPU-Optionen anzuwenden.

AWS CLI
Um die verschachtelte Virtualisierung auf einer vorhandenen Instance zu aktivieren

Stoppen Sie zuerst die Instanz und verwenden Sie dann den Befehl https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-cpu-options.html modify-instance-cpu-options.

aws ec2 modify-instance-cpu-options \ --instance-id i-1234567890abcdef0 \ --core-count 4 \ --threads-per-core 2 \ --nested-virtualization enabled
PowerShell
Um die verschachtelte Virtualisierung auf einer vorhandenen Instanz zu aktivieren

Stoppen Sie zuerst die Instanz und verwenden Sie dann den Edit-EC2InstanceCpuOption Befehl.

Edit-EC2InstanceCpuOption `     -InstanceId i-1234567890abcdef0 `     -CoreCount 4 `     -ThreadsPerCore 2 `     -NestedVirtualization enabled

Suchen Sie nach den Instanztypen, die verschachtelte Virtualisierung unterstützen

Sie können herausfinden, welche Amazon EC2-Instance-Typen die verschachtelte Virtualisierung unterstützen. Sie können einen gesamten Instanztyp abfragen AWS-Region oder einen bestimmten Instanztyp überprüfen.

AWS CLI
Um alle Instanzfamilien aufzulisten, die verschachtelte Virtualisierung in einer Region unterstützen

Verwenden Sie den Befehl describe-instance-types, wobei der processor-info.supported-features Filter auf den folgenden Wert gesetzt ist: nested-virtualization

aws ec2 describe-instance-types --region us-east-1 \ --filters "Name=processor-info.supported-features,Values=nested-virtualization" \ --query "InstanceTypes[].InstanceType" --output text \ | tr '\t' '\n' | cut -d. -f1 | sort -u
Um zu überprüfen, ob ein bestimmter Instanztyp verschachtelte Virtualisierung unterstützt

Verwenden Sie den Befehl describe-instance-types und fragen Sie das ProcessorInfo.SupportedFeatures Feld des angegebenen Instanztyps ab:

aws ec2 describe-instance-types \ --instance-types m8i.2xlarge \ --query "InstanceTypes[].ProcessorInfo.SupportedFeatures"

Wenn der Instanztyp verschachtelte Virtualisierung unterstützt, umfasst die Ausgabe Folgendes. nested-virtualization Wenn nicht, gibt der Befehl ein leeres Array ([]) zurück.

PowerShell
Um alle Instance-Familien aufzulisten, die verschachtelte Virtualisierung in einer Region unterstützen

Verwenden Sie den Get-EC2InstanceType Befehl, wobei der processor-info.supported-features Filter auf den folgenden Wert gesetzt ist: nested-virtualization

Get-EC2InstanceType -Region us-east-1 -Filter @{ Name='processor-info.supported-features'; Values='nested-virtualization' } | ForEach-Object { ($_.InstanceType -split '\.')[0] } | Sort-Object -Unique
Um zu überprüfen, ob ein bestimmter Instanztyp geschachtelte Virtualisierung unterstützt

Verwenden Sie den Get-EC2InstanceType Befehl und fragen Sie die ProcessorInfo.SupportedFeatures Eigenschaft des angegebenen Instanztyps ab:

(Get-EC2InstanceType -InstanceType m8i.2xlarge).ProcessorInfo.SupportedFeatures

Wenn der Instanztyp geschachtelte Virtualisierung unterstützt, umfasst die Ausgabe Folgendesnested-virtualization. Wenn nicht, gibt der Befehl keine Ausgabe zurück.