2016-11-23 1 views
2

Ich versuche, zu feinen OS Namen AWS SDK habe ich versucht, Instanzen verwenden beschreiben:Finden Sie die OS Namen für EC2 AWS SDK

ec2.describe_instances(); 

ich in der Lage, die alle Instanzen zu sammeln, aber nicht in der Lage das Betriebssystem zu bekommen Name für Linux-Instanzen, jede andere Möglichkeit, den Betriebssystemnamen für die Linux-Instanz abzurufen.

+0

Nein . es gibt keine Möglichkeit. – helloV

Antwort

1

Sie können die platform einer Instanz anzuzeigen:

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Platform]' --output text 
i-0c9c9494b3b83afdc None 
i-0ef635853b32f705e windows 
i-3da613a2 None 
i-5d261c40 None 
i-8daa32d2 windows 
i-292b91c7 None 

Wenn die Instanz von Windows ist, dann wird der Wert windows ist, sonst ist es null.

Es gibt keine Möglichkeit, den Betriebssystemnamen zu erhalten (z. B. Redhat, Suse) - dafür könnten Sie den Namen des AMI überprüfen, der zum Starten der Instanz verwendet wurde.

1

Wie @helloV sagt, ist die Betriebssysteminformation nicht, die vom Befehl descriven-Instanzen bereitgestellt wird. Sie könnten es durch Abrufen der Metadaten aus dem AMI der Instanz abrufen.

Hinweis: Dieses Skript ist Hacky und leicht verbessert werden (Änderungen geschätzt)

set -f; IFS=$'\n' # split array on newlines 
for x in $(IFS=$'\n' aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,ImageId]' --output text); do instance=$(echo $x | cut -f1); ami=$(echo $x | cut -f2); echo $instance $ami $(aws ec2 describe-images --image-ids $ami --query Images[*].[Name] --output text); done; 
set +f; unset IFS # reset separator 

Wenn Sie Ami verwenden, das das Basisbild angeben, sollten Sie so etwas wie sehen:

i-abd94ccc ami-a73264ce ubuntu/images/ebs/ubuntu-precise-12.04-amd64-server-20131003 
i-ea827c52 ami-abcdefgh Custom Secret Image 
i-71ccf280 ami-9eaa1cf6 ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-20140927 
i-cb72a300 ami-08ab2f65 k8s-1.3-debian-jessie-amd64-hvm-ebs-2016-06-18 
i-2aaed139 ami-e3c3b8f4 ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20160922 
Verwandte Themen