使用aws cli可以找到ECS实例中正在运行的任务

时间:2020-06-24 01:34:36

标签: aws-cli amazon-ecs

使用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实例”选项卡下,如果我在“容器实例”下选择,则可以获取此信息。

1 个答案:

答案 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