我尝试使用.ebextensions
在我的Elastic Beanstalk应用程序中为ELB设置现有安全组。
出于某种原因,像。
这样的配置option_settings:
aws:elb:loadbalancer:
SecurityGroups: sg-abcd1234
似乎没有做任何事情。此外,由于现有的SG是严格定义的,我不想使用ManagedSecurityGroup
,因为这会修改现有的SG。
任何想法如何实现这一目标?帮助将受到高度赞赏。
答案 0 :(得分:2)
问题是Application Load Balancer aws:elbv2
的命名空间(与Elastic Load Balancer classic aws:elb
不同)
这适用于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。如果您可以通过此设置解释您遇到的具体问题,那么我可以解释更多。