我在 cloudformation 中有一个堆栈,其中包含具有自动扩展 EC2 实例的 ECS 集群,在私有子网中运行。ECS 由 ALB 覆盖(在公共子网中)。容器实例从 AWS ECR 获取映像。我创建了以下 VPC 端点:
s3 vpc gateway endpoint
api.ecr endpoint
dkr.ecr endpoint
ecs endpoint
ecs-telemetry endpoint
ecs-agent endpoint
有包含到 的路由的私有子网路由表s3 vpc gateway endpoint
,以及包含到互联网网关(0.0.0.0/0)的路由的公有子网路由表,见方案:
在没有 vpc 端点和 NAT 网关(位于公共子网中)的情况下一切都可以正常工作,但没有它们就无法正常工作。
我收到的错误:.. was unable to place a task because no container instance met all of its requirements. No container instances were found in your cluster
但 EC2 实例确实已创建,并具有正确的 AMI(我通过 Reach 分析器检查它们可以到达所有 vpc 端点)。VPC ecs+ecr 端点由这些官方来源配置(ECS 文档)。
您是否经历过类似的事情或知道如何调试这个问题?