Is it possible to get aws ec2 instance id based on its IP address
Solution 1:
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
Solution 2:
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