amazon-web-services - 直接查询时AWS describe_containers返回空

标签 amazon-web-services boto3 amazon-ecs

我正在使用 boto3 sdk 查询 AWS ECS API,以完整描述 Fargate 集群。

我首先获取集群的服务,然后获取每个服务的任务。

任务包含一个关键的容器,其中包含容器列表。它们各自具有以下形式的 ARN:arn:aws:ecs:eu-west-2:822276179620:container/16328278-00a3-334f-b60c-5e966badd794

然后,我尝试将这些 ARN 传递到 boto3 的 describe_container_instances,传递正确的集群名称以及上述容器 ARN 的列表。它出错,声称容器标识符无效。通过一些实验,我发现,如果我在 container/ 之后分离出 ARN 的一部分并使用它,它不再出现错误,但是,它声称所有的容器实例都是“MISSING”(在“失败”键)。

有趣的是,如果我尝试直接在集群上运行 list_container_instances,它会返回一个空列表(200 响应,没有错误)。

综上所述,API似乎不愿意让我直接看到容器。我只能将它们视为任务对象的成员(该对象不包含我需要的有关它们的所有信息)。

最佳答案

describe_container_instances返回有关容器实例的信息:

Describes Amazon Elastic Container Service container instances. Returns metadata about registered and remaining resources on each container instance requested.

但是,您正在运行 Fargate 集群,因此您无权访问实例。它们由 AWS 管理。

如果您正在运行 EC2-type cluster,您将能够访问容器实例,而不是 Fargate:

EC2 Launch Type: The EC2 launch type allows you to run your containerized applications on a cluster of Amazon EC2 instances that you manage.

关于amazon-web-services - 直接查询时AWS describe_containers返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62656849/

相关文章:

amazon-web-services - 使用 terraform 连接运行 aws 实例

amazon-web-services - CodenameOne 移动应用抛出 SSL 异常连接到使用真实证书(非自签名)的 https 服务器

node.js - 使用aws sdk dynamodb获取项目调用

python - Boto3 在本地和使用 django 应用程序在弹性 beantalk 上生成不同的链接

amazon-web-services - 将Capacity Provider附加到在不同Cloudformation堆栈中创建的ECS集群

java - 如何将文件上传到 AWS S3 Bucket?

python-3.x - 获取访问 key 年龄 AWS Boto3

python - Boto3 S3 实例的 AWS 凭证放置在哪里

amazon-ecs - ECR - 什么是注册表,什么是存储库

amazon-web-services - 部署 CloudFormation 模板导致错误