Как автоматически включить политику ELB Cipher, указанную в Cloudformation

Политики, указанные в атрибуте Cloudformation ELB Policies, не активированы после развертывания. Мне пришлось включить его вручную, тогда действовала старая политика по умолчанию. Как автоматически включить политику ELB Cipher, указанную в Cloudformation?

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html

      Policies:
    - PolicyName: My-SSLNegotiation-Policy
      PolicyType: SSLNegotiationPolicyType
      Attributes:
      - Name: Reference-Security-Policy
        Value: ELBSecurityPolicy-TLS-1-2-2017-01

В консоли AWS предопределенная политика все еще отображалась как ELBSecurityPolicy-2016-08 что является политикой по умолчанию

Затем мне пришлось вручную включить его, используя приведенный ниже клик, после чего он показал предопределенную политику как ELBSecurityPolicy-TLS-1-2-2017-01

      aws elb set-load-balancer-policies-of-listener --load-balancer-name auhuman-ELB-qwertyuiop --load-balancer-port 443 --policy-names Auhuman-ELBSecurityPolicy-TLS-1-2-2017-01 --region us-east-1

1 ответ

Этот стиль определения политики связан с классическим балансировщиком нагрузки EC2. По возможности следует использовать вместо этогобалансировщик нагрузки приложений V2 . На самом деле единственный вариант использования классического ELB - это если у вас есть классические экземпляры EC2 не в VPC ... и вам следует подумать о стратегии миграции для них.

Предполагая, что вы можете использовать V2 ALB, вы можете использовать SslPolicy свойство на слушателе, чтобы объявить вашу политику, например:

      LoadBalancerSecureListener:
  Type: AWS::ElasticLoadBalancingV2::Listener
  Properties:
    LoadBalancerArn: !Ref LoadBalancer
    Protocol: HTTPS
    Port: 443
    Certificates:
      - CertificateArn: !Ref ACSCertificate
    SslPolicy: ELBSecurityPolicy-TLS-1-2-2017-01
    DefaultActions:
      - Type: forward
        TargetGroupArn: !Ref DefaultTargetGroup

Конечно, вам нужно будет заменить подходящие ссылки для вашей ситуации.

Если вам абсолютно необходимо использовать классический ELB, вам необходимо связать имя политики с прослушивателем, добавив PolicyNames в конфигурацию слушателя, как в:

       Loadbal:
    Type: 'AWS::ElasticLoadBalancing::LoadBalancer'
    Properties:
      Subnets:
        - !Ref subnet1
        - !Ref subnet2
      Listeners:
        - InstancePort: 80
          LoadBalancerPort: 443
          Protocol: HTTPS
          SSLCertificateId: >-
            !Ref ACSCertificate
          PolicyNames:
            - My-SSLNegotiation-Policy
      Policies:
        - PolicyName: My-SSLNegotiation-Policy
          PolicyType: SSLNegotiationPolicyType
          Attributes:
            - Name: Reference-Security-Policy
              Value: ELBSecurityPolicy-TLS-1-2-2017-01
Другие вопросы по тегам