【问题标题】:Setting the cipher for an elastic load balance from an elastic beanstalk app with terraform使用 terraform 从弹性 beantalk 应用程序设置弹性负载平衡的密码
【发布时间】:2020-11-06 20:29:01
【问题描述】:

当我尝试在负载平衡器侦听器上设置密码时,我的 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:elb:listener 用于经典负载均衡器。 aws:elbv2:listener 用于应用程序负载平衡器。您能否验证您实际使用的是 ALB(不仅使用此选项),而不是 CLB?
  • Dang,我完全在使用经典的负载均衡器......我想这解释了它为什么不起作用......回顾我所指的文档,我现在看到特定的命名空间说用于应用程序负载平衡器。我错过了:(。任何机会你知道为经典负载均衡器的侦听器配置密码的正确方法......
  • 遗憾的是,它不支持 CLB。必须切换到 ALB。购买方式,如果您不介意我想提供一个答案以供将来参考。
  • 我猜我将不得不考虑切换。去吧。感谢您的帮助。
  • 我错了,CLB 不支持它。只需仔细检查一下,我认为您可以使用不同的选项进行设置。对不起,原来的错误:-(

标签: amazon-web-services terraform amazon-elb


【解决方案1】:

基于 cmets。

问题在于 aws:elbv2:listener 仅适用于 Application Load Balancer。但是,所使用的 EB 环境利用了 Classic Load Balancer。

这解释了为什么该选项没有产生预期效果

CLB 支持 SSL 安全策略:

EB中CLB的设置为aws:elb:policies:policy_name,选项有SSLProtocolsSSLReferencePolicy

如何使用它们在下面的 SO answer 中显示。

【讨论】:

  • @Randell 很高兴听到。最初我对更改健康检查 HTTP 代码感到困惑,实际上 CLB 不支持。
猜你喜欢
  • 1970-01-01
  • 2011-03-16
  • 2014-02-04
  • 2017-09-21
  • 1970-01-01
  • 2020-01-28
  • 2013-12-17
  • 2015-09-23
  • 1970-01-01
相关资源
最近更新 更多