
Ich versuche, mithilfe der CLI eine Instanz in ec2 zu erstellen. Gibt es eine Möglichkeit, Tags für die Instanz anzugeben, wenn ich die CLI zum Erstellen von Instanzen verwende?
aws ec2 run-instances --image-id $ami_id --key-name $deployment_key_name \
--region $region --security-groups default --instance-type m4.large \
--user-data file://./yaml/master.yaml
Antwort1
Ab dem 28. März 2017 können Sie als Teil des run-instances
Befehls Tags für Instanzen (und angeschlossene Volumes) angeben.
Beispiel:
aws ec2 run-instances --image-id ami-abc12345 --count 1 \
--instance-type t2.micro --key-name MyKeyPair \
--subnet-id subnet-6e7f829e \
--tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'
Ankündigungs-Blogbeitrag: https://aws.amazon.com/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/
Zusätzliche Dokumentation (siehe Beispiel 4): http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_CLI
Antwort2
Verwenden Sie dieaws ec2 - Tags erstellenBefehl anschließend, um Tags nach Instanz-ID hinzuzufügen.
Antwort3
Hier ist mein Vorschlag und eine Möglichkeit, ihn zu überprüfen:
Ich verwende SSO mit dem Profilnamen ATeam. Sie müssen dies in Ihren Konfigurations- und Anmeldeinformationendateien entsprechend aktualisieren.
Erstellen Sie die Instanz:
aws ec2 run-instances \
--image-id ami-0578f2b35d0328762 \
--instance-type t2.micro \
--security-group-ids sg-065d064965244f9a0 \
--subnet-id subnet-00d93c6b00c0a6ccb \
--key-name devass \
--user-data file://ec2-user-data-web-app.md \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=pub_1},{Key=Group,Value=devass},{Key=LifeCycle,Value=development}]' \
--count 1 \
--profile ATeam
Überprüfen Sie die wichtigen Instanzinformationen. Leider muss die Abfrage in einer Zeile stehen, da ich keine Möglichkeit gefunden habe, sie auf mehrere Zeilen aufzuteilen.
aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId,PublicIP:PublicIpAddress,Name:Tags[?Key=='Name']|[0].Value,Group:Tags[?Key=='Group']|[0].Value,LifeCycle:Tags[?Key=='LifeCycle']|[0].Value,Status:State.Name}" \
--profile ATeam \
--output table
Ergebnis: Konsolenausgabe für „describe-instances“