使用aws cli可以找到在EC2实例中运行的任务。我尝试过
aws ecs describe-container-instances --cluster my-prod --container-instances xxxxx-b5ab-4606-b8ec-xxxxxxxxx --region us-east-1 --profile mfa
但它没有返回此类信息。
从控制台浏览器的“ ECS实例”选项卡下,如果我在“容器实例”下选择,则可以获取此信息。
答案 0 :(得分:1)
您可以尝试以下脚本
#!/bin/bash
CLUSTER_NAME=my-cluster
CONTAINER_INSTANCE="$(aws ecs list-container-instances --cluster $CLUSTER_NAME --query 'containerInstanceArns[]' --output text)"
for container in $CONTAINER_INSTANCE; do
TASK=$(aws ecs list-tasks --cluster $CLUSTER_NAME --container-instance $container --query 'taskArns[]' --output text)
EC2_INSTANCE_ID=$(aws ecs describe-container-instances --cluster $CLUSTER_NAME --container-instances $container --region us-west-2 --query 'containerInstances[*].ec2InstanceId' --output text)
echo "**************************************"
echo "ECS TASK having ARN is $TASK"
echo "Running in EC2 instance having ID $EC2_INSTANCE_ID"
done
Find instance or instance ID of AWS ECS running TASK or Services
您可能对此也有兴趣get-ecsIP-for-ecs-service