Skip to content

Instantly share code, notes, and snippets.

@mlf4aiur
Last active July 12, 2018 23:14
Show Gist options
  • Select an option

  • Save mlf4aiur/0a9dcb8634ddd2462ad6a59aa06d4e2b to your computer and use it in GitHub Desktop.

Select an option

Save mlf4aiur/0a9dcb8634ddd2462ad6a59aa06d4e2b to your computer and use it in GitHub Desktop.
Get AWS ECS cluster instance IPs
function get_ecs_cluster_instance_ips () {
local cluster_name=$1
local container_arns
local ec2_instance_ids
# Get container instances
container_arns=$(aws --output json \
ecs list-container-instances \
--cluster "${cluster_name}" | \
jq '.containerInstanceArns[]' | tr -d '"' | tr "\n" " ")
# Get EC2 instance ids
ec2_instance_ids=$(aws --output json \
ecs describe-container-instances \
--cluster "${cluster_name}" --container-instances ${container_arns} | \
jq '.containerInstances[].ec2InstanceId' | tr -d '"' | tr "\n" " ")
# Get EC2 instance ips
ec2_instance_private_ips=$(aws --output json \
ec2 describe-instances \
--instance-ids ${ec2_instance_ids} | \
jq '.Reservations[].Instances[].PrivateIpAddress' | tr -d '"')
echo "Cluster: ${cluster_name}"
echo ec2_instance_private_ips:
echo "${ec2_instance_private_ips}"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment