为 EB 负载均衡器指定安全组
Posted
技术标签:
【中文标题】为 EB 负载均衡器指定安全组【英文标题】:Specifying Security Group for EB Load Balancer 【发布时间】:2014-01-04 00:13:05 【问题描述】:我花了很长时间发现如果我想在 Elastic Beanstalk 上启用 HTTPS,我需要修改安全组。我的意思是在前端,而不是在 EC2 实例上。亚马逊的文档中没有提到这一点。他们有这个不错的开关,您可以在其中启用 HTTPS 并指定端口,但除此之外,我需要转到 EC2 控制台 -> 安全组并找出哪个负载均衡器使用哪个安全组,以及哪个负载均衡器由哪个EB环境。
有没有办法为 Elastic Beanstalk 环境指定安全组?如果不是,负载均衡器是否会在环境重建后“存活”下来,或者如果环境重建,我是否需要重复配置端口?
您的最佳做法是什么? 谢谢!
【问题讨论】:
【参考方案1】:要查找 Elastic Load Balancer 中使用的安全组的名称:
AWS console > Network & Security > Load Balancers
要更改弹性负载均衡器的规则,您可以创建一个新的安全组,然后将其添加到负载均衡器,或者更新现有的安全组。
更改 Elastic Beanstalk 实例的安全组:
AWS console > Elastic Beanstalk > Pick environment > Instances > EC2 Security Groups
该字段包含定义对已启动 EC2 实例的防火墙访问的安全组的名称(逗号分隔)。它将在重建中“幸存下来”。如果在“重建”下,您的意思是代码重新部署。如果您停止/终止 Elastic Beanstalk 环境,设置将会丢失,除非您创建快照。
更新
有一种方法可以配置 Elastic Load Balancer 以“生存”重建。您需要配置自己的 Elastic Load Balancer - Customizing Environment Resources
文档中有一个code snippet 用于ElastiCache 配置,您可以以此为例创建Elastic Load Balancer 资源。
另外,我发现了一个带有 Elastic Load Balancer 配置的 gist,虽然我无法确认它是否是一个工作示例。
希望对你有帮助。
【讨论】:
谢谢,我所说的“重建”并不是指代码重新部署,而是当您单击“重建环境”按钮时会发生什么;) Elastic Beanstalk UI 似乎有点半生不熟诚实的。您有一个可以设置 EC2 安全组的字段,但没有可以设置负载均衡器安全组的字段。 真正的原因可能是抽象复杂性,合理的默认设置,如果你想深入挖掘,总有EC2控制面板。 “重建环境”删除并重新创建指定环境的所有 AWS 资源(例如:Auto Scaling 组、LoadBalancer 等)并强制重启。所以它会丢弃你的 ELB 平衡器以及为它配置的任何东西。 @Klemens 使用 ELB 自定义的详细信息更新了答案。下次我会更加勤奋的阅读问题。以上是关于为 EB 负载均衡器指定安全组的主要内容,如果未能解决你的问题,请参考以下文章
在 Elastic Beanstalk 中,如何使用 .ebextensions 将现有安全组设置为负载均衡器?
在 AWS 中,如何将 Web 服务器安全组配置为仅接受来自 AWS 中的负载均衡器的流量?
在实例安全组的入站部分使用 VPC 的 CIDR 会阻止负载均衡器到达它