Mapeamentos de dispositivos de blocos - Amazon Elastic Compute Cloud

Mapeamentos de dispositivos de blocos

Cada instância que você executa tem um volume de dispositivo raiz associado, seja um volume do Amazon EBS ou um volume de armazenamento de instâncias. Use o mapeamento de dispositivos de blocos para especificar mais volumes do EBS ou volumes de armazenamento de instâncias para anexar a uma instância quando ela for executada. É possível associar volumes adicionais do EBS a uma instância em execução. Contudo, a única forma de associar volumes de armazenamento de instâncias a uma instância é usar o mapeamento de dispositivos de blocos para anexá-los à medida que a instância é executada.

Conceitos de mapeamento de dispositivos de blocos

Um dispositivo de blocos é um dispositivo de armazenamento que move dados em sequências de bytes ou de bits (blocos). Esses dispositivos oferecem suporte ao acesso aleatório e geralmente usam E/S em buffer. Os exemplos incluem discos rígidos, unidades de CD-ROM e pen-drives. Um dispositivo de blocos pode ser fisicamente ligado a um computador ou acessado remotamente, como se estivesse ligado fisicamente ao computador.

O Amazon EC2 oferece suporte a dois tipos de dispositivo de blocos:

  • Volumes de armazenamento de instâncias (dispositivos virtuais cujo hardware subjacente é ligado fisicamente ao computador host da instância)

  • Volumes EBS (dispositivos de armazenamento remoto)

Um mapeamento de dispositivos de blocos define os dispositivos de blocos (volumes de armazenamento de instâncias e volumes do EBS) para anexar a uma instância. É possível especificar um mapeamento de dispositivos de blocos como parte da criação de um AMI para que o mapeamento seja usado por todas as instâncias executadas pela AMI. Como alternativa, é possível especificar um mapeamento de dispositivos de blocos ao executar uma instância, para que o mapeamento cancele o especificado na AMI do qual você iniciou a instância. Observe que todos os volumes de armazenamento de instâncias de NVMe compatíveis com um tipo de instância são automaticamente enumerados e atribuídos a um nome de dispositivo durante a execução da instância. Incluí-los no seu mapeamento de dispositivos de blocos não surtirá nenhum efeito.

Entradas do mapeamento de dispositivos de blocos

Ao criar um mapeamento de dispositivos de blocos, é preciso especificar as informações a seguir para cada dispositivo de blocos que você precisa associar à instância:

  • O nome de dispositivo usado no Amazon EC2. O driver de dispositivo de blocos da instância atribui o nome real do volume ao montar o volume. O nome atribuído pode ser diferente do nome recomendado pelo Amazon EC2. Para obter mais informações, consulte Nomes de dispositivos em instâncias do Amazon EC2.

Para volumes de armazenamento de instâncias, você também especifica as seguintes informações:

  • O dispositivo virtual: ephemeral[0-23]. Observe que o número e o tamanho de volumes de armazenamento de instâncias disponíveis variam por tipo de instância.

Para volumes de armazenamento de instâncias NVMe, as seguintes informações também se aplicam:

  • Esses volumes são automaticamente enumerados e atribuídos a um nome de dispositivo; incluí-los no mapeamento de dispositivos de blocos não surtirá nenhum efeito.

Para volumes do EBS, você também especifica as seguintes informações:

  • O ID do snapshot a ser usado para criar o dispositivo de blocos (snap-xxxxxxxx). Esse valor é opcional, desde que você especifique um tamanho do volume. Você não pode especificar a ID de snapshots arquivados.

  • O tamanho do volume em GiB. O tamanho especificado deve ser maior que ou igual ao tamanho do snapshot especificado.

  • Se o volume deve ser excluído no encerramento da instância (true ou false). O valor padrão é true para o volume do dispositivo raiz e false para volumes associados. Quando você cria a AMI, o mapeamento de dispositivos de blocos dele herda essa configuração da instância. Quando você executa uma instância, ela herda essa configuração da AMI.

  • O tipo de volume, que pode ser gp2 e gp3 para SSD de uso geral, io1 e io2 para SSD de IOPS provisionadas, st1 para HDD otimizado para throughput, sc1 para HDD a frio ou standard para magnético.

  • O número de operações de entrada/saída por segundo (IOPS) que o volume é capaz de suportar. (Usado apenas com volumes io1 e io2.)

