
Quiero obtener la identificación del volumen adjunta a la instancia, como obtenemos la identificación de la instancia a partir de los metadatos.
InstanceID=`curl http://169.254.169.254/latest/meta-data/instance-id
Respuesta1
Los ID de los volúmenes no están disponibles en los metadatos. Los dispositivos virtuales están disponibles enblock-device-mapping/
Deberá utilizar la CLI de AWS (o script, programa, etc.) para obtener los ID de volumen asignados a una instancia.
Con la CLI:
aws ec2 describe-volumes
El resultado incluirá el ID de instancia al que está asociado un volumen.
Una vez que conozca el ID de la instancia, puede filtrar solo aquellos volúmenes adjuntos a esa instancia:
aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=i-555550604eaf99999
La documentación tendrá más detalles y ejemplos.
Respuesta2
En mi caso, necesitaba recuperar la identificación del volumen en la instancia a la que solo tenía acceso de shell. Necesitaba comunicar la identificación del volumen al cliente que configuró la máquina virtual.
En ese caso, si no tiene el perfil de AWS y solo necesita obtener la identificación del volumen, puede usar la ebsnvme-id
herramienta de AWS que está preinstalada en las distribuciones de Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)
Entonces, por ejemplo:
$ sudo /sbin/ebsnvme-id /dev/nvme1n1
Volume ID: vol-c26087a73f2293647
sdb
Respuesta3
La respuesta ya está dada, pero estaba buscando el volumen adjunto de la instancia actual desde el cual estoy ejecutando la consulta.
Entonces puedes simplemente pasar instance Id
la respuesta curl.
aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
salida de muestra
{
"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
}
]
}