【问题标题】:AWS Fargate cannot access dockerized spring boot application over Load balancer/ public IPAWS Fargate 无法通过负载均衡器/公共 IP 访问 dockerized spring boot 应用程序
【发布时间】:2020-11-30 19:06:43
【问题描述】:

在创建 AWS fargate 集群之后,我已经通过 aws ECR 部署了我的 Spring Boot 应用程序的 docker 映像。说明任务、安全、服务和集群定义的配置的 PFA 屏幕截图。我可以成功 ping 我的公共 ip。但是我无法通过负载均衡器和公共 IP 访问我的应用程序。我尝试访问应用程序的网址是

public_ip:8081/my_rest_end_point

load_balancer_public_dns:8081/my_reset_end_point

我已测试使用端口 8081 在本地主机上运行我的 docker 映像,以及我在 Fargate 容器配置中为端口映射配置的相同 8081 端口 (参考:服务定义)。如何访问我的应用程序?我几乎关注了 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

【问题讨论】:

  • 你能提供你的 ALB 的设置,结束它的目标群体吗?
  • @Marcin ALB 设置和目标组已更新!
  • 如果您使用动态端口映射,那么您的 Fargate 任务 SG 必须允许来自您的 LB 的所有端口,或者只允许所有端口。不仅是 8081。
  • @Marcin 在安全设置中我还配置了所有端口的所有流量,刚刚附上截图!
  • 截图显示IPv4还是8081,所有端口都是IPv6的。

标签: amazon-web-services spring-boot docker amazon-ecs aws-fargate


【解决方案1】:

基于cmets和聊天讨论。

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

这个问题有两种解决方案

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

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2021-12-03
    相关资源
    最近更新 更多