【问题标题】:AWS SSM Agent - Using the aws cli, is there a way to list all the AWS instances that are missing the SSM agent?AWS SSM 代理 - 使用 aws cli,有没有办法列出所有缺少 SSM 代理的 AWS 实例?
【发布时间】:2020-03-26 09:57:41
【问题描述】:

我需要审核大量 AWS 账户以确定哪些 EC2 实例缺少 SSM 代理。然后我需要输出所有这些实例及其标签。

Running aws ssm describe-instance-information 列出了所有安装了代理并正在运行的实例,但它没有列出缺少代理或可能被关闭的系统的实例。

【问题讨论】:

  • 值得从 AWS Config 入手,了解它如何帮助您查看合规性历史记录和 SSM 状态管理器关联。
  • 可能无法使用 AWS CLI 列出缺少代理的代理,但您可以使用它列出 all 实例,然后您就可以用代理减去实例。 (例如在 Excel 电子表格中或使用小脚本)

标签: amazon-web-services ssm aws-ssm


【解决方案1】:

这将打印所有实例的列表,并在托管实例下方打印“成功”。

for instance in $(aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --output text )
do;
  managed=$(aws ssm describe-instance-information  --filters "Key=InstanceIds,Values=$instance" --query 'InstanceInformationList[*].[AssociationStatus]' --output text)
  echo "$instance  $managed";
done

要添加一组简单但格式不正确的标签,请将 echo 行替换为

if [[ "$managed" != "Success" ]]; then 
  managed="Fail"; 
fi
echo "$instance  $managed"
aws --profile GC-Staging ec2 describe-instances --instance-id $instance --query 'Reservations[*].Instances[*].[Tags[*].Value]' --output text 

【讨论】:

  • 谢谢!我采用了您所拥有的内容并进行了一些更改以提取某些标签并调整格式。然后运行脚本并将其通过管道传输到 tsv 文件。导入excel,一切都很好。
【解决方案2】:
#!/bin/bash
for instance in $(aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --output text )
do
  managed=$(aws ssm describe-instance-information  --filters "Key=InstanceIds,Values=$instance" --query 'InstanceInformationList[*].[AssociationStatus]' --output text)
  if [[ "$managed" != "Success" ]]; then 
  managed="Not Managed"; 
fi
aws ec2 describe-instances --instance-id $instance --output text --query 'Reservations[*].Instances[*].[InstanceId, Placement.AvailabilityZone, [Tags[?Key==`Name`].Value] [0][0], [Tags[?Key==`App`].Value] [0][0], [Tags[?Key==`Product`].Value] [0][0], [Tags[?Key==`Team`].Value] [0][0] ]' 
echo "$managed"
done

保存并使脚本可执行,然后运行

script.sh > file.tsv

最后导入excel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 2020-11-10
    • 2019-07-27
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多