O mais próximo que eu chego é usando os seguintes comandos.
Este comando consegue listar todos os nomes de instâncias.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
Este comando consegue listar todos os endereços IP privados, ID da instância e TODAS as tags que eu não preciso. Eu só preciso do nome.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
Não sei por que não consigo executar o comando desta maneira:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
Este comando funciona, mas está mostrando todos os nomes das Tags Tags.
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
] .Value []" como um filtro para a saída do Valor do Nome da Chave só é possível após o aws-cli v1.3.0. E eu estou usando uma combinação de --filter e jq para obter a saída que eu quero. O comando mais próximo é instâncias de descrição do aws ec2 --filters Nome = vpc-id, Valores = vpc-e2f17e8b | jq '.Reservations []. Instâncias [] | {PrivateIpAddress, InstanceId, Tags} 'Eu só preciso saber como referenciar a Tag Key = Name usando jq.Respostas:
Você precisa escapar das barras invertidas para formatar a resposta corretamente.
Portanto, este é o comando real que você deseja:
E você não precisa
.Value[]
. Você pode simplesmente usar.Value
, e isso dará a mesma saída.Isso é incrível, aliás. Eu mesmo implementarei isso!
CORREÇÃO: O item acima não funcionará se o valor de
.Value
for "Nenhum". Isso funciona melhor:fonte
Tente isto
fonte
|
é algum tipo de filtro?As respostas acima são boas, mas a minha favorita é a mesma;
de fato, pode-se colocá-lo em uma lista da lista de funções do BASH;
basta chamar a partir do prompt como 'awsls'
fonte
Algo assim?
fonte
Eu adicionei um filtro para o estado da instância "running". Publicá-lo aqui, caso seja útil para qualquer pessoa.
Meu caso de uso é um pouco diferente, estou gerando arquivos de host Ansible, então só quero o nome do IP # privado em todos os hosts em execução.
fonte
Adicionando isso às pessoas que encontrarão esta postagem ao pesquisar como obter as informações da sua instância. Você pode adicionar VPC na instrução select para receber isso também.
No PowerShell você pode usar:
Com a CLI da AWS, você pode usar:
fonte