Как автоматически включить политику 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