Verwenden Sie verschachtelte Virtualisierung, um Hypervisoren in Amazon EC2 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 EC2-Instances auszuführen

Mit verschachtelter Virtualisierung können Sie Hypervisoren wie Hyper-V und KVM in virtuellen Amazon EC2 EC2-Instances ausführen. Virtuelle EC2-Instances sind keine Bare-Metal-Instances. Diese Funktion erweitert die Flexibilität bei der Virtualisierung, indem virtuelle EC2-Instances um Virtualisierungsunterstützung auf Prozessorebene erweitert werden, sodass ein in Ihrer Instanz 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 damit aus einer Vielzahl von standardmäßigen virtuellen Amazon EC2 EC2-Instance-Typen wählen können, die Ihren spezifischen Leistungs- und Preisanforderungen entsprechen.

Für die Nutzung 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. Um verschachtelte Virtualisierung zu unterstützen, übergibt das Nitro System die Prozessorerweiterungen, wie z. B. Intel VT-x, an Instances, um den Betrieb 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 Instance-Typen — Die verschachtelte Virtualisierung wird derzeit auf C8i-, M8i- und R8i-Instances unterstützt.

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

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

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

    • Ruhezustand — Instance Hibernate and Resume wird 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 verschachtelter Virtualisierung auf EC2-Instances AWS ist er für die „Sicherheit der Cloud“, den Schutz der zugrunde liegenden Infrastruktur und die Aufrechterhaltung der vom Nitro-System bereitgestellten starken Isolationsgrenzen zwischen EC2-Instances verantwortlich. AWS 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-Instanzen umfasst.

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

Starten Sie eine neue Instanz mit aktivierter verschachtelter Virtualisierung

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

Voraussetzungen

Sie benötigen die erforderlichen IAM-Berechtigungen, um eine Amazon EC2 EC2-Instance zu starten.

Console
Um die verschachtelte Virtualisierung beim Instance-Start 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 Instance-Typ 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 verschachtelter Virtualisierung

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

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

  • Der Instance-Typ muss 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 Instanztabelle aus.

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

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

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

    • 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 zu übernehmen.

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

Stoppen Sie zuerst die Instanz und verwenden Sie dann den modify-instance-cpu-optionsBefehl.

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-EC2InstanceCpuOptionBefehl.

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