Created
July 3, 2020 07:01
-
-
Save adiii717/bbfdfaad6e2930bc1ee1003587bbb908 to your computer and use it in GitHub Desktop.
Get EC2 IP address for all tasks running in a particular AWS ECS services against cluster
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
CLUSTER_NAME="mycluster" | |
SERVICE_NAME="app-service" | |
REGION="us-west-2" | |
echo "[INFO] Fetching tasks list for Cluster: $CLUSTER_NAME and Service: $SERVICE_NAME" | |
TASKS_ARN=($(aws ecs list-tasks --cluster $CLUSTER_NAME --service $SERVICE_NAME --query 'taskArns[]' --output text)) | |
for task in ${!TASKS_ARN[@]}; do | |
container_instances=$(aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks ${TASKS_ARN[$task]} --query 'tasks[].containerInstanceArn' --output text) | |
ec2_instance_id=$(aws ecs describe-container-instances --cluster $CLUSTER_NAME --container-instances $container_instances --region $REGION --query 'containerInstances[*].ec2InstanceId' --output text) | |
ec2_ip=$(aws ec2 describe-instances --instance-id $ec2_instance_id --query 'Reservations[].Instances[].PublicIpAddress' --output text) | |
echo "[INFO] Task having ARN ${TASKS_ARN[$task]} runnng on EC2 machine having IP: $ec2_ip" | |
echo "[INFO] Fetchec completed for task number $(($task+1)) out of ${#TASKS_ARN[@]},having Task ARN: ${TASKS_ARN[$task]}" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment