如何停止AWS上的所有实例,例如具有特定ID的实例

时间:2017-11-25 20:34:45

标签: amazon-web-services amazon-ec2 aws-cli

请帮助我,我想停止所有实例,除了一个实例,例如Instance ID i-0a5fe830efd1f5df3。有这样一个脚本,但它会停止所有实例:

$ 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' '')

我该怎么做?

1 个答案:

答案 0 :(得分:3)

据我所知,没有单个 CLI命令来执行此操作,因为大多数AWS命令都是包含的,而不是独占的。

我会分四步执行此操作:

  • 首先,使用describe-instances获取所有实例的列表。
  • 遍历返回的实例,将每个实例的ID连接到一个新变量instance-ids。当你"instance-id-0" "instance-id-1"变量时,最终结果应该是echo
  • instance-ids变量
  • 中删除要保留的实例的ID
  • 运行terminate-instances将修剪后的instance-ids变量作为--instance-ids参数传递。