amazon-ec2 - 如何限制仅从内部区域访问 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 访问限制为仅限于我的云中的某个其他安全组?
解决方案
如何将我的 EB 环境的 HTTP 端口 80 访问限制为仅限于我的云中的某个其他安全组?
对于面向 Internet 的 ALB,您不能这样做。如果您env1.company.internal
为公共 ALB 设置私有托管区域记录,它只会解析为ALB 的公共 IP 地址。
因此,您不能在 ALB SG 入口规则中使用 SG 来限制流量。这就是为什么它适用于HTTP ANY IP
,但不适用于参考 SG。
如果您想解决此问题,可以将弹性 IP附加到其他实例,并将 ALB 上的端口 80 限制为仅允许来自弹性 IP 地址的连接。对于更多实例,您可以使用NAT 网关的公共 IP 地址。
推荐阅读
- grep - grep 问题 - 尝试在包含 2 个以上特定字符的文本文件中显示行
- c++ - 我怎么知道两个整数的乘积会超过最大整数存储?
- java - 如何限制点击事件,例如每天 5 次,然后禁用它并仅在第二天启用点击?
- python - 如何使用正则表达式在字符串中查找重复的字母 - Python3
- c - 凯撒密码帮助,找出空格、整数和特殊字符
- angular - “AngularFirestoreDocument”类型上不存在属性“withConverter”
- ios - 播放从 Google Text 到 Speech Api 检索的音频数据
- c++ - 交换参数列表 C++ 中的两个字符串
- visual-studio-code - 禁用和启用 VS Code 扩展
- javascript - 在当前 div 之前获取所有孩子的身高?