Difference between revisions of "Aws ec2 describe-instances"

From wikieduonline
Jump to navigation Jump to search
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{lowercase}}
 
{{lowercase}}
 
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html
 
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html
 
 
 
== Examples ==
 
== Examples ==
* <code>[[aws ec2]] describe-instances</code>
+
* <code>[[Example output: aws ec2 describe-instances]]</code>
 +
* <code>[[aws ec2]] describe-instances [[--instance-ids]] </code>
 
* <code>aws ec2 describe-instances | grep [[InstanceType]]</code>
 
* <code>aws ec2 describe-instances | grep [[InstanceType]]</code>
 
* <code>aws ec2 describe-instances | grep [[AvailabilityZone]]</code>
 
* <code>aws ec2 describe-instances | grep [[AvailabilityZone]]</code>
* <code>aws ec2 describe-instances | egrep "[[InstanceId]]|InstanceType|running"</code>
+
* <code>aws ec2 describe-instances | egrep "[[InstanceId]]|[[InstanceType]]|[[running]]"</code>
 
* <code>aws ec2 describe-instances | egrep "InstanceId|YOUR_INSTANCE_NAME"</code>
 
* <code>aws ec2 describe-instances | egrep "InstanceId|YOUR_INSTANCE_NAME"</code>
 
* <code>aws ec2 describe-instances | [[grep -A1]] '"Key": "Name"'</code>
 
* <code>aws ec2 describe-instances | [[grep -A1]] '"Key": "Name"'</code>
Line 13: Line 12:
 
* <code>aws ec2 describe-instances [[--region]] [[us-west-1]]</code>
 
* <code>aws ec2 describe-instances [[--region]] [[us-west-1]]</code>
 
* <code>aws ec2 describe-instance --filter "Name=tag:Name,Values=YOUR-TAG-NAME" --query "Reservations[].Instances[?State.Name == 'running'].InstanceId[]" --output text)</code>
 
* <code>aws ec2 describe-instance --filter "Name=tag:Name,Values=YOUR-TAG-NAME" --query "Reservations[].Instances[?State.Name == 'running'].InstanceId[]" --output text)</code>
 +
[[Security Group]]
 +
* <code>aws ec2 describe-instances | grep "[[GroupName]]|[[GroupId]]"</code>
 +
 +
=== List [[Instance ID]], [[Type]], status and [[Name]] ===
 +
aws ec2 describe-instances | [[jq -r]] '.Reservations[].Instances[]|.InstanceId+" "+.InstanceType+" "+.State.Name+" "+(.Tags[] | select(.Key == "Name").Value)'
 +
 +
i-001d6ef48fd7da240 [[t3.xlarge]] [[stopped]] YourExample-[[workers]]-Node
 +
i-00b1cf99a8fd118aa [[t2.large]] [[running]] your-machine-name
 +
i-0a81356d71229695f t3.xlarge [[terminated]] YourExample-[[workers]]-Node
 +
<ref>https://www.bluematador.com/learn/aws-cli-cheatsheet</ref>
 +
 +
=== List Instances with [[public IP]] address and [[Name]] ===
 +
[[aws ec2]] describe-instances --query 'Reservations[*].Instances[?not_null([[PublicIpAddress]])]' | jq -r '.[][]|.PublicIpAddress+" "+(.Tags[]|select(.Key=="Name").Value)'
 +
3.125.113.44  your-instance-name1
 +
18.197.142.11  your-instance-name2
 +
3.67.83.67    your-instance-name3
 +
jq: error (at <stdin>:1904): [[Cannot iterate over null]] (null)
 +
 +
Remove Tags filter to avoid list of IPs to be truncated and get full list:
 +
[[aws ec2]] describe-instances --query 'Reservations[*].Instances[?not_null(PublicIpAddress)]' | jq -r '.[][].PublicIpAddress'
 +
 +
=== [[State]] ===
 +
[[aws ec2 describe-instances]] | grep -iA2 -w state | grep Name
 +
 +
export INSTANCE_ID=$(aws ec2 run-instances .../... | [[jq -r]] '.Instances[].InstanceId')
  
 
=== Basic commands ===
 
=== Basic commands ===
Line 32: Line 56:
 
* <code>[[aws ssm start-session]]</code>
 
* <code>[[aws ssm start-session]]</code>
 
* <code>[[aws ssm get-inventory]]</code>
 
* <code>[[aws ssm get-inventory]]</code>
 +
* <code>[[aws ec2 get-console-output]]</code>
 +
* [[GCP]]: <code>[[gcloud compute instances list]]</code>
 +
* <code>[[aws ec2 describe-instance-status]]</code>
  
 
== See also ==
 
== See also ==

Latest revision as of 11:00, 26 February 2024

https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html

Examples[edit]

Security Group

List Instance ID, Type, status and Name[edit]

aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|.InstanceId+" "+.InstanceType+" "+.State.Name+" "+(.Tags[] | select(.Key == "Name").Value)'

i-001d6ef48fd7da240 t3.xlarge stopped YourExample-workers-Node
i-00b1cf99a8fd118aa t2.large running your-machine-name
i-0a81356d71229695f t3.xlarge terminated YourExample-workers-Node

[1]

List Instances with public IP address and Name[edit]

aws ec2 describe-instances --query 'Reservations[*].Instances[?not_null(PublicIpAddress)]' | jq -r '.[][]|.PublicIpAddress+" "+(.Tags[]|select(.Key=="Name").Value)'
3.125.113.44   your-instance-name1
18.197.142.11  your-instance-name2
3.67.83.67     your-instance-name3
jq: error (at <stdin>:1904): Cannot iterate over null (null)
Remove Tags filter to avoid list of IPs to be truncated and get full list:
aws ec2 describe-instances --query 'Reservations[*].Instances[?not_null(PublicIpAddress)]' | jq -r '.[][].PublicIpAddress'

State[edit]

aws ec2 describe-instances | grep -iA2 -w state | grep Name
export INSTANCE_ID=$(aws ec2 run-instances .../... | jq -r '.Instances[].InstanceId')

Basic commands[edit]

aws ec2 describe-instances
An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credential
Solution: Review configuration with aws configure list
  • aws ec2 describe-instances --profile YOUR_PROFILE

Related commands[edit]

See also[edit]

  • https://www.bluematador.com/learn/aws-cli-cheatsheet
  • Advertising: