Ajouter des mappages de périphériques en mode bloc à une instance Amazon EC2 - Amazon Elastic Compute Cloud

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 en mode bloc à une instance Amazon EC2

Par défaut, une instance que vous lancez inclut tous les périphériques de stockage spécifiés dans le mappage des périphériques par blocs de l'instance AMI à partir de laquelle vous avez lancé l'instance. Vous pouvez modifier le mappage des périphériques en mode bloc pour une instance lorsque vous la lancez, et ces mises à jour remplacent ou fusionnent avec le mappage des périphériques en mode bloc duAMI.

Limites
  • 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 EBS volume, vous ne pouvez pas réduire sa taille. Par conséquent, vous devez spécifier un instantané dont la taille est égale ou supérieure à la taille du cliché spécifié dans le mappage des périphériques en mode bloc duAMI.

Mettre à jour le mappage de périphérique de stockage en mode bloc lors du lancement d’une instance

Vous pouvez ajouter des EBS volumes et des volumes de stockage d'instance à une instance lorsque vous la lancez. Notez que la mise à jour du mappage des périphériques en mode bloc pour une instance n'entraîne pas de modification permanente du mappage des périphériques en mode bloc de l'instance AMI à partir de laquelle elle a été lancée.

Console
Pour ajouter des volumes à une instance à l’aide de la console
  1. Ouvrez la EC2 console Amazon.

  2. Sur le tableau de bord, choisissez Lancer une instance.

  3. Sur la page Choose an Amazon Machine Image (AMI), sélectionnez l'image AMI à utiliser, puis sélectionnez Select.

  4. Suivez l’Assistant pour compléter les pages Choisir un type d’instance et Configurer les détails de l’instance.

  5. Sur la page Ajouter du stockage, vous pouvez modifier le volume racine, les EBS volumes et les volumes de stockage d'instance comme suit :

    • Pour modifier la taille du volume racine, recherchez le volume Root dans la colonne Type, et modifiez le champ Size.

    • Pour supprimer un EBS volume spécifié par le mappage de périphériques par blocs du périphérique AMI utilisé pour lancer l'instance, localisez le volume et cliquez sur son icône Supprimer.

    • Pour ajouter un EBS volume, choisissez Ajouter un nouveau volume, EBSsélectionnez-le dans la liste Type et renseignez les champs (Appareil, Instantané, etc.).

    • Pour supprimer un volume de stockage d'instance spécifié par le mappage de périphériques par blocs du volume AMI utilisé pour lancer l'instance, localisez le volume et cliquez sur son icône Supprimer.

    • Pour ajouter un volume de stockage d’instance, choisissez Add New Volume, sélectionnez Instance Store dans la liste Type, puis choisissez un nom de périphérique dans la liste Device.

  6. Complétez les pages restantes de l’Assistant, puis sélectionnez Launch.

Command line
Pour ajouter des volumes à une instance à l'aide du AWS CLI

Utilisez la AWS CLI commande run-instances avec l'--block-device-mappingsoption permettant de spécifier un mappage de périphériques en mode bloc pour une instance au lancement.

Supposons, par exemple, qu'un EBS -backed AMI spécifie le mappage de périphériques par blocs suivant pour une instance Linux :

  • /dev/sdb = ephemeral0

  • /dev/sdh = snap-1234567890abcdef0

  • /dev/sdj = 100

Pour éviter /dev/sdj de vous attacher à une instance lancée à partir de làAMI, utilisez le mappage suivant.

{ "DeviceName": "/dev/sdj", "NoDevice": "" }

Pour augmenter la taille de /dev/sdh à300 GiB, spécifiez le mappage suivant. Notez que vous ne devez pas spécifier l’ID d’instantané pour /dev/sdh, car le fait de spécifier le nom du périphérique suffit à identifier le volume.

{ "DeviceName": "/dev/sdh", "Ebs": { "VolumeSize": 300 } }

Pour augmenter la taille du volume racine au lancement de l'instance, appelez d'abord describe-images avec l'ID du AMI afin de vérifier le nom du périphérique du volume racine. Par exemple, "RootDeviceName": "/dev/xvda". Pour modifier la taille du volume racine, spécifiez le nom du périphérique racine utilisé par le volume AMI ainsi que la nouvelle taille du volume.

