AWS Агент SSM - Используя aws cli, есть ли способ перечислить все экземпляры AWS, в которых отсутствует агент SSM? - PullRequest
1 голос
/ 06 февраля 2020

Мне нужно провести аудит большого количества учетных записей AWS, чтобы определить, в каких экземплярах EC2 отсутствует агент SSM. Затем мне нужно вывести все эти экземпляры и их теги.

Running aws ssm describe-instance-information перечисляет все экземпляры, в которых установлен и работает агент, но не перечисляет экземпляры, в которых отсутствует агент или системы, которые может быть выключен.

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Будет напечатан список всех ваших экземпляров с «успехом», напечатанным под управляемыми.

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

Чтобы добавить простой, но не отформатированный набор тегов, замените строку эха с

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 
0 голосов
/ 26 марта 2020
#!/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

...