Advertências do armazenamento de instâncias de mapeamento de dispositivos de blocos

Há várias advertências a serem consideradas ao executar instâncias com os AMIs que têm volumes de armazenamento de instâncias em seus mapeamentos de dispositivos de blocos.

  • Alguns tipos de instância incluem mais volumes de armazenamento de instâncias que outros, e alguns tipos de instância não contêm nenhum volume de armazenamento de instâncias. Se seu tipo de instância for compatível com um volume de armazenamento de instâncias e o AMI tiver mapeamentos para dois volumes de armazenamento de instâncias, a instância será executada com um volume de armazenamento de instâncias.

  • Volumes de armazenamento de instâncias só podem ser mapeados no momento da execução. Você não pode interromper uma instância sem volumes de armazenamento de instâncias (como t2.micro), alterar a instância para um tipo que suporte os volumes de armazenamento de instâncias e reiniciem a instância com volumes de armazenamento de instâncias. No entanto, é possível criar uma AMI com base na instância e executá-la em um tipo de instância que suporte volumes de armazenamento de instâncias e os mapeie para a instância.

  • Se você executar uma instância com os volumes de armazenamento de instâncias mapeados e, em seguida, interromper a instância e alterá-la para um tipo de instância com menos volumes de armazenamento de instâncias e reiniciá-la, os mapeamentos do volume de armazenamento de instâncias da execução inicial continuarão a ser exibidos nos metadados da instância. Contudo, somente o número máximo de volumes aceito pelo armazenamento de instâncias para aquele tipo de instância estará disponível.

    nota

    Quando uma instância for interrompida, todos os dados nos volumes do armazenamento de instâncias serão perdidos.

  • Dependendo da capacidade de armazenamento das instâncias no momento da execução, as instâncias M3 poderão ignorar os mapeamentos de dispositivos de blocos do armazenamento de instâncias da AMI na execução, a menos que sejam especificadas na execução. Especifique mapeamentos de dispositivos de blocos no armazenamento de instâncias no momento da inicialização, mesmo que a AMI que você está executando tenha os volumes de armazenamento de instâncias mapeados na AMI, de forma a garantir que os volumes de armazenamento das instâncias estejam disponíveis quando a instância é iniciada.

Exemplo de mapeamento de dispositivos de blocos

Essa figura mostra um exemplo de mapeamento de dispositivos de blocos para uma instância com EBS. Isso mapeia /dev/sdb para ephemeral0 e mapeia dois volumes do EBS: uma para /dev/sdh e outro para /dev/sdj. Isso também mostra o volume do EBS que é o volume do dispositivo raiz, /dev/sda1.

Relação entre instância, volumes de armazenamento de instâncias e volumes do EBS.

Observe que esse exemplo de mapeamento de dispositivos de blocos é utilizado em exemplos de comandos e APIs neste tópico. É possível encontrar os exemplos de comandos e APIs que criam mapeamentos de dispositivos de blocos em Especificar um mapeamento de dispositivos de blocos para uma AMI e Atualizar o mapeamento de dispositivos de blocos ao executar uma instância.

Como os dispositivos são disponibilizados no sistema operacional

Nomes de dispositivos, como /dev/sdh e xvdh, são usados pelo Amazon EC2 para descrever dispositivos de blocos. O mapeamento de dispositivos de blocos é usado pelo Amazon EC2 para especificar os dispositivos de blocos para uma instância do EC2. Após um dispositivo de blocos ser associado a uma instância, ele deverá ser montado pelo sistema operacional antes que você possa acessar o dispositivo de armazenamento. Quando um dispositivo de blocos é separado de uma instância, ele será desmontado pelo sistema operacional e você não poderá mais acessar o dispositivo de armazenamento.

Instâncias do Linux: os nomes de dispositivos especificados no mapeamento de dispositivos de blocos são mapeados para os dispositivos de blocos correspondentes quando a instância é inicializada pela primeira vez. O tipo de instância determina quais volumes de armazenamento de instâncias são formatados e montados por padrão. É possível montar volumes de armazenamento de instâncias adicionais na execução, desde que não ultrapasse o número de volumes de armazenamento de instâncias disponível para seu tipo de instância. Para obter mais informações, consulte Armazenamento de instâncias do Amazon EC2. O driver do dispositivo de blocos para a instância determina quais dispositivos são usados quando os volumes são formatados e montados.