{ "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 100 } }

Pour attacher un volume de stockage d’instance supplémentaire, /dev/sdc, spécifiez le mappage suivant. Si le type d’instance ne prend pas en charge plusieurs volumes de stockage d’instance, ce mappage n’a aucun effet. Si l'NVMeinstance prend en charge les volumes de stockage d'instance, ils sont automatiquement énumérés et un nom de NVMe périphérique leur est attribué.

{ "DeviceName": "/dev/sdc", "VirtualName": "ephemeral1" }
Pour ajouter des volumes à une instance à l'aide du AWS Tools for Windows PowerShell

Utilisez le -BlockDeviceMapping paramètre avec la New-EC2Instancecommande (AWS Tools for Windows PowerShell).

Mettre à jour le mappage de périphérique de stockage en mode bloc d’une instance en cours d’exécution

Vous pouvez utiliser la modify-instance-attribute AWS CLI commande pour mettre à jour le mappage des périphériques en mode bloc d'une instance en cours d'exécution. Vous n’avez pas besoin d’arrêter l’instance avant de modifier cet attribut.

aws ec2 modify-instance-attribute --instance-id i-1a2b3c4d --block-device-mappings file://mapping.json

Par exemple, pour conserver le volume racine à la clôture de l’instance, spécifiez les informations suivantes dans le fichier mapping.json.

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

Vous pouvez également utiliser le -BlockDeviceMapping paramètre avec la Edit-EC2InstanceAttributecommande (AWS Tools for Windows PowerShell).

Afficher les EBS volumes dans un mappage de périphériques par blocs d'instance

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

Note

Pour les instances lancées avant la sortie du 31/10/2009API, impossible d'afficher le AWS mappage des périphériques en mode bloc. Vous devez détacher et rattacher les volumes afin de AWS pouvoir afficher le mappage des périphériques en mode bloc.

Console
Pour afficher les EBS volumes d'une instance à l'aide de la console
  1. Ouvrez la EC2 console Amazon.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Dans la zone de recherche, entrez le type de périphérique racine, puis choisissez EBS. Cela affiche une liste des instances EBS sauvegardées.

  4. Sélectionnez l’instance souhaitée, puis consultez les informations affichées dans l’onglet Storage (Stockage). Au minimum, les informations suivantes sont disponibles pour le périphérique racine :

    • Type de périphérique racine (par exemple, EBS)

    • Root device name (Nom du périphérique racine) (par exemple, /dev/xvda)

    • Block devices (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 EBS volumes supplémentaires à l'aide d'un mappage de périphériques en mode bloc, ils apparaissent sous Bloquer les appareils. Aucun volume de stockage d’instance n’apparaît sur cet onglet.

  5. Pour afficher des informations supplémentaires sur un EBS volume, choisissez son ID de volume pour accéder à la page du volume.

Command line

Pour afficher les EBS volumes d'une instance à l'aide de la ligne de commande

Utilisez la commande describe-instances (AWS CLI) ou la commande Get-EC2Instance(AWS Tools for Windows PowerShell) pour énumérer les EBS volumes dans le mappage de périphériques en mode bloc pour une instance.

Afficher le mappage de périphérique de stockage en mode bloc d’une instance pour les volumes de stockage d’instances

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 de votre instance, exécutez la lsblk commande (instances Linux) 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 les spécifications des types d'EC2instance Amazon.

Lorsque vous consultez le mappage des périphériques en mode bloc pour votre instance, vous ne pouvez voir que les EBS volumes, pas les volumes de stockage de l'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.

NVMevolumes de stockage d'instances

Vous pouvez utiliser le package de ligne de NVMe commande, nvme-cli, pour interroger les volumes de stockage d'NVMeinstance 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 de la colonne Modèle indique si le volume est un EBS volume 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 ...

Vous pouvez utiliser la gestion des disques ou PowerShell répertorier les deux EBS et les NVMe volumes de stockage d'instance. Pour de plus amples informations, veuillez consulter NVMeMappez les disques d'une instance Amazon EC2 Windows à des volumes.

HDDou volumes de stockage d'SSDinstance

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

La base URI de toutes les demandes de métadonnées d'instance esthttp://169.254.169.254/latest/. Pour de plus amples informations, veuillez consulter Utiliser les métadonnées de l'instance pour gérer votre EC2 instance.

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 périphérique 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é EBS des volumes, ils apparaissent sous la forme ebs1ebs2,, 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

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 périphérique 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é EBS des volumes, ils apparaissent sous la forme ebs1ebs2,, 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