2017-11-25 2 views
-3

Helfen Sie mir, bitte, ich möchte alle Instanzen außer einer, die zum Beispiel Instance ID i-0a5fe830efd1f5df3 hat. Es gibt ein solches Skript, aber es stoppt alle Instanzen:Wie alle Instanzen auf AWS außer einem, zum Beispiel mit einer bestimmten ID zu stoppen

$ aws ec2 terminate-instance -instance-ids $ (aws ec2 describe-instances 
--filters "Name = instance-state-name, Values = pending, running, stop, stopping" 
--query "Reservations []. Instances []. [InstanceId]" --outout text | tr '\ n' '') 

Wie kann ich das tun?

Antwort

3

Nach meinem Wissen gibt es keine einzigen CLI-Befehl, um diese Operation zu tun, da die meisten AWS-Befehle inklusive sind, nicht exklusiv.

Ich würde diese Operation in vier Schritten durchführen:

  • Zuerst describe-instances verwenden, um eine Liste aller Instanzen zu erhalten.
  • Iterieren durch die zurückgegebenen Instanzen, Verkettung der ID jeder Instanz auf eine neue Variable instance-ids. Das Endergebnis sollte wie "instance-id-0" "instance-id-1" aussehen, wenn Sie die Variable echo.
  • Entfernen Sie die ID der Instanz, die Sie aus der instance-ids Variable
  • Lauf terminate-instances Gang in Ihrem getrimmt instance-ids Variable als Argument --instance-ids behalten wollen.
Verwandte Themen