como obter o ID do volume anexado à instância da AWS CLI

como obter o ID do volume anexado à instância da AWS CLI

eu quero obter o ID do volume anexado à instância, da mesma forma que obtemos o ID da instância dos metadados

InstanceID=`curl http://169.254.169.254/latest/meta-data/instance-id

Responder1

Os IDs dos volumes não estão disponíveis nos metadados. Os dispositivos virtuais estão disponíveis emblock-device-mapping/

Você precisará usar a AWS CLI (ou script, programa, etc.) para obter os IDs de volume atribuídos a uma instância.

Com a CLI:

aws ec2 describe-volumes

A saída incluirá o ID da instância à qual um volume está anexado.

Depois de saber o ID da instância, você poderá filtrar apenas os volumes anexados a essa instância:

aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=i-555550604eaf99999

A documentação terá mais detalhes e exemplos.

descrever volumes

Responder2

No meu caso, eu precisava recuperar o ID do volume na instância à qual eu só tinha acesso ao shell. Eu precisava comunicar o ID do volume ao cliente que configurou a VM.

Nesse caso, se você não possui o perfil aws e precisa apenas obter o ID do volume, você pode usar a ebsnvme-idferramenta aws que está pré-instalada nas distros Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)

Então, por exemplo:

$ sudo /sbin/ebsnvme-id /dev/nvme1n1
Volume ID: vol-c26087a73f2293647
sdb

Responder3

A resposta já foi dada, mas eu estava procurando o volume de anexação da instância atual a partir do qual estou executando a consulta.

Então você pode simplesmente passar a instance Idpartir da resposta curl.

aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)

saída de amostra

{
    "Volumes": [
        {
            "AvailabilityZone": "us-west-2b", 
            "Attachments": [
                {
                    "AttachTime": "2018-03-01T07:47:43.000Z", 
                    "InstanceId": "i-abcdedf", 
                    "VolumeId": "vol-12345", 
                    "State": "attached", 
                    "DeleteOnTermination": true, 
                    "Device": "/dev/xvda"
                }
            ], 
            "Encrypted": false, 
            "VolumeType": "gp2", 
            "VolumeId": "vol-123456", 
            "State": "in-use", 
            "Iops": 450, 
            "SnapshotId": "snap-1234", 
            "CreateTime": "2018-03-01T07:47:43.261Z", 
            "Size": 150
        }
    ]
}

informação relacionada