我正在尝试配置对EB环境的访问,并希望将HTTP访问(通过ELB)限制为某些IP地址。
我有一个开箱即用的EB应用程序(一堆,实际上,每个都有几个环境),并希望能够(a)限制对特定IP集的访问,同时(b)让所有流量通过ELBs。关键的是,我想通过以下方式做到这一点:(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分配给环境的ELB;虽然在(3)whether traffic goes through or is filtered by the ELB at all中不清楚。
出于我的目的(至少在理论上),理想的解决方案是拥有少量用于控制Web访问的安全组(例如,一个用于将特定IP列为源的管理员用户,另一个用于列出更广范围的测试人员) IP和另一个用于公共访问),并根据需要将这些分配给环境(作为其SG规则的来源)。但是这种方法(基本上是2,上面)似乎要求我也将组分配给每个环境的ELB(即我需要组合1和2)。 (这不会那么尴尬,除了克隆的环境似乎always have default rules为他们的SG并默认为他们的ELB的默认SG。)
所有这一切看起来都太麻烦,并暗示我错过了一些更简单的方法。我应该如何将负载平衡的Web流量限制到我的Elastic Beanstalk环境?
答案 0 :(得分:0)
听起来您想要在VPC中启动您的环境,以便VPC控制访问。
但是,如果您仍然只想使用安全组:
1,但是将其分配给Beanstalk环境,而不是ELB。
您可以告诉Elastic Beanstalk环境使用现有的安全组。 EB仍将创建默认的安全组,但它也将使用您创建的安全组。
您可以在控制台中对其进行编辑:环境 - >配置 - >实例。 但请确保将您的安全组添加到逗号分隔列表中。不要删除已存在的那个。
答案 1 :(得分:0)
您需要做的是转到EC2安全组并创建安全组和访问权限。
设置完成后,这些安全组会转到您的Elastic Beanstalk环境并选择配置,然后选择实例。您将在“服务器”部分下看到一个名为EC2 Security Groups的字段;以及之前创建的安全组(以逗号分隔)的名称。
注意:保留已定义的安全组 注意:默认安全组允许来自ELB的所有流量