我们有一个 Fargate 服务,该服务应该通过负载均衡器暴露给互联网,并且由于我们到目前为止在测试中都使用了任务的随机公共 IP,因此我们决定禁用公共 IP,这样服务任务就只能通过负载均衡器访问了。
但是,禁用公共 IP 似乎会使 Fargate 内的容器无法从 S3 下载环境文件。奇怪的是,虽然从 ECR 提取了图像,但尝试获取环境文件时任务失败。
根据这个:https://aws.amazon.com/premiumsupport/knowledge-center/ecs-task-environment-variables/
如果您的 ECS 任务位于公共子网中,请验证以下内容:确保该任务已启用公共 IP 地址。
该服务位于公共子网中,因此我们应该拥有公共 IP。
公共子网本身应该可以访问互联网,这有什么原因吗?而且 ECR 拉取为什么能起作用呢?
谢谢
答案1
您说您禁用了公共 IP。容器/服务器需要公共 IP 才能通过互联网网关到达 S3。
如果你想在没有公共 IP 的情况下访问 S3,请使用S3 VPC 终端节点。