Шукайте екземпляр 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.