AWS-CLI:列出自动缩放组的方法

AWS-CLI: Ways to list down autoscalinggroups

有没有办法列出帐户下可用的 AutoScalingGroups 并根据某些标签在其之上进行过滤?
我正在寻找类似 aws ecs list-clusters 的东西,它给出了 ecs 集群的列表。

是的。您可以使用 JMESPath 语法将 aws autoscaling describe-auto-scaling-groups 命令的结果过滤到仅匹配某些标签的 key/value 对的那些组。这使用 --query 参数,该参数可用于过滤大多数 AWS CLI 命令。

单标签查询示例:

下面的示例根据 Key = 'Environment' 和 Value = 'Dev'.

的标签过滤结果
aws autoscaling describe-auto-scaling-groups --query "AutoScalingGroups[? Tags[? (Key=='Environment') && Value=='Dev']]".AutoScalingGroupName

多标签查询示例:

下面的示例根据标签过滤结果,其中 Key = 'Environment' 和 Value = 'Dev',Key = 'Name' 和 Value = 'MyValue'。这使用管道在第一个标签查询的结果自动缩放组上查询第二个标签。

aws autoscaling describe-auto-scaling-groups --query "AutoScalingGroups[? Tags[? (Key=='Environment') && Value=='Dev']] | [? Tags[? Key=='Name' && Value =='MyValue']]".AutoScalingGroupName

进一步阅读

下面的 AWS CLI 命令为 account1 [=15] 的配置文件提供了具有 Key == ProductValue == test 标签的 Auto Scaling 组=]

aws --profile account1 autoscaling describe-auto-scaling-groups \
--query 'AutoScalingGroups[?contains(Tags[?Key==`Product`].Value, `test`)].[AutoScalingGroupName]' --region eu-west-1 --output table