So erhalten Sie die einer Instanz über die AWS-Befehlszeilenschnittstelle zugeordnete Volume-ID

So erhalten Sie die einer Instanz über die AWS-Befehlszeilenschnittstelle zugeordnete Volume-ID

ich möchte die Volume-ID erhalten, die an die Instanz angehängt ist, so wie wir die Instanz-ID aus den Metadaten erhalten

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

Antwort1

Die Volume-IDs sind in den Metadaten nicht verfügbar. Die virtuellen Geräte sind verfügbar unterblock-device-mapping/

Sie müssen die AWS CLI (oder ein Skript, Programm usw.) verwenden, um die einer Instanz zugewiesenen Volume-IDs abzurufen.

Mit der CLI:

aws ec2 describe-volumes

Die Ausgabe enthält die Instanz-ID, an die ein Volume angehängt ist.

Sobald Sie die Instanz-ID kennen, können Sie nur nach den Volumes filtern, die an diese Instanz angeschlossen sind:

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

Die Dokumentation enthält weitere Einzelheiten und Beispiele.

beschreiben-volumes

Antwort2

In meinem Fall musste ich die Volume-ID der Instanz abrufen, auf die ich nur Shell-Zugriff hatte. Ich musste die Volume-ID dem Kunden mitteilen, der die VM eingerichtet hat.

In diesem Fall können Sie, wenn Sie nicht über das AWS-Profil verfügen und nur die Volume-ID abrufen müssen, das ebsnvme-idauf Linux-Distributionen vorinstallierte AWS-Tool verwenden (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)

Also zB.:

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

Antwort3

Die Antwort wurde bereits gegeben, aber ich habe nach dem aktuellen Instanzanhängevolume gesucht, von dem aus ich die Abfrage ausführe.

Sie können also einfach instance Iddie Curl-Antwort übergeben.

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

Beispielausgabe

{
    "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
        }
    ]
}

verwandte Informationen