

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utiliser la virtualisation imbriquée pour exécuter des hyperviseurs dans les instances Amazon EC2
<a name="amazon-ec2-nested-virtualization"></a>

La virtualisation imbriquée vous permet d'exécuter des hyperviseurs tels que KVM au sein d' Hyper-V instances virtuelles Amazon EC2. Les instances virtuelles EC2 ne sont pas des instances bare metal. Cette fonctionnalité étend la flexibilité de la virtualisation en ajoutant la prise en charge de la virtualisation au niveau du processeur aux instances virtuelles EC2, permettant à un hyperviseur exécuté dans votre instance de créer et de gérer des machines virtuelles.

La virtualisation imbriquée peut vous aider lorsque vous utilisez des outils de développement tels que Docker Desktop, Windows Subsystem for Linux 2 (WSL2), des émulateurs Android Studio ou QEMU dans votre flux de développement, car elle vous permet de choisir parmi une large gamme de types d'instances virtuelles Amazon EC2 standard qui répondent à vos exigences spécifiques en termes de performances et de prix.

L'utilisation de la virtualisation imbriquée n'entraîne aucun coût supplémentaire.

**Topics**
+ [Comment ça marche](#nested-virtualization-how-it-works)
+ [Considérations](#nested-virtualization-considerations)
+ [Lancer une nouvelle instance avec la virtualisation imbriquée activée](#nested-virtualization-launch-new-instance)
+ [Configurer une instance existante pour utiliser la virtualisation imbriquée](#nested-virtualization-configure-existing-instance)

## Comment ça marche
<a name="nested-virtualization-how-it-works"></a>

Les instances virtuelles EC2 s'exécutent sur un hôte physique doté de l'hyperviseur Nitro. Pour prendre en charge la virtualisation imbriquée, le système Nitro transmet les extensions de processeur, telles qu'Intel VT-x, aux instances afin de faciliter l'exécution de machines virtuelles imbriquées. L'architecture de virtualisation imbriquée comprend trois couches : l' AWS infrastructure physique et l'hyperviseur Nitro (L0), votre instance EC2 exécutant un hyperviseur (L1) et une ou plusieurs machines virtuelles créées au sein de cette instance (L2).

## Considérations
<a name="nested-virtualization-considerations"></a>

Avant de commencer à utiliser la virtualisation imbriquée, tenez compte des points suivants :
+ **Types d'instances pris en charge ** : la virtualisation imbriquée est actuellement prise en charge sur les instances C8i, M8i, R8i, C8id, R8id,, X8i, C7i, R7i, M7i,, C8i-flex R8i-flex M8i-flex, et i7i. C7i-flex M7i-flex
+ **Hyperviseurs pris en charge ** : KVM et KVM Hyper-V sont actuellement les hyperviseurs L1 pris en charge.
+ **Instances Windows ** : lorsque la virtualisation imbriquée est activée sur une instance Windows :
  + **[Credential Guard ](credential-guard.md) ** — Le mode virtuel sécurisé (VSM) est automatiquement désactivé.
  + **Hibernation ** : la mise en veille prolongée et la reprise de l'instance ne sont pas prises en charge.
  + **Limite de processeur ** : non prise en charge sur les instances Windows dotées de plus de 192 processeurs, telles que`m8i.96xl`.
+ **Responsabilités en matière de sécurité ** : lors de l'utilisation de la virtualisation imbriquée sur des instances EC2, AWS il est responsable de la « sécurité * * du cloud », de la protection de l'infrastructure sous-jacente et du maintien des fortes limites d'isolation entre les instances EC2 fournies par le système Nitro. AWS Les clients sont responsables de la « sécurité * dans * le cloud », qui inclut la sécurisation du système d'exploitation, de l'hyperviseur, des machines virtuelles imbriquées, des systèmes d'exploitation invités, des applications et des données au sein des instances EC2.
+ **Performances ** : AWS recommande aux clients qui souhaitent exécuter des charges de travail nécessitant l'accès à des extensions matérielles de virtualisation, qui sont sensibles aux performances ou qui ont des exigences de latence strictes, d'évaluer les instances bare metal.

## Lancer une nouvelle instance avec la virtualisation imbriquée activée
<a name="nested-virtualization-launch-new-instance"></a>

Lorsque vous lancez une nouvelle instance, vous pouvez activer la virtualisation imbriquée pour y exécuter des hyperviseurs et des machines virtuelles.

**Conditions préalables**  
Vous devez disposer des autorisations IAM requises pour lancer une instance Amazon EC2.

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

**Pour activer la virtualisation imbriquée lors du lancement de l'instance**

1. Suivez la procédure [Lancez une instance EC2 à l’aide de l’assistant de lancement d’instance de la console](ec2-launch-instance-wizard.md) et configurez votre instance selon vos besoins.

1. Assurez-vous qu'un type d'instance pris en charge est sélectionné.

1. Développez les détails ** avancés et**, pour la virtualisation ** imbriquée**, choisissez ** Activer. **

1. Dans le panneau **Summary** (Résumé), vérifiez la configuration de votre instance, puis choisissez **Launch instance** (Lancer l’instance).

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

**Pour lancer une instance avec la virtualisation imbriquée activée**  
Utilisez la commande [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html).

```
aws ec2 run-instances \
    --image-id {{ami-0abcdef1234567890}} \
    --instance-type {{r8i.4xlarge}} \
    --cpu-options "NestedVirtualization=enabled" \
    --key-name {{my-key-pair}}
```

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

**Pour lancer une instance avec la virtualisation imbriquée activée**  
Utilisez la commande [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html).

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

------

## Configurer une instance existante pour utiliser la virtualisation imbriquée
<a name="nested-virtualization-configure-existing-instance"></a>

Vous pouvez activer la virtualisation imbriquée sur une instance Amazon EC2 existante.

**Conditions préalables**
+ L'instance doit être à l'état `stopped`. 
+ Le type d'instance doit prendre en charge la virtualisation imbriquée.

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

**Pour activer la virtualisation imbriquée sur une instance existante**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Sélectionnez l'instance que vous souhaitez modifier dans le tableau des instances.

1. Choisissez ** Actions**, Paramètres de l'**instance**, ** Modifier les options du processeur**.

1. Sur la ** page ** Modifier les options du processeur, pour la virtualisation ** imbriquée**, choisissez l'une des options suivantes :
   + **Activer ** : active la virtualisation imbriquée pour l'instance
   + **Désactiver ** : désactive la virtualisation imbriquée pour l'instance

1. Passez en revue vos modifications, puis choisissez ** Modifier ** pour appliquer les nouvelles options de processeur.

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

**Pour activer la virtualisation imbriquée sur une instance existante**  
Arrêtez d'abord l'instance, puis utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-cpu-options.html](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 ]

**Pour activer la virtualisation imbriquée sur une instance existante**  
Arrêtez d'abord l'instance, puis utilisez la [ Edit-EC2InstanceCpuOption ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceCpuOption.html) commande.

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

------