在Elastic Beanstalk中,如何使用.ebextensions将现有安全组设置为负载均衡器?

时间:2016-06-08 11:11:39

标签: amazon-web-services elastic-beanstalk amazon-elb amazon-elastic-beanstalk

我尝试使用.ebextensions在我的Elastic Beanstalk应用程序中为ELB设置现有安全组。

出于某种原因,像。

这样的配置
option_settings:
  aws:elb:loadbalancer:
    SecurityGroups: sg-abcd1234

似乎没有做任何事情。此外,由于现有的SG是严格定义的,我不想使用ManagedSecurityGroup,因为这会修改现有的SG。

任何想法如何实现这一目标?帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

问题是Application Load Balancer aws:elbv2的命名空间(与Elastic Load Balancer classic aws:elb不同)

http://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/environments-cfg-applicationloadbalancer.html

这适用于ALB

option_settings:
  - namespace:  aws:elbv2:loadbalancer
    option_name:  ManagedSecurityGroup
    value:  sg-XXXXXXXX
  - namespace:  aws:elbv2:loadbalancer
    option_name:  SecurityGroups
    value:  sg-XXXXXXXX

答案 1 :(得分:1)

您可以使用SecurityGroups选项设置为ELB指定自己的安全组,beanstalk会将ELB与该安全组关联。此外,beanstalk将创建一个新的安全组,允许在该新安全组的HTTP端口80上进行入口和出口。 Beanstalk不会修改您在上面的选项设置中指定的安全组。

当你说它似乎没有做任何事情时,你的意思是它没有附加在ELB上吗?除了新的安全组之外,它还应该附加到ELB。您可以通过在ELB控制台中检查与ELB关联的安全组来确认。

如果您不希望beanstalk创建新的安全组,那么您也可以指定安全组托管安全组选项设置,但这会更新您的安全组,并提供从该安全组到您的EC2安全组的入口

如果您不想修改安全组,那么使用选项设置即可。它将创建一个新的安全组,并将新的安全组和安全组连接到ELB。如果您可以通过此设置解释您遇到的具体问题,那么我可以解释更多。