
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.
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-id
ferramenta 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 Id
partir 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
}
]
}