AWS Fargate 无法通过负载均衡器/public IP 访问 dockerized spring 引导应用程序

AWS Fargate cannot access dockerized spring boot application over Load balancer/ public IP

在创建 AWS fargate 集群后,我已经在 aws ECR 上部署了我的 spring 启动应用程序的 docker 映像。说明任务、安全、服务和集群 definition.I 配置的 PFA 屏幕截图可以成功 ping 我的 public ip。但是我无法通过负载均衡器或 public ip 访问我的应用程序。我尝试访问应用程序的网址是

public_ip:8081/my_rest_end_point

load_balancer_public_dns:8081/my_reset_end_point

我已经使用端口 8081 和我在 Fargate 容器配置中为端口映射配置的相同 8081 端口在本地主机上测试了 运行 我的 docker 图像 (参考:服务定义)。我怎样才能访问我的应用程序?我几乎关注了 Medium 和 AWS 上的所有文章。

教程如下: https://medium.com/underscoretec/deploy-your-own-custom-docker-image-on-amazon-ecs-b1584e62484

https://medium.com/faun/aws-fargate-services-deployment-with-continuous-delivery-pipeline-b67d33407c88

基于评论和聊天讨论。

tutorial followed 创建一个 自定义 VPC,CIDR 范围为 10.0.0.0/16,有两个子网。 没有互联网网关 (IGW);随后,在 VPC 中启动的 Fargate 任务无法访问互联网,也无法从互联网访问。

这个问题有两个解决方案

  • 使用 默认 VPC 可以正确提供互联网访问
  • 创建一个使用 IGW 和相应的 路由表 设置的自定义 VPC(或修改现有 VPC)。 AWS docs.
  • 中有一个具有 Internet 访问权限的自定义 VPC 示例