Поиск экземпляра ec2 по его имени из инструмента командной строки aws


32

У меня есть экземпляр с именем dev-server-03. Теперь, как я могу искать все dev-server-*экземпляры из командной строки?

Я использую инструмент AWS Cli.


Это зависит от того, как вы назвали экземпляр. Вы установили имя хоста в ОС, на консоли AWS или в обоих?
Крейг Уотсон

Да, внутри имени хоста ОС установлено то же имя.
Шиплу Мокаддим

Ответы:


55

Предполагая, что вы используете соглашение о введении имени экземпляра в тег с ключом «Имя» (это то, что делает консоль AWS при вводе имени), тогда вы можете использовать эту --filtersопцию для перечисления этих экземпляров с помощью AWS-кли:

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
lisak

1
Спасибо, Эрик. Я получил несколько идентификаторов экземпляров в одной строке, используя ваш запрос, но github.com/aws/aws-cli/issues/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.