作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
CFN 模板是否可以根据参数向 ALB 添加一些特定的安全组?
我遇到了两个安全组添加到 ALB 的情况:
ALB
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
...
SecurityGroups:
- !Ref 'SecurityGroup1'
- !Ref 'SecurityGroup2'
现在有一个 SecurityGroup3
,仅当某些参数具有特定值时我才最终添加它。假设如果参数 add_sg3
等于 yes
,则将第三个 SG 添加到 ALB。我总是在类似情况下使用 "!If
但有超过 2 个 SG。欢迎任何建议。谢谢!
最佳答案
您可以使用Condition来实现这一点和 AWS::NoValue
伪参数。请遵循以下完整示例:
Parameters:
Environment:
Type: String
Default: dev
AllowedValues: ["dev", "prod"]
VpcId:
Type: 'AWS::EC2::VPC::Id'
Subnet1:
Type: 'AWS::EC2::Subnet::Id'
Subnet2:
Type: 'AWS::EC2::Subnet::Id'
Conditions:
MyTest: !Equals ["dev", !Ref Environment]
Resources:
ALB:
Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
Properties:
SecurityGroups:
- !Ref SecurityGroup1
- !If [ MyTest, !Ref SecurityGroup2, !Ref 'AWS::NoValue' ]
Subnets:
- !Ref Subnet1
- !Ref Subnet2
SecurityGroup1:
Type: 'AWS::EC2::SecurityGroup'
Properties:
GroupDescription: 'Group 1'
VpcId: !Ref VpcId
SecurityGroup2:
Type: 'AWS::EC2::SecurityGroup'
Properties:
GroupDescription: 'Group 2'
VpcId: !Ref VpcId
关于aws-cloudformation - AWS CloudFormation - AWS::ElasticLoadBalancingV2::LoadBalancer - 安全组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52976363/
我是一名优秀的程序员,十分优秀!