AWS Cloudformation:如何在 AWS elastic beanstalk 配置中引用多个安全组
AWS Cloudformation: how to refer multiple security groups in AWS elastic beanstalk configuration
我是 AWS Cloudformation 世界的新手。我正在尝试创建一个 elasticbeanstalk 配置模板。对于其中一项设置,我需要使用两个安全组。所以,我给它如下
MyConfigurationTemplate:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
Properties:
ApplicationName: MyApplication
Description: A default Application
SolutionStackName: SolutionStack
OptionSettings:
....
....
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value:
!If
- ConditionIsTrue
- [!Ref FirstGroup, !ImportValue SecondGroup]
- !Ref FirstGroup
....
....
我从 AWS 文档 here 中了解到,SecurityGroups 是一个列表,我们可以提供以逗号分隔的列表。但这对我不起作用。 AWS 抛出以下错误
Value of property Value must be of type String
我尝试通过以下方式赋予安全组价值,但 none 有效。
1) "!Ref FirstGroup, !ImportValue SecondGroup"
2) !Ref FirstGroup, !ImportValue SecondGroup
知道应该如何提供这个安全组列表吗?
我自己通过反复试验得到了它。因为它接受逗号分隔列表。我们需要使用 !join 如下。
MyConfigurationTemplate:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
ApplicationName: MyApplication
Description: A default Application
SolutionStackName: SolutionStack
OptionSettings:
....
....
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value:
!If
- ConditionIsTrue
- !Join [',', [!Ref FirstGroup, !ImportValue SecondGroup]]
- !Ref FirstGroup
....
....
我是 AWS Cloudformation 世界的新手。我正在尝试创建一个 elasticbeanstalk 配置模板。对于其中一项设置,我需要使用两个安全组。所以,我给它如下
MyConfigurationTemplate:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
Properties:
ApplicationName: MyApplication
Description: A default Application
SolutionStackName: SolutionStack
OptionSettings:
....
....
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value:
!If
- ConditionIsTrue
- [!Ref FirstGroup, !ImportValue SecondGroup]
- !Ref FirstGroup
....
....
我从 AWS 文档 here 中了解到,SecurityGroups 是一个列表,我们可以提供以逗号分隔的列表。但这对我不起作用。 AWS 抛出以下错误
Value of property Value must be of type String
我尝试通过以下方式赋予安全组价值,但 none 有效。
1) "!Ref FirstGroup, !ImportValue SecondGroup"
2) !Ref FirstGroup, !ImportValue SecondGroup
知道应该如何提供这个安全组列表吗?
我自己通过反复试验得到了它。因为它接受逗号分隔列表。我们需要使用 !join 如下。
MyConfigurationTemplate:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
ApplicationName: MyApplication
Description: A default Application
SolutionStackName: SolutionStack
OptionSettings:
....
....
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value:
!If
- ConditionIsTrue
- !Join [',', [!Ref FirstGroup, !ImportValue SecondGroup]]
- !Ref FirstGroup
....
....