【发布时间】:2015-04-12 03:15:00
【问题描述】:
我正在尝试配置对我的 EB 环境的访问,并希望将 HTTP 访问(通过 ELB)限制为某些 IP 地址。
我有一个开箱即用的 EB 应用程序(实际上是一堆,每个都有几个环境),并且希望能够 (a) 限制对特定 IP 集的访问,同时 (b) 让所有流量都通过ELB。至关重要的是,我想通过 (c) 创建几个组(例如,允许我的 IP 的管理员 SG,允许团队 IP 的开发 SG,以及允许所有 IP 的公共 SG)并应用组来做到这一点根据每个 EB 环境的需要(通常是不同环境的不同组合),而不必在团队成员的 IP 更改或团队成员更改时更新每个环境中的源。我想在不深入研究网络结构的情况下执行此操作,而只使用默认的 EB 结构。
默认 ELB 安全组允许来自所有 IP 的访问,并且不能被编辑(“修改可能会影响未来 ELB 的流量”),所以我似乎(天真地)可以采取三种方法:
为 HTTP 创建一个具有受限 IP 源的新安全组,并将其分配给 ELB 而不是默认的 ELB SG。
为 HTTP 创建一个具有受限 IP 源的新安全组,并将其设置为我环境安全组中的 HTTP 源。
保留默认 ELB,但在我的 EB 环境的安全组中限制允许的源 IP 范围(而不是将 ELB 的 SG 指定为源)。
但是 (1) 似乎要求我还指定新的 SG,而不是默认的 ELB SG,作为我每个环境中的源,并且 (2) 似乎要求我将新的 SG 分配给环境的电子负载均衡器;虽然在 (3) whether traffic goes through or is filtered by the ELB at all 中不清楚。
对于我的目的(至少在理论上)来说,理想的解决方案是使用少量安全组来控制 Web 访问(例如,一个用于将特定 IP 列为来源的管理员用户,另一个用于列出更广泛范围的测试人员IPs,另一个用于公共访问),并酌情将这些分配给环境(作为其 SG 规则的来源)。但是这种方法(基本上是上面的 2)似乎要求我还将组分配给每个环境的 ELB(即我需要结合 1 和 2)。 (这不会那么尴尬,除非克隆的环境似乎为他们的 SG 提供了always have default rules 并且默认为他们的 ELB 的默认 SG。)
所有这些看起来都太麻烦了,表明我缺少一些更简单的方法。我应该如何限制我的 Elastic Beanstalk 环境的负载平衡 Web 流量?
【问题讨论】:
标签: security amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-elb