Instâncias do Windows: os nomes de dispositivos especificados no mapeamento de dispositivos de blocos são mapeados para os dispositivos de bloco correspondentes quando a instância é inicializada pela primeira vez e, em seguida, o serviço Ec2Config inicializa e monta as unidades. O volume do dispositivo raiz é montado como C:\. Os volumes de armazenamento de instâncias são montados como Z:\, Y:\, etc. Quando um volume do EBS é montado, isso pode acontecer usando qualquer letra de unidade disponível. No entanto, é possível configurar como as letras de unidade são atribuídas aos volumes do EBS. Para obter mais informações, consulte Definição das configurações de inicialização para instâncias do Windows do Amazon EC2.

Mapeamento de dispositivos de blocos da AMI

Cada AMI tem um mapeamento de dispositivos de blocos que especifica os dispositivos de blocos a serem associados a uma instância quando é executada pela AMI. Para adicionar mais dispositivos de blocos a uma AMI, crie sua própria AMI.

Especificar um mapeamento de dispositivos de blocos para uma AMI

Há duas maneiras de especificar volumes além do volume do dispositivo raiz ao criar uma AMI. Se você já tiver associado volumes a uma instância em execução antes de criar uma AMI pela instância, o mapeamento de dispositivos de blocos para a AMI incluirá os mesmos volumes. Para volumes do EBS, os dados existentes são salvos em um novo snapshot, e é esse novo snapshot que é especificado no mapeamento de dispositivos de blocos. Para volumes de armazenamento de instâncias, os dados não são preservados.

Para AMI baseados em EBS, é possível adicionar volumes do EBS e volumes de armazenamento de instâncias usando um mapeamento de dispositivos de blocos. Para AMIs com armazenamento de instâncias, você só poderá adicionar volumes de armazenamento de instâncias ao modificar as entradas de mapeamento de dispositivos de blocos no arquivo manifesto da imagem ao registrar a imagem.

nota

Para instâncias M3, especifique volumes de armazenamento de instâncias no mapeamento de dispositivos de blocos para a instância ao iniciá-los. Quando você executa uma instância M3, os volumes de armazenamento de instâncias especificados no mapeamento de dispositivos de blocos para a AMI poderão ser ignorados se não forem especificados como parte do mapeamento de dispositivos de blocos da instância.

Console
Para adicionar volumes a uma AMI usando o console
  1. Abra o console do Amazon EC2.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione uma instância e escolha Actions (Ações), Image and templates (Imagem e modelos), Create image (Criar imagem).

  4. Insira um nome e uma descrição para a imagem.

  5. Os volumes de instância aparecem em Volumes de instância (Volumes de instância). Para adicionar outro volume, escolha Add volume (Adicionar volume).

  6. Em Volume type (Tipo de volume), escolha o tipo de volume. Para Device (Dispositivo), escolha o nome do dispositivo. Para um volume do EBS, é possível especificar detalhes adicionais, como um snapshot, o tamanho do volume, o tipo de volume, IOPS e estado de criptografia.

  7. Escolha Create Image (Criar imagem).

Command line

To add volumes to an AMI using the command line (Para adicionar volumes a uma AMI usando a linha de comando)

Use o comando create-image da AWS CLI para especificar um mapeamento de dispositivos de blocos para uma AMI com EBS. Use o comando register-image da AWS CLI para especificar um mapeamento de dispositivos de blocos para uma AMI com armazenamento de instâncias.

Especifique o mapeamento de dispositivos de blocos usando o parâmetro --block-device-mappings. Os argumentos codificados em JSON podem ser fornecidos diretamente na linha de comando ou por referência a um arquivo:

