我在 AWS 中使用了一些“一次性”服务器,我们正在努力降低这些服务器的成本。
最初,我们正在寻找一个相当基本的“awsec2 停止所有”命令,以便从我们知道将 24/7 全天候运行的服务器上按计划运行。
根据 AWS 的记录,我们似乎需要拉入所有当前正在运行的实例,获取这些实例的 ID,然后将它们传递到命令中,而不是简单地声明我希望关闭所有实例.
有没有更好的方法来收集这些 ID,例如简单地发出“停止所有”?
感谢您的帮助。
最佳答案
AWS CLI 通过 --query 选项提供内置的 JSON 解析。此外,您可以使用 --filter 选项仅对正在运行的实例执行停止命令。
aws ec2 describe-instances \
--filter Name=instance-state-name,Values=running \
--query 'Reservations[].Instances[].InstanceId' \
--output text | xargs aws ec2 stop-instances --instance-ids
关于powershell - AWS EC2 停止所有通过 PowerShell/CMD 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20496327/