cómo obtener la identificación del volumen adjunta a la instancia desde AWS CLI

cómo obtener la identificación del volumen adjunta a la instancia desde AWS CLI

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.

describir-volúmenes

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-idherramienta 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 Idla 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
        }
    ]
}

información relacionada