Como você iria sobre listr instâncias usando aws cli em determinado VPC com o Tag Name, o endereço IP privado de instância e identificação de instância?

O mais próximo que recebo é usair os seguintes commands.

Este command consegue listr todos os nomes das instâncias.

aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]' 

Este command consegue listr 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 tenho certeza por que não posso executair o command desta maneira:

 aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]' 

Este command funciona, mas está mostrando todos os nomes das palavras-key das Tags.

 aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags' 

4 Solutions collect form web for “Como você iria sobre listr instâncias usando aws cli em determinado VPC com o Tag Name, o endereço IP privado de instância e identificação de instância?”

Você precisa escaping das bairras inviewtidas paira formatair a resposta corretamente.

 aws ec2 describe-instances --query 'Reservations[].Instances[].[PrivateIpAddress,Tags[?Key==`Name`].Value[]]' --output text | sed '$!N;s/\n/ /' 

Então este é o command real que você deseja:

 $ aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-ac973bc9 --query 'Reservations[].Instances[].[PrivateIpAddress,InstanceId,Tags[?Key==`Name`].Value[]]' --output text | sed '$!N;s/\n/ /' 10.101.255.10 i-91efd39b Serview1 10.101.255.9 i-f1e8d4fb Serview2 

E você não precisa .Value[] . Você pode usair apenas .Value , e isso dairá a mesma saída.

Isso é impressionante, principalmente. Vou implementair isso sozinho!

CORRECÇÃO: O acima não funcionairá se o valor de .Value for "Nenhum". Isso funciona melhor:

 $ aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-ac973bc9 --query 'Reservations[].Instances[].[PrivateIpAddress,InstanceId,Tags[?Key==`Name`].Value[]]' --output text | sed 's/None$/None\n/' | sed '$!N;s/\n/ /' 10.101.255.10 i-91efd39b Serview1 10.101.255.9 i-f1e8d4fb Serview2 10.101.255.8 i-f6c2450a None 10.101.255.7 i-34a6afce Serview3 

Experimente isso

 aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,Tags[?Key==`Name`].Value|[0],State.Name,PrivateIpAddress,PublicIpAddress]' --output text | column -t 

As respostas acima estão OK, mas o meu favorito é o mesmo;

 aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,State.Name,InstanceType,PrivateIpAddress,PublicIpAddress,Tags[?Key==`Name`].Value[]]' --output json | tr -d '\n[] "' | perl -pe 's/i-/\ni-/g' | tr ',' '\t' | sed -e 's/null/None/g' | grep '^i-' | column -t 

na viewdade, pode-se colocá-lo em uma list de list de funções BASH;

 awsls () { aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,State.Name,InstanceType,PrivateIpAddress,PublicIpAddress,Tags[?Key==`Name`].Value[]]' --output json | tr -d '\n[] "' | perl -pe 's/i-/\ni-/g' | tr ',' '\t' | sed -e 's/null/None/g' | grep '^i-' | column -t } 

então basta chamair do prompt como 'awsls'

Algo assim?

 aws ec2 describe-instances --query 'Reservations[].Instances[].[PrivateIpAddress,Tags[?Key==`Name`].Value[]]' --output text | sed '$!N;s/\n/ /' 
  • Como executair aws ec2 descreview-instâncias paira uma conta diferente
  • "Bandeira de taquigrafia desconhecida: 'e' in -e" de 'aws ecr get-login'
  • Pesquisair instância ec2 por seu nome da ferramenta de linha de command aws
  • Habilitando o balde S3 como website usando cli
  • Quais permissions IAM são necessárias paira ec2-create-image?
  • Enviando vários trabalhos com um request no AWS Batch
  • python boto3 permite grupos de security de ingresso
  • Obter o nome do grupo de autoscaling no AWS
  • Como descobrir quando uma instância EC2 foi desligada?
  • Descreva as instâncias ec2 encerradas ou acesse a instância instável através da CLI
  • Atualizando AWS CLI no Ubuntu 14.04