

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.

# Bloquer les mappages d'appareils pour les volumes sur les instances Amazon EC2
<a name="block-device-mapping-concepts"></a>

Chaque instance que vous lancez comporte un volume de volume racine associé, qui correspond à un volume Amazon EBS ou à un volume de stockage d’instance. Vous pouvez utiliser des mappages de périphérique de stockage en mode bloc pour spécifier des volumes EBS supplémentaires ou des volumes de stockage d’instances à attacher à une instance lorsqu’elle est lancée. Vous pouvez également associer des volumes EBS supplémentaires à une instance en cours d'exécution. Cependant, le seul moyen d’attacher des volumes de stockage d’instances à une instance est d’utiliser les mappages de périphérique de stockage en mode bloc pour les attacher lors du lancement de l’instance.

**Topics**
+ [Concepts de mappage de périphérique de stockage en mode bloc](#block-device-mapping-def)
+ [Ajouter des mappages de périphériques en mode bloc à une AMI](ami-block-device-mapping.md)
+ [Ajouter des mappages de périphériques de stockage en mode bloc à une instance Amazon EC2](instance-block-device-mapping.md)

## Concepts de mappage de périphérique de stockage en mode bloc
<a name="block-device-mapping-def"></a>

Un *périphérique de stockage en mode bloc* est un dispositif de stockage qui déplace des données en séquence d’octets ou bits (blocs). Ces dispositifs prennent en charge l’accès aléatoire et utilisent généralement des I/O mises en mémoire tampon. Ce sont par exemple des disques durs, des lecteurs de CD-ROM et des lecteurs flash. Un périphérique de stockage en mode bloc peut être physiquement attaché à un ordinateur ou accessible à distance comme s’il était physiquement attaché à l’ordinateur.

Amazon EC2 prend en charge deux types de périphériques de stockage en mode bloc : 
+ Les volumes de stockage d’instance (périphériques virtuels dont le matériel sous-jacent est physiquement attaché à l’ordinateur hôte de l’instance)
+ Les volumes EBS (périphériques de stockage à distance)

Un *mappage de périphérique de stockage en mode bloc* définit les périphériques de stockage en mode bloc (volumes de stockage d’instance et volumes EBS) qui doivent être attachés à l’instance. Vous pouvez spécifier un mappage de périphérique de stockage en mode bloc lors de la création d’une AMI, afin que le mappage soit utilisé par toutes les instances lancées à partir de l’AMI. Vous pouvez également spécifier un mappage de périphérique de stockage en mode bloc lorsque vous lancez une instance, afin que son mappage remplace celui spécifié dans l’AMI à partir de laquelle vous avez lancé l’instance. Notez que tous les volumes de stockage d' NVMe instance pris en charge par un type d'instance sont automatiquement énumérés et qu'un nom de périphérique leur est attribué lors du lancement de l'instance ; leur inclusion dans le mappage de périphériques par blocs n'a aucun effet.

**Topics**
+ [Entrées du mappage de périphérique de stockage en mode bloc](#parts-of-a-block-device-mapping)
+ [Mises en garde sur le stockage d’instance du mappage de périphérique de stockage en mode bloc](#instance_store_caveats)
+ [Exemple de mappage de périphérique de stockage en mode bloc](#block-device-mapping-ex)
+ [Mise à disposition d’appareils dans le système d’exploitation](#bdm-to-os)

### Entrées du mappage de périphérique de stockage en mode bloc
<a name="parts-of-a-block-device-mapping"></a>

Lorsque vous créez un mappage de périphérique de stockage en mode bloc, vous spécifiez les informations suivantes pour chaque périphérique de stockage en mode bloc qui doit être attaché à l’instance :
+ Le nom du périphérique utilisé dans Amazon EC2. Le pilote du périphérique de stockage en mode bloc de l’instance attribue le nom de volume réel lors du montage du volume. Le nom attribué peut être différent de celui recommandé par Amazon EC2. Pour plus d’informations, consultez [Noms des appareils pour les volumes sur les EC2 instances Amazon](device_naming.md).

Pour les volumes de stockage d’instance, vous spécifiez également les informations suivantes :
+ Le nom du périphérique virtuel : `ephemeral[0-23]`. Notez que le nombre et la taille des volumes de stockage d’instance disponibles pour votre instance varient en fonction du type d’instance.

Par NVMe exemple, les informations suivantes s'appliquent également aux volumes de stockage :
+ Ces volumes sont automatiquement énumérés et un nom de périphérique leur est automatiquement attribué. Le fait de les ajouter dans votre mappage de périphérique de stockage en mode bloc n’a aucun effet.

Pour les volumes EBS, vous spécifiez également les informations suivantes :
+ L’ID de l’instantané à utiliser pour créer le périphérique de stockage en mode bloc (snap-*xxxxxxxx*). Cette valeur est facultative si vous spécifiez une taille de volume. Vous ne pouvez pas spécifier l’ID d’instantané archivé.
+ Taille du volume en Gio La taille spécifiée doit être supérieure ou égale à la taille de l’instantané spécifié.
+ Suppression ou non du volume lors de l’arrêt de l’instance (`true` ou `false`). La valeur par défaut est `true` pour le volume racine et `false` pour les volumes attachés. Lorsque vous créez une AMI, son mappage de périphérique de stockage en mode bloc hérite de ce paramètre de l’instance. Lorsque vous lancez une instance, elle hérite de ce paramètre de l’AMI.
+ Le type de volume, qui peut être `gp2` et `gp3` pour les SSD à usage général, `io1` et `io2` pour les SSD IOPS provisionnés, `st1` pour les HDD à débit optimisé, `sc1` pour les HDD à froid ou `standard` pour les volumes magnétiques.
+ Nombre d' input/output opérations par seconde (IOPS) prises en charge par le volume. (Utilisé uniquement avec les volumes `io1` et `io2`.)
+ Certains types d'instances prennent en charge plusieurs cartes EBS. Vous pouvez sélectionner la carte EBS à laquelle le volume doit être attaché en spécifiant l'index de la carte EBS. Pour de plus amples informations, veuillez consulter [Cartes EBS](ebs_cards.md#ebs_cards.title).

### Mises en garde sur le stockage d’instance du mappage de périphérique de stockage en mode bloc
<a name="instance_store_caveats"></a>

Plusieurs mises en garde doivent être prises en compte lors du lancement d'instances AMIs dont les mappages de périphériques en mode bloc contiennent des volumes de stockage d'instance.
+ Certains types d’instance comprennent un plus grand nombre de volumes de stockage d’instance que d’autres et certains types d’instance ne contiennent aucun volume de stockage d’instance. Si votre type d’instance prend en charge un volume de stockage d’instance et que votre AMI comporte des mappages pour deux volumes de stockage d’instance, l’instance est lancée avec un volume de stockage d’instance.
+ Les volumes de stockage d’instance peuvent uniquement être mappés au moment du lancement. Vous ne pouvez pas arrêter une instance sans volume de stockage d’instance (comme `t2.micro`), modifier le type de l’instance par un type prenant en charge les volumes de stockage d’instance, puis redémarrer l’instance avec des volumes de stockage d’instance. En revanche, vous pouvez créer une AMI à partir de l’instance et la lancer sur un type d’instance prenant en charge les volumes de stockage d’instance, et mapper ces volumes de stockage d’instance à l’instance.
+ Si vous lancez une instance à laquelle sont mappés des volumes de stockage d’instance, puis arrêtez l’instance, en modifiez le type avec un nombre inférieur de volumes de stockage d’instance et redémarrez l’instance, les mappages des volumes de stockage d’instance du lancement initial apparaissent toujours dans les métadonnées de l’instance. Cependant, l’instance n’a accès qu’au nombre maximum de volumes de stockage d’instance pris en charge pour ce type d’instance.
**Note**  
Lorsqu’une instance est arrêtée, toutes les données stockées sur les volumes de stockage d’instance sont perdues.
+ En fonction de la capacité de stockage de l’instance au moment du lancement, les instances M3 peuvent ignorer les mappages de périphérique de stockage en mode bloc du stockage d’instance AMI au moment du lancement, sauf s’ils sont spécifiés au moment du lancement. Il est conseillé de spécifier les mappages de périphérique de stockage en mode bloc du stockage d’instance au moment du lancement, même si les volumes d’instance de stockage de l’AMI que vous lancez sont mappés dans l’AMI, afin de garantir la disponibilité des volumes de stockage d’instance au lancement de l’instance. 

### Exemple de mappage de périphérique de stockage en mode bloc
<a name="block-device-mapping-ex"></a>

L’illustration suivante montre un exemple de mappage de périphérique de stockage en mode bloc pour une instance basée sur les volumes EBS. `/dev/sdb` est mappé à `ephemeral0` et deux volumes EBS sont mappés. L’un à `/dev/sdh` et l’autre à `/dev/sdj`. La figure illustre également le volume EBS qui est le volume racine, `/dev/sda1`.

![\[Relation entre une instance, des volumes de stockage d’instance et des volumes EBS.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/block_device_mapping_figure.png)


Notez que cet exemple de mappage de périphériques par blocs est utilisé dans les exemples de commandes et APIs dans cette rubrique. Vous pouvez trouver des exemples de commandes APIs qui créent des mappages de périphériques par blocs dans [Spécifier un mappage de périphérique de stockage en mode bloc pour une AMI](ami-block-device-mapping.md#create-ami-bdm) et[Mettre à jour le mappage de périphérique de stockage en mode bloc lors du lancement d’une instance](instance-block-device-mapping.md#Using_OverridingAMIBDM).

### Mise à disposition d’appareils dans le système d’exploitation
<a name="bdm-to-os"></a>

Les noms de périphériques tels que `/dev/sdh` et `xvdh` sont utilisés par Amazon EC2 pour décrire des périphériques de stockage en mode bloc. Le mappage de périphérique de stockage en mode bloc est utilisé par Amazon EC2 pour spécifier les périphériques de stockage en mode bloc qui doivent être attachés à une instance EC2. Lorsqu’un périphérique de stockage en mode bloc est attaché à une instance, il doit être monté par le système d’exploitation pour que vous puissiez accéder au dispositif de stockage. Lorsqu’un périphérique de stockage en mode bloc est détaché d’une instance, il doit être démonté par le système d’exploitation. Ainsi, vous ne pouvez plus accéder au dispositif de stockage.

**Instances Linux** – Les noms des périphériques spécifiés dans le mappage des périphériques de bloc sont mappés aux périphériques de bloc correspondants lorsque l'instance démarre pour la première fois. Le type d’instance détermine les volumes de stockage d’instance qui sont formatés et montés par défaut. Vous pouvez monter des volumes de stockage d’instance supplémentaires au moment du lancement, à condition de ne pas dépasser le nombre de volumes de stockage d’instance disponibles pour votre type d’instance. Pour plus d’informations, consultez [Stockage de blocs temporaires pour les instances EC2](InstanceStorage.md). Le pilote du périphérique de stockage en mode bloc pour l’instance détermine les périphériques utilisés lorsque les volumes sont formatés et montés.

**Instances Windows** – Les noms des périphériques spécifiés dans le mappage des périphériques de bloc sont mappés aux périphériques de bloc correspondants lorsque l'instance démarre pour la première fois, puis le service Ec2Config initialise et monte les lecteurs. Le volume racine est monté en tant que `C:\`. Les volumes de stockage d’instance sont montés en tant que `Z:\`, `Y:\`, etc. Le montage d’un volume EBS peut être effectué à l’aide de n’importe quelle lettre de lecteur disponible. Toutefois, vous pouvez configurer la manière dont les lettres de lecteur sont attribuées aux volumes EBS ; pour plus d'informations, consultez [Agents de lancement Windows sur les instances Amazon EC2 Windows](configure-launch-agents.md).

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

Chaque AMI comporte un mappage de périphérique de stockage en mode bloc qui spécifie les périphériques de stockage en mode bloc à attacher à une instance lancée à partir de l’AMI. Pour ajouter d’autres périphériques de stockage en mode bloc à une AMI, vous devez créer votre propre AMI.

**Topics**
+ [Spécifier un mappage de périphérique de stockage en mode bloc pour une AMI](#create-ami-bdm)
+ [Afficher les volumes EBS dans un mappage de périphérique de stockage en mode bloc d’une AMI](#view-ami-bdm)

## Spécifier un mappage de périphérique de stockage en mode bloc pour une AMI
<a name="create-ami-bdm"></a>

Lorsque vous créez une AMI, il existe deux façons de spécifier des volumes en plus du volume racine. Si vous avez déjà attaché des volumes à une instance en cours d’exécution avant de créer une AMI à partir de l’instance, le mappage de périphérique de stockage en mode bloc pour l’AMI comprend ces mêmes volumes. Pour les volumes EBS, les données existantes sont enregistrées dans un nouvel instantané. C’est ce nouvel instantané qui est spécifié dans le mappage de périphérique de stockage en mode bloc. Pour les volumes de stockage d’instance, les données ne sont pas conservées.

Pour une AMI basée sur des volumes EBS, vous pouvez ajouter des volumes EBS et des volumes de stockage d’instance à l’aide d’un mappage de périphérique de stockage en mode bloc. Pour une AMI basée sur Amazon S3, vous pouvez ajouter des volumes de stockage d’instances uniquement en modifiant les entrées du mappage de périphérique de stockage en mode bloc dans le fichier manifest des images lors de l’enregistrement de l’image.

**Note**  
Pour les instances M3, vous devez spécifier les volumes de stockage d’instance dans le mappage de périphérique de stockage en mode bloc de l’instance lorsque cette dernière est lancée. Lorsque vous lancez une instance M3, les volumes de stockage d’instance spécifiés dans le mappage de périphérique de stockage en mode bloc de l’AMI peuvent être ignorés s’ils ne sont pas spécifiés dans le cadre du mappage de périphérique de stockage en mode bloc de l’instance.

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

**Pour ajouter des volumes à une AMI**

1. Ouvrez la console Amazon EC2.

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

1. Sélectionnez une instance, puis **Actions**, **Image and templates (Image et modèles)**, **Create image (Créer une image)**.

1. Saisissez un nom et une description pour l’image.

1. Les volumes d’instance apparaissent sous **Instance volumes (Volumes d’instance)**. Pour ajouter un autre volume, sélectionnez **Add volume (Ajouter un volume)**.

1. Pour **Volume type (Type de volume)**, sélectionnez le type de volume. Pour **Device (Périphérique)**, sélectionnez le nom du périphérique. Pour un volume EBS, vous pouvez spécifier des informations supplémentaires, telles qu’un instantané, la taille du volume, le type de volume, les IOPS et l’état de chiffrement.

1. Choisissez **Create image (Créer une image)**.

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

**Pour ajouter des volumes à une AMI**

Utilisez la commande [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html) pour spécifier un mappage de périphérique de stockage en mode bloc pour une AMI basée sur EBS. Utilisez la commande [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) afin de spécifier un mappage de périphérique de stockage en mode bloc pour une AMI basée sur Amazon S3.

Spécifiez le mappage de périphérique de stockage en mode bloc à l’aide du paramètre `--block-device-mappings`. Vous pouvez spécifier des arguments encodés en JSON directement depuis la ligne de commande ou en faisant référence à un fichier JSON, comme indiqué ici.

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

Pour ajouter un volume de stockage d’instance, utilisez le mappage suivant : Notez que les volumes de stockage d' NVMeinstance sont ajoutés automatiquement.

```
{
    "DeviceName": "device_name",
    "VirtualName": "ephemeral0"
}
```

Pour ajouter un volume vide de 100 Gio, utilisez le mappage suivant :

```
{
    "DeviceName": "device_name",
    "Ebs": {
      "VolumeSize": 100
    }
}
```

Pour ajouter un volume EBS basé sur un instantané, utilisez le mappage suivant :

```
{
    "DeviceName": "device_name",
    "Ebs": {
      "SnapshotId": "snap-1234567890abcdef0"
    }
}
```

Pour omettre un mappage pour un périphérique, utilisez le mappage suivant :

```
{
    "DeviceName": "device_name",
    "NoDevice": ""
}
```

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

Utilisez l'[New-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Image.html)applet de commande pour spécifier un mappage de périphériques en mode bloc pour une AMI basée sur EBS. Utilisez l'[Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)applet de commande pour spécifier un mappage de périphériques en mode bloc pour une AMI basée sur Amazon S3.

Ajoutez l’option `-BlockDeviceMapping` en spécifiant les mises à jour dans `bdm` :

```
-BlockDeviceMapping $bdm
```

Le mappage suivant ajoute un volume basé sur un instantané.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.SnapshotId = "snap-1234567890abcdef0"
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "device_name"
$bdm.Ebs = $ebd
```

Le mappage suivant ajoute un volume vide de 100 Go.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.VolumeSize = 100
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "device_name"
$bdm.Ebs = $ebd
```

------

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

Vous pouvez facilement énumérer les volumes EBS du mappage de périphérique de stockage en mode bloc pour une AMI.

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

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

1. Ouvrez la console Amazon EC2.

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Choisissez **les images EBS** dans la liste des **filtres** pour obtenir une liste des images soutenues par AMIs EBS. 

1. Sélectionnez l’AMI souhaitée et consultez l’onglet **Details**. Au minimum, les informations suivantes sont disponibles pour le volume racine (où le terme **périphérique racine** est équivalent à **volume racine**) :
   + **Type de périphérique racine** (`ebs`)
   + **Nom du périphérique racine** (par exemple, `/dev/sda1`)
   + **Block Devices** (par exemple, `/dev/sda1=snap-1234567890abcdef0:8:true`)

   Si l’AMI a été créée avec des volumes EBS supplémentaires à l’aide d’un mappage de périphérique de stockage en mode bloc, le champ **Block Devices** affiche également le mappage pour ces volumes supplémentaires. Notez que cet écran n’affiche pas les volumes de stockage d’instance.

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

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

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Image[0].BlockDeviceMappings
```

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

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

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).BlockDeviceMappings
```

------

# 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
```