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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.