事情是这样的:
我使用 ElasticBeanstalk 为 AWS Cloudformation 设置了以下资源创建,它会创建额外的 internal_loadbalancer:
Resources:
IntLB:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
ConnectionDrainingPolicy:
Enabled: true
Timeout: 20
CrossZone: true
HealthCheck:
HealthyThreshold: 3
Interval: 10
Target: "TCP"
Timeout: 5
UnhealthyThreshold: 5
Listeners:
- InstancePort: 443
LoadBalancerPort: 443
Protocol: HTTPS
SSLCertificateId: arn:aws:acm:
InstanceProtocol: HTTP
Scheme: internal
SecurityGroups:
- { "Ref" : "AWSEBLoadBalancerSecurityGroup" }
Subnets:
- "subnet-1"
- "subnet-2"
- "subnet-3"
- "subnet-4"
- "subnet-5"
- "subnet-6"
AWSEBAutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
LoadBalancerNames:
- { "Ref" : "AWSEBLoadBalancer" }
- { "Ref" : "IntLB" }
我想要做的是写一个条件,如果 environment_ID = XYZ,则应用资源的创建,如果不是,则忽略它。
我正在寻找 AWS 文档和论坛,但不确定什么是正确的方法。
有任何想法吗 ?
谢谢!
答案1
如果你创建一个状况并将其应用于您的资源?
Conditions:
CreateInternalELB: !Equals [ !Ref AWSEBEnvironmentId, XYZ ]
Resources:
IntLB:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Condition: CreateInternalELB
Properties:
[...]
更改XYZ
为您的环境 ID。
我刚刚在手机上写了这篇文章,所以如有错别字,请谅解。我也不确定是否可以在 EB 结构中包含此类条件。