terraform aws_elastic_beanstalk_environment SSL 策略名称

问题描述 投票:0回答:4

使用 terraform,有人知道如何从 aws_elastic_beanstalk_environment 资源内为 ELB 设置 预定义 SSL 安全策略吗?

我尝试了各种参数排列,从类似下面的内容中分支出来,但没有运气。 ````

setting {
    name = "PolicyNames"
    namespace = "aws:elb:listener"
    value = "ELBSecurityPolicy-TLS-1-2-2017-01"
}

```

这可以使用设置语法来完成吗?

问候 迈克尔

amazon-elastic-beanstalk terraform setting
4个回答
13
投票

以下适用于经典ELB,LoadBalancerPorts也需要设置为443才能使预定义策略生效。

setting {
  namespace = "aws:elb:policies:sslpolicy"
  name      = "SSLReferencePolicy"
  value     = "ELBSecurityPolicy-TLS-1-2-2017-01"
}

setting {
  namespace = "aws:elb:policies:sslpolicy"
  name      = "LoadBalancerPorts"
  value     = "443"
}

1
投票

试试这个:

setting {
    name = "SSLReferencePolicy"
    namespace = "aws:elb:policies:policy_name"
    value = "ELBSecurityPolicy-TLS-1-2-2017-01"
}

SSL 参考政策

预定义安全策略的名称,该策略遵循 AWS 安全最佳实践,并且您希望为 SSLNegotiationPolicyType 策略启用该策略,该策略定义负载均衡器将接受的密码和协议。该策略只能与 HTTPS/SSL 侦听器关联。

参考:

aws:elb:策略:policy_name


0
投票

我终于得到了 AWS Premium Support 的答复:

option_settings:
  aws:elb:listener:
    PolicyNames: sslpolicy
  aws:elb:policies:sslpolicy:
    LoadBalancerPorts: 443
    SSLReferencePolicy: 'ELBSecurityPolicy-TLS-1-2-2017-01'

基本上,

aws:elb:policies:policy_name
不是有效的命名空间,这就是为什么您会收到类似“更新名为:awseb-e-6-AWSEBLoa-QXCM4ZPPQDJF 的负载均衡器失败原因:策略名称只能包含字母数字字符或破折号”的错误 -
 policy_name
需要替换为您选择的名称(在我的例子中是 sslpolicy),然后在
aws:elb:listener
命名空间中列为策略。需要输入
LoadBalancerPorts
才能使新的
SSLReferencePolicy
真正生效。


-1
投票

这有效:

setting {
    name = "SSLReferencePolicy"
    namespace = "aws:elb:policies:SSLReferencePolicy"
    value = "ELBSecurityPolicy-TLS-1-2-2017-01"
}
© www.soinside.com 2019 - 2024. All rights reserved.