Я хочу получить идентификатор тома, прикрепленный к экземпляру, например, как мы получаем идентификатор экземпляра из метаданных
InstanceID=`curl http://169.254.169.254/latest/meta-data/instance-id
Идентификаторы томов недоступны из метаданных. Виртуальные устройства доступны в block-device-mapping/
Вам нужно будет использовать интерфейс командной строки AWS (или сценарий, программу и т. Д.), Чтобы получить идентификаторы томов, назначенные экземпляру.
С помощью интерфейса командной строки:
aws ec2 describe-volumes
Вывод будет включать идентификатор экземпляра, к которому прикреплен том.
Как только вы узнаете идентификатор экземпляра, вы можете фильтровать только те тома, подключенные к этому экземпляру:
aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=i-555550604eaf99999
В документации будет больше деталей и примеров.
Ответ уже дан, но я искал прикрепленный том текущего экземпляра, из которого я выполняю запрос.
Так что вы можете просто пройти instance Id
от завитка ответа.
aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
образец вывода
{
"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
}
]
}