Pesquise a instância ec2 pelo seu nome na ferramenta de linha de comando aws

32

Eu tenho uma instância nomeada dev-server-03. Agora, como posso pesquisar todas as dev-server-*instâncias na linha de comando?

Estou usando a ferramenta aws cli.

Shiplu Mokaddim
fonte
Isso depende de como você nomeou a instância. Você definiu o nome do host no sistema operacional, no console da AWS ou em ambos?
Craig Watson
Sim, dentro do nome do host do sistema operacional está definido para o mesmo nome.
Shiplu Mokaddim

Respostas:

55

Supondo que você esteja usando a convenção de colocar o nome da instância em uma tag com a chave "Nome" (é isso que o AWS Console faz quando você digita um nome), então você pode usar a --filtersopção para listar essas instâncias com aws-cli:

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

Se você apenas quisesse os IDs dessas instâncias, poderia usar:

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

Nota: --querypode exigir uma versão recente do aws-cli, mas vale a pena obtê-lo.

Eric Hammond
fonte
1
Omg ele me levou quase meia hora para descobrir isso ... quão estranho é o seguinte:Name=tag:Name
lisak
1
Graças Eric - eu estava ficando vários IDs de instância na mesma linha, usando a sua consulta, mas github.com/aws/aws-cli/issues/914#issuecomment-56210312 sugeriu --query 'Reservations[].Instances[].[InstanceId]que funciona para mim
jaygooby
3
FWIW, a jqferramenta pode ser usada para obter resultados semelhantes aos aws --queryseguintes: - aws ec2 describe-instances | jq '.Reservations[].Instances[].PrivateIpAddress'observe o .ponto anterior .
MarkHu
você pode fazer filtros de descrição de instâncias que não diferenciam maiúsculas de minúsculas?
red888
3

Você pode filtrar ainda mais com o nome, o ID da instância e o IP privado abaixo,

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
Siva Prasad Koka
fonte