--block-device-mappings [mapping, ...] --block-device-mappings [file://mapping.json]

Para adicionar um volume de armazenamento de instâncias, use o mapeamento a seguir.

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

Para adicionar um volume vazio do gp2 de 100 GiB, use o mapeamento a seguir.

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

Para adicionar um volume do EBS com base em um snapshot, use o mapeamento a seguir.

{ "DeviceName": "device_name", "Ebs": { "SnapshotId": "snap-xxxxxxxx" } }

Para omitir um mapeamento de um dispositivo, use o mapeamento a seguir:

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

Como alternativa, é possível usar o parâmetro -BlockDeviceMapping com os comandos a seguir (AWS Tools for Windows PowerShell):

Visualizar os volumes do EBS em um mapeamento de dispositivo de blocos da AMI

É possível facilmente enumerar volumes do EBS no mapeamento de dispositivos de blocos para AMI.

Console
Para visualizar os volumes do EBS para uma AMI usando o console
  1. Abra o console do Amazon EC2.

  2. No painel de navegação, selecione AMIs.

  3. Escolha EBS images (Imagens de EBS) da lista Filter (Filtro) para obter uma lista de AMIs com EBS.

  4. Selecione a AMI desejada e examine a guia Details (Detalhes). No mínimo, estarão disponíveis as informações a seguir para o dispositivo raiz:

    • Root Device Type (Tipo de dispositivo raiz (ebs)

    • Root Device Name (Nome do dispositivo raiz) (por exemplo, /dev/sda1)

    • Block Devices (Dispositivos de blocos) (por exemplo, /dev/sda1=snap-1234567890abcdef0:8:true)

    Se a AMI tiver sido criada com volumes do EBS adicionais usando um mapeamento de dispositivos de blocos, o campo Block Devices (Dispositivos de blocos) exibirá o mapeamento desses volumes adicionais também. (Essa tela não exibe volumes de armazenamento de instâncias.)

Command line

To view the EBS volumes for an AMI using the command line (Para visualizar os volumes do EBS para uma AMI usando a linha de comando)

Use o comando describe-images (AWS CLI) ou o comando Get-EC2Image (AWS Tools for Windows PowerShell) para enumerar os volumes do EBS no mapeamento de dispositivos de blocos para uma AMI.

Mapeamento de dispositivos de blocos de instância

Por padrão, uma instância que você inicia inclui todos os dispositivos de armazenamento especificados no mapeamento de dispositivos de blocos da AMI do qual você executou a instância. É possível especificar alterações ao mapeamento de dispositivos de blocos para uma instância quando ela é iniciada, e essas atualizações se sobrescrevem ou se mesclam com o mapeamento de dispositivos de blocos da AMI.

Limitações
  • Para o volume raiz, você só pode modificar o seguinte: tamanho do volume, tipo de volume e o sinalizador Delete on Termination (Excluir ao encerrar).

  • Quando modificar um volume do EBS, não será possível reduzir o tamanho. Portanto, especifique um snapshot cujo tamanho seja igual ou maior que o tamanho do snapshot especificado no mapeamento de dispositivos de blocos da AMI.

Atualizar o mapeamento de dispositivos de blocos ao executar uma instância

É possível adicionar volumes do EBS e volumes de armazenamento de instâncias a uma instância quando iniciá-la. Observe que atualizar o mapeamento de dispositivos de blocos para uma instância não cria uma alteração permanente no mapeamento de dispositivos de blocos da AMI do qual ela foi executada.

Console
Para adicionar volumes a uma instância usando o console
  1. Abra o console do Amazon EC2.

  2. No painel, escolha Launch Instance (Executar instância).

  3. Na página Choose an Amazon Machine Image (AMI) (Escolha uma imagem de máquina da Amazon), selecione as AMIs a serem usadas e escolha Select (Selecionar).

  4. Siga o assistente para preencher as páginas Choose an Instance Type e Configure Instance Details.

  5. Na página Add Storage (Adicionar armazenamento), é possível modificar o volume raiz, os volumes do EBS e os volumes de armazenamento de instâncias da seguinte forma:

    • Para alterar o tamanho do volume raiz, localize o volume Root (Raiz) na coluna Type (Tipo) e altere o campo Size (Tamanho).

    • Para excluir um volume do EBS especificado pelo mapeamento de dispositivos de blocos das AMIs usadas para executar a instância, localize o volume e clique no ícone Delete (Excluir).

    • Para adicionar um volume do EBS, escolha Add New Volume (Adicionar novo volume), escolha EBS na lista Type (Tipo) e preencha os campos (Device [Dispositivo], Snapshot [Snapshot] etc.).

    • Para excluir um volume de armazenamento de instâncias especificado pelo mapeamento de dispositivos de blocos da AMI usada para executar a instância, localize o volume e clique no ícone Delete (Excluir).

    • Para adicionar um volume de armazenamento de instâncias, selecione Add New Volume (Adicionar novo volume), Instance Store (Armazenamento de instância) na lista Type (Tipo) e selecione um nome de dispositivo em Device (Dispositivo).

  6. Preencha as páginas restantes do assistente e escolha Launch (Executar).

Command line
Como adicionar volumes a uma instância usando a AWS CLI

Use o comando run-instances da AWS CLI com a opção --block-device-mappings para especificar um mapeamento de dispositivos de blocos para uma instância no lançamento.

Por exemplo, suponha que uma AMI baseada no EBS especifique o seguinte mapeamento de dispositivos de blocos para uma instância do Linux:

  • /dev/sdb = ephemeral0

  • /dev/sdh = snap-1234567890abcdef0

  • /dev/sdj = 100

Para evitar que o /dev/sdj seja anexado a uma instância em execução nesta AMI, use o mapeamento a seguir.

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

Para aumentar o tamanho de /dev/sdh para 300 GiB, especifique o mapeamento apresentado a seguir. Observe que você não precisa especificar o ID do snapshot para /dev/sdh, pois especificar o nome do dispositivo basta para identificar o volume.

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

Para aumentar o tamanho do volume raiz ao iniciar a instância, primeiro chame describe-images com o ID da AMI para verificar o nome de dispositivo do volume raiz. Por exemplo, "RootDeviceName": "/dev/xvda". Para substituir o tamanho do volume raiz, especifique o nome do dispositivo raiz usado pela AMI e o novo tamanho do volume.

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

Para associar um volume adicional de armazenamento de instâncias, /dev/sdc, especifique o mapeamento a seguir. Se o tipo de instância não oferecer volumes de armazenamento de múltiplas instâncias, esse mapeamento não surtirá efeito. Se a instância for compatível com os volumes de armazenamento de instâncias NVMe, eles serão automaticamente enumerados e receberão um nome de dispositivo NVMe.

{ "DeviceName": "/dev/sdc", "VirtualName": "ephemeral1" }
Como adicionar volumes a uma instância usando a AWS Tools for Windows PowerShell

Use o parâmetro -BlockDeviceMapping com o comando New-EC2Instance (AWS Tools for Windows PowerShell)

Atualizar o mapeamento de dispositivos de blocos de uma instância em execução

É possível usar o comando modify-instance-attribute da AWS CLI para atualizar o mapeamento de dispositivos de blocos de uma instância em execução. Você não precisa parar a instância para alterar esse atributo.

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

Por exemplo: para preservar o volume raiz no encerramento da instância, especifique o seguinte no mapping.json.

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

Como alternativa, é possível usar o parâmetro -BlockDeviceMapping com o comando Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell).

Visualizar os volumes do EBS em um mapeamento de dispositivos de blocos de instância

É possível facilmente enumerar volumes do EBS para a instância.

nota

Para instâncias executadas antes do lançamento da API de 31/10/2009, a AWS não pode exibir o mapeamento de dispositivos de blocos. É necessário separar e reassociar volumes de modo que a AWS possa exibir o mapeamento de dispositivos de blocos.

Console
Para visualizar os volumes do EBS para uma instância usando o console
  1. Abra o console do Amazon EC2.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Na caixa de pesquisa, insira Root device type (Tipo de dispositivo raiz) e selecione EBS. Isso exibe uma lista de instâncias baseadas no EBS.

  4. Selecione a instância desejada e examine os detalhes exibidos na guia Storage (Armazenamento). No mínimo, estarão disponíveis as informações a seguir para o dispositivo raiz:

    • Root device type (Tipo de dispositivo raiz) (por exemplo, EBS)

    • Root Device Name (Nome do dispositivo raiz) (por exemplo, /dev/xvda)

    • Block devices (Dispositivos de blocos) (por exemplo /dev/xvda, /dev/sdf e /dev/sdj)

    Se a instância tiver sido executada com volumes adicionais do EBS usando um mapeamento de dispositivo de bloco, eles aparecerão em Block devices (Dispositivos de bloco). Nenhum dos volumes de armazenamento de instâncias aparece nesta guia.

  5. Para exibir informações adicionais sobre um volume do EBS, escolha seu ID de volume para ir para a página de volume.

Command line

To view the EBS volumes for an instance using the command line (Para visualizar os volumes do EBS para uma instância usando a linha de comando)

Use o comando describe-instances (AWS CLI) ou o comando de Get-EC2Instance (AWS Tools for Windows PowerShell) para enumerar os volumes do EBS no mapeamento de dispositivos de blocos para uma instância.

Visualizar o mapeamento de dispositivos de blocos de instância para volumes de armazenamento de instâncias

O tipo de instância determina o número e o tipo de volumes de armazenamento de instância que estão disponíveis para a instância. Se o número de volumes de armazenamento de instâncias em um mapeamento de dispositivos de blocos exceder o número de volumes de armazenamento de instâncias disponível para uma instância, os volumes adicionais serão ignorados. Para visualizar os volumes de armazenamento de instância da instância, execute o comando lsblk (instâncias do Linux) ou abra o Gerenciamento de Disco do Windows (instâncias do Windows). Para saber a quantidade de volumes de armazenamento de instância que são compatíveis com cada tipo de instância, consulte Amazon EC2 instance type specifications.

Quando você vir o mapeamento de dispositivos de blocos para sua instância, verá somente os volumes do EBS, não os volumes de armazenamento de instâncias. O método a ser usado para visualizar os volumes de armazenamento de instâncias para a instância depende do tipo de volume.

Volumes de armazenamento de instâncias do NVMe

É possível usar o pacote de linha de comando do NVMe, nvme-cli, para consultar os volumes de armazenamento de instâncias do NVMe no mapeamento de dispositivos de blocos. Faça download e instale o pacote de sua instância e execute o seguinte comando.

[ec2-user ~]$ sudo nvme list

Este é um exemplo de saída de uma instância. O texto na coluna Modelo indica se o volume é um volume do EBS ou um volume do armazenamento de instâncias. Neste exemplo, tanto /dev/nvme1n1 como /dev/nvme2n1 são volumes de armazenamento de instâncias.

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

É possível utilizar o Gerenciamento de disco ou o PowerShell para listar volumes NVMe do EBS e do armazenamento de instâncias. Para ter mais informações, consulte Listar volumes do NVMe.

Volumes de armazenamento de instâncias HDD ou SSD

É possível usar os metadados da instância para consultar os volumes de armazenamento de instâncias HDD ou SSD no mapeamento de dispositivos de blocos. Os volumes de armazenamento de instâncias NVMe não estão incluídos.

O URI de base de todas as solicitações de metadados da instância é http://169.254.169.254/latest/. Para ter mais informações, consulte Trabalhar com metadados de instância.

Primeiro, conecte-se à instância em execução. Com base na instância, use esta consulta para obter o mapeamento de dispositivos de blocos.

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/

A resposta inclui o nome dos dispositivo de blocos para a instância. Por exemplo, a saída de uma instância m1.small com armazenamento de instância é semelhante a esta:

ami ephemeral0 root swap

O dispositivo ami é o dispositivo raiz como visto pela instância. Os volumes de armazenamento de instâncias têm o nome ephemeral[0-23]. O dispositivo swap é para o arquivo da página. Se você também tiver mapeado os volumes do EBS, eles serão exibidos como ebs1, ebs2, etc.

Para obter detalhes sobre um dispositivo de blocos individual no mapeamento de dispositivos de blocos, coloque o nome dele na consulta anterior, como mostrado aqui.

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

Primeiro, conecte-se à instância em execução. Com base na instância, use esta consulta para obter o mapeamento de dispositivos de blocos.

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

A resposta inclui o nome dos dispositivo de blocos para a instância. Por exemplo, a saída de uma instância m1.small com armazenamento de instância é semelhante a esta:

ami ephemeral0 root swap

O dispositivo ami é o dispositivo raiz como visto pela instância. Os volumes de armazenamento de instâncias têm o nome ephemeral[0-23]. O dispositivo swap é para o arquivo da página. Se você também tiver mapeado os volumes do EBS, eles serão exibidos como ebs1, ebs2, etc.

Para obter detalhes sobre um dispositivo de blocos individual no mapeamento de dispositivos de blocos, coloque o nome dele na consulta anterior, como mostrado aqui.

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