Der einfachste Weg, die Autoscaling-Gruppe einer Instanz zu finden, besteht darin, die Tags zu untersuchen. Alle Instanzen in einer Autoscaling-Gruppe haben ein Tag mit dem Namen aws:autoscaling:groupName
, das den Gruppennamen enthält. Sie können dieses Tag mit dem folgenden Befehl abrufen:
aws ec2 describe-tags --filters "Name=resource-id,Values=${INSTANCE}" "Name=key,Values=aws:autoscaling:groupName"
Dann können Sie die Tags wie von Bazze beschrieben greifen.
Eine alternative Lösung besteht darin, die Tags von der Autoscaling-Gruppe an die Instanz weiterzugeben.
Wenn Sie Cloudformation zum Erstellen der ASG verwenden, legen Sie diese "PropagateAtLaunch": "true"
für jedes Tag fest, das Sie weitergeben möchten (siehe Aws Cloud Formation Docs ).
Wenn Sie die Gruppe manuell erstellen, aktivieren Sie das Kontrollkästchen "Neue Instanzen markieren" für jedes Tag.
Sobald Sie dies getan haben, werden die Tags in die Instanz kopiert und Sie können die Tags Ihrer Instanz einfach mit dem Befehl beschreiben Tags überprüfen:
aws ec2 describe-tags --filters "Name=resource-id,Values=${INSTANCE}"
Ich finde es jq
hilfreich, die Ausgabe des aws cli-Tools zu verarbeiten. Mit dem folgenden Befehl wird beispielsweise eine key=value
Liste aus dem JSON erstellt:
aws ec2 describe-tags --filters "Name=resource-id,Values=${INSTANCE}" | jq -r '.Tags[] | @text "\(.Key)=\(.Value)"'
Ref
, entsteht eine zirkuläre Abhängigkeit zwischen der Startkonfiguration und dem ASG. Daher müssen Sie die automatische Skalierungs-CLI verwenden.