Terraform计划输出不正确的结果

时间:2018-03-27 21:10:24

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

Terraform plan输出奇怪的结果。对于每个负载均衡器,它输出

~ module.api-origin-demo-prod.aws_alb.origin-alb
  enable_cross_zone_load_balancing:         "" => "false"
  enable_http2:                             "" => "true"

据我所知,跨区域负载平衡是AWS的经典负载均衡器的一项功能,而不是我们使用的应用程序负载均衡器(ALB)。 HTTP2设置很奇怪,因为它在AWS控制台中已启用,所以他们不会改变"在Terraform应该选择的设置中。谢谢!

2 个答案:

答案 0 :(得分:0)

aws_alb aka aws_lb根据load_balancer_type参数的设置实现ALB和网络负载均衡器。 enable_cross_zone_load_balancing仅适用于网络负载均衡器。

您可以尝试terraform show查看这些属性的当前状态。如果在AWS的控制台或其他工具中修改基础设施,terraform的状态可能会偏离现实。如果您没有使用远程状态,即使仅使用terraform也可能存在分歧。

如果出现问题,您可以启用调试日志并搜索ALB的相关API调用,以了解它如何认为存在更改:

TF_LOG=DEBUG terraform plan

答案 1 :(得分:0)

我建议将终端env变量设置为Debug,以便您可以了解幕后情况。

要在终端中执行此操作,前提是您已经安装了地形

请执行:export TF_LOG="DEBUG" 这应该足以为您提供输出并调试下一步。