Извлечение системной информации за один раз из ec2-экземпляров

336
Prashast

У меня почти 150 ec2-экземпляров в аккаунте. Я хочу извлечь системную информацию из каждого экземпляра. Я знаю, что могу индивидуально войти в каждую систему и получить информацию, используя определенную команду. Но я хочу всю информацию за один раз. Я могу написать простой скрипт, но проблема в том, что у меня есть хост-бастион, а затем мне нужно ssh для каждого экземпляра, и имя пользователя отличается. Примером для некоторого экземпляра его ec2-user@2.2.2.2 и для некоторого его centos@3.3.3.3.

ssh -i "prod-key-pair.pem" ec2-user@ec2-1-9-1-2.compute-1.amazonaws.com ssh -i "sandbox-key-pair.pem" centos@1.1.4.2 'bash -s' << EOF cat /etc/*-release|grep -m 1 NAME >>os_detail.txt ifconfig | grep inet |head -1 |awk -F ' ' '' >>os_detail.txt EOF 

Мой вопрос заключается в том, каким образом он может выбрать и centos, и ec2-пользователя один за другим, и если ему не удастся использовать centos, ему следует попробовать ec2-user. Во-вторых, две команды при выполнении создают файлы на сервере, но я хочу, чтобы эти файлы были в моей локальной системе, откуда я запускаю скрипт.

Любые указатели о том, как я могу решить эту проблему?

0
Обратите внимание, что https://superuser.com не является бесплатным сервисом для написания скриптов / кодов. Если вы сообщите нам, что вы уже пробовали (включая скрипты / код, который вы уже используете) и где вы застряли, мы можем попытаться помочь с конкретными проблемами. Вам также следует прочитать [Как мне задать хороший вопрос?] (Https://superuser.com/help/how-to-ask). DavidPostill 6 лет назад 0
@DavidPostill: я обновил вопрос соответственно Prashast 6 лет назад 0

1 ответ на вопрос

0
supreet

Примерно в 2017 году мероприятие re: изобретать AWS запустило запущенный Amazon EC2 Systems Manager . Этот сервис можно использовать для удаленного запуска сценариев ( rundocument SSM ) / команд ( SSM runcommand ) через API, предоставляемые Amazon.

По умолчанию в последних экземплярах Windows и Amazon Linux по умолчанию установлен агент SSM. Остальные нуждаются в ручной установке, которая проста и однократно.

У них есть документы, в которых мы можем создавать или использовать существующие документы и запускать их на машинах, которые мы перечислили. Мы получаем необходимый вывод, сгенерированный из этих команд через ответ API.

Чтобы включить эту службу, мы должны убедиться, что для роли IAM, назначенной экземпляру EC2, включено разрешение SSM.

Вот несколько ссылок для дальнейшей помощи:

  1. https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html
  2. https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html

Чтобы получить метаданные экземпляра, вы можете использовать эту команду из экземпляра.

wget -q -O - http://169.254.169.254/latest/meta-data/instance-id

Похожие вопросы