Назад | Перейти на главную страницу

AWS EC2 Описание экземпляров - фильтрация по нескольким тегам EC2?

Я пытаюсь динамически создать сопоставление файлов hosts со всеми частными IP-адресами моего экземпляра ec2, чтобы использовать его в качестве / etc / hosts на моем удаленном ssh-сервере ec2.

У меня есть экземпляры, помеченные их обычным «Именем», например. prod-database-01 и тег «Псевдоним», например. db-01. Цель состоит в том, чтобы иметь возможность использовать "ssh db-01" из моего окна ssh и иметь правильное сопоставление, даже если сервер был только что развернут или автоматически масштабирован.

Для любого экземпляра с состоянием "Работает" т.е. активные серверы, я пытаюсь заставить cli выводить имя, псевдоним и частный IP-адрес в JSON или что-то в этом роде, для чего я могу затем создать файл hosts.

Однако я застрял при попытке вывести второй тег «Псевдоним».

Это то, что у меня есть до сих пор, что выводит «Имя», «PrivateIP», «Состояние».

Хотите знать, как я могу выполнить итерацию и вывести дополнительный тег Alias?

aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],PrivateIpAddress,State.Name ]' --output json

Он должен работать, если вы добавите запрос тега псевдонима, как вы сделали запрос имени:

aws ec2 describe-instances --filters  "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],[Tags[?Key==`Alias`].Value][0][0],PrivateIpAddress,State.Name ]' --output json