15

I have list of IP addressed, I want to find if instances associated with the IP address are still running or terminated. I am launching and terminating lot of instances on daily basis, just want to remove their certificates from puppetmaster.

If there is any alternative method, I can achieve my goal, I can do that.

Ramesh Kumar
  • 1,690
  • 5
  • 18
  • 29

4 Answers4

24

aws ec2 describe-instances --filter Name=ip-address,Values=IP_1,..IP_N

Should do what you need.

use the filter name of private-ip-address to select using private address in your VPC.

Pipe through something like

jq -r '.Reservations[].Instances[] | .InstanceId, .PublicIpAddress'

if you want the corresponding InstanceID

Jamie W
  • 366
  • 2
  • 4
  • 4
    You don't need to use `jq`, you can pass a `--query` option to extract parts of the output: `aws ec2 describe-instances --filter Name=ip-address,Values=IP_1,..IP_N --query 'Reservations[].Instances[].[InstanceId,PublicIpAddress]`See [Controlling Command Output from the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html) for more details. Note that `--query` uses [JMESPath](http://jmespath.org/), which is slightly different from `jq`. – markusk Sep 13 '18 at 08:52
10

You can use --query and --output formats if you want to use this in a bash script.

aws ec2 describe-instances --filter Name=private-ip-address,Values=x.x.x.x --query 'Reservations[].Instances[].InstanceId' --output text

This will give you text response without json formatting

i-03c1ad0d6abe32323
Mihir Bhende
  • 201
  • 2
  • 3
1

An alternative approach would be to use CloudWatch Events to listen for EC2 instances being terminated, and have the listener (which could be a Lambda function, or some custom service listening to SQS) remove the corresponding certificates from Puppet.

References:

markusk
  • 485
  • 6
  • 9
0

You can use grep

 aws ec2 describe-instances --filter Name=private-ip-address,Values=x.x.x.x | grep 'InstanceId'

Note: dont use InstanceId keyword in Tag or Name

Chau Giang
  • 101
  • 2