首页 > 解决方案 > 如何限制仅从内部区域访问 ElasticBeanstalk 端口 80?

问题描述

我有 ElasticBeanstalk 环境,它应该通过 HTTPS 端口向 Internet 公开,但也通过 HTTP 仅向我的云中的某些实例公开。因此它有 2 个听众。EB 为我的环境的 LoadBalancer 安全组自动设置“HTTP ANY IP”入站规则。

现在,我为我的 EB 环境定义了一个 Route 53 别名,例如“myenv.company.internal”。接下来,我curl "http://env1.company.internal"来自某个 EC2 实例,它仅在入站规则为“HTTP ANY IP”时才有效。如果我尝试仅将 HTTP 限制为我的 EC2 实例的安全组,则该实例不能curl.

如何将我的 EB 环境的 HTTP 端口 80 访问限制为仅限于我的云中的某个其他安全组?

标签: amazon-ec2amazon-elastic-beanstalkamazon-route53

解决方案


如何将我的 EB 环境的 HTTP 端口 80 访问限制为仅限于我的云中的某个其他安全组?

对于面向 Internet 的 ALB,您不能这样做。如果您env1.company.internal为公共 ALB 设置私有托管区域记录,它只会解析为ALB 的公共 IP 地址

因此,您不能在 ALB SG 入口规则中使用 SG 来限制流量。这就是为什么它适用于HTTP ANY IP,但不适用于参考 SG。

如果您想解决此问题,可以将弹性 IP附加到其他实例,并将 ALB 上的端口 80 限制为仅允许来自弹性 IP 地址的连接。对于更多实例,您可以使用NAT 网关的公共 IP 地址。


推荐阅读