Шукайте екземпляр ec2 за його назвою з інструмента командного рядка aws


32

У мене є екземпляр з ім’ям dev-server-03. Тепер, як я можу шукати всі dev-server-*екземпляри з командного рядка?

Я використовую Aws cli інструмент.


Це залежить від того, як ви назвали екземпляр. Ви встановили ім'я хоста всередині ОС, на консолі AWS чи обох?
— Крейг Уотсон

Так, усередині імені хоста ОС встановлено те саме ім'я.
— Шиплу Мокаддім

Відповіді:


55

Якщо припустити, що ви використовуєте умову про введення імені екземпляра в тег з ключем "Ім'я" (це те, що робить консоль AWS під час введення імені), ви можете використовувати --filtersопцію для переліку цих екземплярів з aws-cli:

aws ec2 describe-instances --filters 'Name=tag:Name,Values=dev-server-*'

Якщо ви просто хотіли ідентифікатори екземплярів цих примірників, ви можете використовувати:

aws ec2 describe-instances --filters 'Name=tag:Name,Values=dev-server-*' \
  --output text --query 'Reservations[*].Instances[*].InstanceId'

Примітка: --queryможе знадобитися остання версія aws-cli, але її варто отримати.


1
Омг, мені було потрібно майже півгодини, щоб зрозуміти це ... як це дивно:Name=tag:Name
— листок

1
Дякую Еріку - я отримував кілька ідентифікаторів екземплярів в одному рядку, використовуючи ваш запит, але github.com/aws/aws-cli/isissue/914#issuecomment-56210312 запропонував, --query 'Reservations[].Instances[].[InstanceId]що працює для мене
— jaygooby

3
FWIW, jqінструмент може бути використаний для отримання подібних результатів, aws --queryтаких як цей: - aws ec2 describe-instances | jq '.Reservations[].Instances[].PrivateIpAddress'відмітьте попередню .крапку.
— MarkHu

чи можете ви зробити описи-екземпляри фільтри регістру нечутливі?
— red888

3

Ви можете додатково відфільтрувати ім’я, ідентифікатор примірника та приватний ip із нижче,

aws ec2 describe-instances --filters "Name=tag:Name,Values=*myinstance*" --output json --query 'Reservations[*].Instances[*].[PrivateIpAddress,InstanceId,Tags[?Key==`Name`].Value]' --region us-east-1
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.