使用 terraform 从弹性 beantalk 应用程序设置弹性负载平衡的密码
Setting the cipher for an elastic load balance from an elastic beanstalk app with terraform
当我尝试在负载平衡器侦听器上设置密码时,我的 Terraform 代码没有达到我的预期...
Rev1,如果我不设置密码,我可以在 aws_elastic_beanstalk_environment 资源的正文中使用这样的命名空间设置(实际上有几个):
setting {
namespace = "aws:elb:listener:443"
name = "ListenerProtocol"
value = "HTTPS"
}
这按预期工作,但侦听器获得默认密码。
该命名空间中没有用于密码的选项。但是在 aws:elbv2:listener:443 命名空间
中有一个
setting {
namespace = "aws:elbv2:listener:443"
name = "SSLPolicy"
value = "ELBSecurityPolicy-TLS-1-2-2017-01"
}
但是当我切换到使用 elbv2 时,生成的弹性 beanstalk 应用程序在 http 上只有默认端口 80 侦听器。就像我的 elbv2 命名空间完全没有效果,感觉回到了默认值。
我猜可能是 terraform 中的一个错误,但我更倾向于相信我做错了什么。
有人有什么想法吗?
根据评论。
问题是 aws:elbv2:listener
仅适用于 Application Load Balancer。但是,使用的EB环境使用了Classic Load Balancer。
这解释了为什么选项 没有达到预期效果。
CLB 支持 SSL 安全策略:
EB中CLB设置为aws:elb:policies:policy_name,选项有SSLProtocols
和SSLReferencePolicy
。
如何使用它们如下面的 SO answer.
当我尝试在负载平衡器侦听器上设置密码时,我的 Terraform 代码没有达到我的预期...
Rev1,如果我不设置密码,我可以在 aws_elastic_beanstalk_environment 资源的正文中使用这样的命名空间设置(实际上有几个):
setting {
namespace = "aws:elb:listener:443"
name = "ListenerProtocol"
value = "HTTPS"
}
这按预期工作,但侦听器获得默认密码。
该命名空间中没有用于密码的选项。但是在 aws:elbv2:listener:443 命名空间
中有一个setting {
namespace = "aws:elbv2:listener:443"
name = "SSLPolicy"
value = "ELBSecurityPolicy-TLS-1-2-2017-01"
}
但是当我切换到使用 elbv2 时,生成的弹性 beanstalk 应用程序在 http 上只有默认端口 80 侦听器。就像我的 elbv2 命名空间完全没有效果,感觉回到了默认值。
我猜可能是 terraform 中的一个错误,但我更倾向于相信我做错了什么。 有人有什么想法吗?
根据评论。
问题是 aws:elbv2:listener
仅适用于 Application Load Balancer。但是,使用的EB环境使用了Classic Load Balancer。
这解释了为什么选项 没有达到预期效果。
CLB 支持 SSL 安全策略:
EB中CLB设置为aws:elb:policies:policy_name,选项有SSLProtocols
和SSLReferencePolicy
。
如何使用它们如下面的 SO answer.