【发布时间】:2020-08-31 19:25:47
【问题描述】:
问题
我无法从 EC2 实例外部访问正在运行的 docker 映像。
我尝试过的
- 我在 ECS 中创建了一个集群、一个具有相关任务定义的服务和一个 Application Load Balancer。
- 当任务被执行时,我可以在任务中看到来自 Docker 映像的日志:
- 我还看到相关的 EC2 实例正在运行。当我 ssh 进入实例时,我可以看到 docker 映像正在按预期运行:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af20230498fb <ecr-id>.dkr.ecr.eu-central-1.amazonaws.com/app-be:latest "docker-entrypoint.s…" 11 minutes ago Up 11 minutes 0.0.0.0:32805->5001/tcp ecs-app-task-definition-26-app-be-fcf9ffc3f9dadf80d401
5d59c2b2bcaa amazon/amazon-ecs-agent:latest "/agent" 2 hours ago Up 2 hours (healthy) ecs-agent
当我这样做时:
> curl 0.0.0.0:32805/status
{"message":"OK","timestamp":1598871064086}
但是,当尝试从外部访问同一端点时,无论是从 EC2 实例的公共 IP 还是应用程序负载均衡器 DNS,都会超时。
另外:Application Load Balancer 的 /status 运行状况检查也失败,因此任务每 15 分钟重新启动一次。
感谢任何帮助,如果我犯了新手错误,请提前道歉,因为我对 AWS 没有太多经验。
【问题讨论】:
标签: amazon-web-services docker amazon-ec2 amazon-ecs