【问题标题】:AWS Global Accelerator static IP not workingAWS Global Accelerator 静态 IP 不起作用
【发布时间】:2020-10-05 10:43:46
【问题描述】:

所以我刚刚设置了一个应用程序负载均衡器,但我需要一个静态 IP 来将我的数据库连接列入白名单,我发现 Global Accelerator 可以完成这项工作,所以我已经设置它并将其分配给 ALB。在控制台中一切正常,但是当我 ping 我的域 (www.example.com) 时,我没有看到分配的 2 个静态 IP……当我将两个 IP 都列入白名单时,我的应用程序仍然无法连接。 我做错了吗?

编辑:我的数据库是托管在 Atlas Cloud 上的 Mongo DB。在我的暂存环境中,我已经使用该服务器 IP 地址保护了与单个服务器实例的连接。现在我正在迁移到带有负载均衡器的生产环境,我不太确定如何获得相同的结果,因为我有多个可以通过自动缩放创建/销毁的 EC2 实例。我的想法是我需要将负载均衡器 IP 地址而不是单个实例列入白名单。

【问题讨论】:

  • 您能否澄清一下“需要静态 IP 才能将我的数据库连接列入白名单”的意思?你的数据库在哪里?你能描述一下负载均衡器和数据库之间的关系吗?请编辑您的问题以详细描述您的架构。
  • 当然,我已经在上面更新了。如果您需要更多信息,请告诉我。感谢您的反馈。我相信我可能需要设置一个 VPC 环境来代替我正在研究的环境。

标签: amazon-web-services


【解决方案1】:

我假设您的架构是:

  • 指向 AWS 中的 Application Load Balancer 的域名
  • 负载均衡器指向 Amazon EC2 实例的 Auto Scaling 组
  • EC2 实例指向您的MongoDB database hosted on the Atlas Cloud
  • 您需要一个静态 IP 地址,以便数据库可以允许来自 Amazon EC2 实例的访问

虽然到 EC2 实例的传入流量通过负载均衡器,但请注意,从 EC2 实例到数据库的连接是与数据库建立的单独的出站连接。此流量不通过负载均衡器。从负载均衡器“流出”的唯一流量是对“进来”的请求的响应。

实现这种架构的典型方式是:

  • 公共子网中的负载均衡器
  • 私有子网中自动扩展的 Amazon EC2 实例
  • 一个 公共子网中的 NAT 网关

这样,私有子网中的实例可以通过 NAT 网关访问 Internet,但它们与来自 Internet 的流量完全隔离。 NAT 网关具有静态 IP 地址还有一个额外的好处。通过 NAT 网关到 Internet 的所有流量都将“看起来”来自该 IP 地址。

为了容错,建议在至少两个可用区中放置一个 NAT 网关。每个都有自己的静态 IP 地址。

哦,您可以考虑将您的数据库移至Amazon DocumentDB (with MongoDB Compatibility),这将减少应用服务器和数据库之间的延迟。

【讨论】:

  • 嗨,约翰,感谢您提供明确的反馈。该架构大部分是正确的,增加了 2 个功能:1. 我的域通过 cloudflare 代理并指向 App Load Balancer 和 2. 我有一个内部私有 API 负载均衡器,由我的公共 EC2 实例调用(在公共负载均衡器后面我的域名积分)。我已经开始在上面实施您的解决方案,我有一些问题,但我会创建一个单独的帖子。我查看了 DocumentDB,但它们非常昂贵! Mongo 有一个与 AWS 集成的 VPC 端点选项,我刚刚通过我的私有子网链接了它。慢慢来!
  • 刚刚在此处发布了我对查询的关注,如果您有兴趣:D stackoverflow.com/questions/62415855/vpc-ssl-https-environment
猜你喜欢
  • 1970-01-01
  • 2021-08-12
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 2018-11-04
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多