

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.

# Ajouter des mappages de périphériques de stockage en mode bloc à une instance Amazon EC2
<a name="instance-block-device-mapping"></a>

Par défaut, une instance que vous lancez comprend tous les périphériques de stockage spécifiés dans le mappage de périphérique de stockage en mode bloc de l’AMI à partir de laquelle vous avez lancé l’instance. Vous pouvez spécifier les modifications apportées au mappage de périphérique de stockage en mode bloc d’une instance lorsque vous la lancez. Ces mises à jour remplacent le mappage de périphérique de stockage en mode bloc de l’AMI ou fusionnent avec.

**Limitations**
+ Pour le volume racine, vous pouvez uniquement modifier les données informations suivantes : taille du volume, type de volume et indicateur **Delete on Termination**.
+ Lorsque vous modifiez un volume EBS, vous ne pouvez pas en diminuer la taille. Vous devez donc spécifier un instantané dont la taille est égale ou supérieure à celle de l’instantané spécifié dans le mappage de périphérique de stockage en mode bloc de l’AMI.

**Topics**
+ [

## Mettre à jour le mappage de périphérique de stockage en mode bloc lors du lancement d’une instance
](#Using_OverridingAMIBDM)
+ [

## Mettre à jour le mappage de périphérique de stockage en mode bloc d’une instance en cours d’exécution
](#update-instance-bdm)
+ [

## Afficher les volumes EBS dans le mappage de périphérique de stockage en mode bloc d’une instance
](#view-instance-bdm)
+ [

## Afficher le mappage de périphérique de stockage en mode bloc d’une instance pour les volumes de stockage d’instances
](#bdm-instance-metadata)

## Mettre à jour le mappage de périphérique de stockage en mode bloc lors du lancement d’une instance
<a name="Using_OverridingAMIBDM"></a>

Vous pouvez ajouter des volumes EBS et des volumes de stockage d’instance à une instance lors de son lancement. Notez que la mise à jour du mappage de périphérique de stockage en mode bloc d’une instance n’entraîne pas de modification permanente du mappage de périphérique de stockage en mode bloc de l’AMI à partir de laquelle il a été lancé.

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

**Pour mettre à jour les volumes d’une instance au lancement**

1. Suivez la procédure pour [lancer une instance](ec2-launch-instance-wizard.md), mais ne lancez pas l’instance avant d’avoir effectué les étapes suivantes pour mettre à jour les volumes.

1. (Facultatif) Pour ajouter un volume, choisissez **Configurer le stockage**, puis **Ajouter un nouveau volume**. Sélectionnez la taille et le type de volume.

1. (Facultatif) Pour supprimer un volume spécifié par le mappage de périphérique de stockage en mode bloc de l’AMI, choisissez **Configurer le stockage**, **Supprimer**.

1. (Facultatif) Pour modifier la configuration d’un volume EBS, dans le volet **Configurer le stockage**, sélectionnez **Avancé**. Développez les informations relatives au volume et apportez les modifications nécessaires.

1. Dans le panneau **Summary** (Résumé), vérifiez la configuration de votre instance, puis choisissez **Launch instance** (Lancer l’instance). Pour de plus amples informations, veuillez consulter [Lancez une instance EC2 à l’aide de l’assistant de lancement d’instance de la console](ec2-launch-instance-wizard.md).

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

**Pour mettre à jour les volumes d’une instance au lancement**  
Utilisez la commande [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) avec l’option `--block-device-mappings`.

```
--block-device-mappings file://mapping.json
```

Supposons, par exemple, qu’un mappage de périphérique de stockage en mode bloc d’une AMI spécifie ce qui suit :
+ `/dev/xvda` : volume racine EBS
+ `/dev/sdh` : volume EBS créé à partir de `snap-1234567890abcdef0`
+ `/dev/sdj` : volume EBS vide d’une taille de `100`
+ `/dev/sdb` : volume de stockage d’instances `ephemeral0`

Supposons que ce qui suit soit le mappage de périphérique de stockage en mode bloc de l’instance dans `mapping.json`.

```
[
    {
        "DeviceName": "/dev/xvda",
        "Ebs": {
            "VolumeSize": 100
        }
    },
    {
        "DeviceName": "/dev/sdj",
        "NoDevice": ""
    },
    {
        "DeviceName": "/dev/sdh",
        "Ebs": {
            "VolumeSize": 300
        }
    },
    {
        "DeviceName": "/dev/sdc",
        "VirtualName": "ephemeral1"
    }
]
```

Le mappage de périphérique de stockage en mode bloc de l’instance effectue les opérations suivantes :
+ Remplace la taille du volume racine `/dev/xvda`, en l’augmentant à 100 Gio.
+ Empêche `/dev/sdj` de s’attacher à l’instance.
+ Remplace la taille de `/dev/sdh`, en l’augmentant à 300 Gio. Notez qu’il n’est pas nécessaire de spécifier à nouveau l’ID d’instantané.
+ Ajoute un volume éphémère, `/dev/sdc`. Si le type d’instance ne prend pas en charge plusieurs volumes de stockage d’instance, ceci n’a aucun effet. Si le type d' NVMe instance prend en charge les volumes de stockage d'instance, ils sont automatiquement énumérés et inclus dans le mappage des périphériques par blocs d'instances et ne peuvent pas être remplacés.

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

**Pour mettre à jour les volumes d’une instance au lancement**  
Utilisez le `-BlockDeviceMapping` paramètre avec l'[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)applet de commande contenant le `-BlockDeviceMapping` paramètre.

```
-BlockDeviceMapping $bdm
```

Supposons que ce qui suit soit le mappage de périphérique de stockage en mode bloc de l’instance dans `$bdm`.

```
$bdm = @()

$root = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$root.DeviceName = "/dev/xvda"
$ebs1 = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebs1.VolumeSize = 100
$root.Ebs = $ebs1
$bdm += $root

$sdj = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdj.DeviceName = "/dev/sdj"
$sdj.NoDevice = ""
$bdm += $sdj

$sdh = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdh.DeviceName = "/dev/sdh"
$ebs2 = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebs2.VolumeSize = 300
$sdh.Ebs = $ebs2
$bdm += $sdh

$sdc = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdc.DeviceName = "/dev/sdc"
$sdc.VirtualName = "ephemeral1"
$bdm += $sdc
```

Le mappage de périphérique de stockage en mode bloc de l’instance effectue les opérations suivantes :
+ Remplace la taille du volume racine `/dev/xvda`, en l’augmentant à 100 Gio.
+ Empêche `/dev/sdj` de s’attacher à l’instance.
+ Remplace la taille de `/dev/sdh`, en l’augmentant à 300 Gio. Notez qu’il n’est pas nécessaire de spécifier à nouveau l’ID d’instantané.
+ Ajoute un volume éphémère, `/dev/sdc`. Si le type d’instance ne prend pas en charge plusieurs volumes de stockage d’instance, ceci n’a aucun effet. Si le type d' NVMe instance prend en charge les volumes de stockage d'instance, ils sont automatiquement énumérés et inclus dans le mappage des périphériques par blocs d'instances et ne peuvent pas être remplacés.

------

## Mettre à jour le mappage de périphérique de stockage en mode bloc d’une instance en cours d’exécution
<a name="update-instance-bdm"></a>

Vous n’avez pas besoin d’arrêter l’instance avant de modifier cet attribut.

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

**Pour mettre à jour le mappage de périphérique de stockage en mode bloc d’une instance en cours d’exécution**  
Utilisez la commande [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

Ajoutez l’option `--block-device-mappings` :

```
--block-device-mappings file://mapping.json
```

Dans `mapping.json`, spécifiez les mises à jour. Par exemple, la mise à jour suivante modifie le volume racine afin qu’il soit conservé.

```
[
  {
    "DeviceName": "/dev/sda1",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

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

**Pour mettre à jour le mappage de périphérique de stockage en mode bloc d’une instance en cours d’exécution**  
Utilisez l’applet de commande [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

Ajoutez l’option `-BlockDeviceMapping` :

```
-BlockDeviceMapping $bdm
```

Dans `bdm`, spécifiez les mises à jour. Par exemple, la mise à jour suivante modifie le volume racine afin qu’il soit conservé.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

## Afficher les volumes EBS dans le mappage de périphérique de stockage en mode bloc d’une instance
<a name="view-instance-bdm"></a>

Vous pouvez facilement énumérer les volumes EBS mappés à une instance.

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

**Pour afficher les volumes EBS pour une instance**

1. Ouvrez la console Amazon EC2.

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

1. Sélectionnez l’instance souhaitée, puis consultez les informations affichées dans l’onglet **Stockage**. Au minimum, les informations suivantes sont disponibles pour le volume racine (où le terme **périphérique racine** est équivalent à **volume racine**) :
   + **Root device type (Type de périphérique racine)** (par exemple, **EBS**)
   + **Root device name (Nom du périphérique racine)** (par exemple, `/dev/xvda`)
   + **Périphériques de stockage en mode bloc** (par exemple, `/dev/xvda`, `/dev/sdf` et `/dev/sdj`)

   Si l’instance a été lancée avec des volumes EBS supplémentaires à l’aide d’un mappage de périphérique de stockage en mode bloc, ceux-ci apparaissent sous **Block devices (Périphériques de stockage en mode bloc)**. Aucun volume de stockage d’instance n’apparaît sur cet onglet.

1. Pour afficher des informations supplémentaires sur un volume EBS, sélectionnez son ID de volume pour accéder à la page de volume.

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

**Pour afficher les volumes EBS pour une instance**  
Utilisez la commande [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query Reservations[*].Instances[0].BlockDeviceMappings
```

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

**Pour afficher les volumes EBS pour une instance**  
Utilisez l’applet de commande [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-0bac57d7472c89bac).Instances.BlockDeviceMappings
```

------

## Afficher le mappage de périphérique de stockage en mode bloc d’une instance pour les volumes de stockage d’instances
<a name="bdm-instance-metadata"></a>

Le type d'instance détermine le nombre et le type de volumes de stockage d'instance disponibles pour l'instance. Si le nombre de volumes de stockage d’instances dans un mappage d’appareils en bloc dépasse le nombre de volumes de stockage d’instances disponibles pour une instance, les volumes supplémentaires sont ignorés. Pour afficher les volumes de stockage d'instances pour votre instance, exécutez la commande (instances Linux) **lsblk** ou ouvrez **Windows Disk Management** (instances Windows). Pour savoir combien de volumes de stockage d'instance sont pris en charge par chaque type d'instance, consultez la section [ Spécifications des types d'instance Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html).

Lorsque vous affichez le mappage de périphérique de stockage en mode bloc de votre instance, vous pouvez uniquement voir les volumes EBS, mais vous ne pouvez pas voir les volumes de stockage d’instance. La méthode que vous utilisez pour afficher les volumes de stockage d’instance disponibles pour votre instance dépend du type de volume.



### NVMe volumes de stockage d'instances
<a name="nvme-instance-store"></a>

#### Instances Linux
<a name="nvme-instance-store-linux"></a>

Vous pouvez utiliser le package de ligne de NVMe commande, [nvme-cli](https://github.com/linux-nvme/nvme-cli), pour interroger les volumes de stockage d' NVMe instance dans le mappage des périphériques en mode bloc. Téléchargez et installez le package sur votre instance, puis exécutez la commande suivante.

```
[ec2-user ~]$ sudo nvme list
```

L’exemple ci-dessous présente la sortie pour une instance. Le texte dans la colonne Model indique si le volume est un volume EBS ou un volume de stockage d’instance. Dans cet exemple, `/dev/nvme1n1` et `/dev/nvme2n1` sont des volumes de stockage d’instance.

```
Node             SN                   Model                                    Namespace
---------------- -------------------- ---------------------------------------- ---------
/dev/nvme0n1     vol06afc3f8715b7a597 Amazon Elastic Block Store               1        
/dev/nvme1n1     AWS2C1436F5159EB6614 Amazon EC2 NVMe Instance Storage         1         
/dev/nvme2n1     AWSB1F4FF0C0A6C281EA Amazon EC2 NVMe Instance Storage         1         ...
```

#### instances Windows
<a name="nvme-instance-store-windows"></a>

Vous pouvez utiliser la gestion des disques ou PowerShell répertorier à la fois les volumes EBS et les NVMe volumes de stockage d'instance. Pour de plus amples informations, veuillez consulter [Mapper les disques NVMe de l’instance Amazon EC2 Windows vers des volumes](windows-list-disks-nvme.md).

### Volumes de stockage d’instance HDD ou SSD
<a name="hdd-ssd-instance-store"></a>

Vous pouvez utiliser les métadonnées de l'instance pour interroger les volumes de stockage des instances HDD ou SSD dans le mappage des périphériques en mode bloc. NVMe les volumes de stockage d'instance ne sont pas inclus.

L’URI de base pour toutes les requêtes de métadonnées des instances est `http://169.254.169.254/latest/`. Pour de plus amples informations, veuillez consulter [Utiliser les métadonnées des instances pour gérer votre instance EC2](ec2-instance-metadata.md).

#### Instances Linux
<a name="hdd-ssd-instance-store-linux"></a>

Commencez par vous connecter à votre instance en cours d’exécution. Utilisez cette requête à partir de l’instance pour obtenir son mappage de périphérique de stockage en mode bloc.

------
#### [ IMDSv2 ]

```
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/block-device-mapping/
```

------
#### [ IMDSv1 ]

```
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/
```

------

La réponse inclut les noms des périphériques de stockage en mode bloc de l’instance. Par exemple, la sortie pour une instance `m1.small` basée sur un stockage d’instances ressemble à cela :

```
ami
ephemeral0
root
swap
```

Le périphérique `ami` est le volume racine tel que le voit l’instance. Les volumes de stockage d’instance sont nommés `ephemeral[0-23]`. Le périphérique `swap` est utilisé pour le fichier d’échange. Si vous avez également mappé des volumes EBS, ils apparaissent en tant que `ebs1`, `ebs2`, etc.

Pour obtenir des détails relatifs à un périphérique de stockage en mode bloc individuel dans le mappage de périphérique de stockage en mode bloc, ajoutez son nom à la requête précédente, comme illustré ici.

------
#### [ IMDSv2 ]

```
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
```

------
#### [ IMDSv1 ]

```
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
```

------

#### instances Windows
<a name="hdd-ssd-instance-store-windows"></a>

Commencez par vous connecter à votre instance en cours d’exécution. Utilisez cette requête à partir de l’instance pour obtenir son mappage de périphérique de stockage en mode bloc.

```
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/
```

La réponse inclut les noms des périphériques de stockage en mode bloc de l’instance. Par exemple, la sortie pour une instance `m1.small` basée sur un stockage d’instances ressemble à cela :

```
ami
ephemeral0
root
swap
```

Le périphérique `ami` est le volume racine tel que le voit l’instance. Les volumes de stockage d’instance sont nommés `ephemeral[0-23]`. Le périphérique `swap` est utilisé pour le fichier d’échange. Si vous avez également mappé des volumes EBS, ils apparaissent en tant que `ebs1`, `ebs2`, etc.

Pour obtenir des détails relatifs à un périphérique de stockage en mode bloc individuel dans le mappage de périphérique de stockage en mode bloc, ajoutez son nom à la requête précédente, comme illustré ici.

```
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
```