Назад | Перейти на главную страницу

Состояние облачного информационного ресурса

Итак, дело в следующем:

У меня есть этот набор ресурсов для создания AWS Cloudformation с использованием ElasticBeanstalk, который создает дополнительный 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, но не уверен, какой подход будет правильным.

Любые идеи ?

Спасибо!

Что, если вы создадите состояние и применить это к своему ресурсу?

Conditions: 
     CreateInternalELB: !Equals [ !Ref AWSEBEnvironmentId, XYZ ]
Resources:
    IntLB: 
        Type: AWS::ElasticLoadBalancing::LoadBalancer
        Condition: CreateInternalELB
        Properties:
            [...]

+ Изменить XYZ к вашему идентификатору среды.

Я только что написал это на своем телефоне, поэтому извините за возможные опечатки. Не уверен, можно ли включить такие условия в структуру EB.