如何将 AWS Beanstalk IP 列入白名单

Posted

技术标签:

【中文标题】如何将 AWS Beanstalk IP 列入白名单【英文标题】:How to Whitelist AWS Beanstalk IP 【发布时间】:2020-03-31 11:45:35 【问题描述】:

我的实用程序部署在 AWS beanstalk 上,并将一些数据推送到我们客户的一个数据库服务器中。客户希望将 beanstalk 实例的公共 IP 列入白名单,但问题是 beanstalk 处于自动缩放模式并动态生成实例。 有什么办法可以摆脱这种情况?

【问题讨论】:

【参考方案1】:

一种从池中分配静态 IP 并在启动时从用户数据关联静态 IP 的方法,但不推荐这种方法似乎很容易与现有服务器一起使用,您只需要创建一些弹性 IP 并在其中更新用户数据弹性豆茎实例。

using-features-user-data

但您可能会对这里推荐的方法感兴趣。

如何为负载均衡的 Elastic Beanstalk 环境中的所有实例分配静态源 IP 地址?

简短说明

您可以使用网络地址转换 (NAT) 网关来映射 多个 IP 地址合并为一个公开的 IP 地址。什么时候 您的 Elastic Beanstalk 环境使用 NAT 网关、后端 您环境中的实例在私有子网中启动。全部 来自这些实例的出站流量通过 NAT 路由 网关。源自后端实例的所有出站流量 可以由一个弹性 IP 地址唯一标识,它是一个静态的 NAT 网关所需的 IP 地址。

分辨率

在以下步骤中,您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例在使用 NAT 网关的私有子网中启动, 附加弹性 IP 地址,作为默认路由。负载 平衡器位于公共子网中,所有外部流量都在 负载均衡器通过 Internet 网关路由。

对于网卡,选择修改。

对于 VPC,请选择您的 VPC。在里面 负载均衡器设置部分,对于可见性,选择公共。在里面 负载均衡器子网表,选择公共子网。在里面 实例设置部分,清除公共 IP 地址。在实例中 子网表,仅选择具有 NAT 网关的私有子网 你之前设置的。

更多详情,你可以看看这个elastic-beanstalk-static-IP-address

【讨论】:

所以所有入站和出站流量都通过静态 IP 流动?如果我错了,请纠正我。在成功实施后,负载平衡是如何工作的,因为所有入站呼叫和出站呼叫都位于单个 IP 上? 它的出站调用将弹性 ip,其中从 LB 到实例的所有入站都将使用 LB ip 作为实例,我们将在 NAT 后面, 感谢您的回复,我正在尝试做同样的事情,但 beanstalk 抛出错误“至少两个子网应该位于两个不同的区域”。我已经在两个不同的 AZ 有 2 个子网。你对此有什么想法吗?

以上是关于如何将 AWS Beanstalk IP 列入白名单的主要内容,如果未能解决你的问题,请参考以下文章

如何将 AWS RDS 安全组中的 Zapier IP 地址列入白名单

如何使用 .ebextensions 将 Application Load Balancer 固定响应添加到 AWS Elastic Beanstalk

AWS - 如何在不丢失实例和弹性 IP 的情况下暂停 Elastic Beanstalk 环境?

可以将 ip 列入白名单以与 aws 负载均衡器后面的 ec2 实例进行入站通信吗?

如何防止通过 IP 地址访问 AWS beanstalk 应用程序?

如何将公有子网中的 ec2 服务器中私有子网中的弹性 beanstalk 服务器列入白名单?