ngtokuの日記

主に雑記帳です。SNSではngtokuのID取れなかったんで、別のIDでやってます。

備忘メモ(Terraform)

NLB作ってて、「Network Load Balancers do not support Stickiness」というエラーが出たのでググったら以下がヒット。
aws_lb_target_group: When type is network, stickiness not supported · Issue #2746 · terraform-providers/terraform-provider-aws · GitHub

どうもsticknessのデフォルトがenabledの様なのでenabled = falseを明示したsticknessを追加したら動いた。

resource "aws_lb_target_group" "ecs_nlb_toku" {
	name = "ecs-nlb-toku"
	target_type = "ip"
	port	= 8080
	protocol = "TCP"
	vpc_id = aws_vpc.toku.id
	deregistration_delay = 300
 	health_check {
		interval = 30
		port = "traffic-port"
		protocol = "HTTP"
		healthy_threshold = 3
		unhealthy_threshold = 3
	}
	depends_on = [aws_lb.ecs_nlb_toku]
	stickiness {
		type = "lb_cookie"
		enabled = false
	}
}

公式ドキュメントは以下、デフォルトがtrueであることが確認可能。
AWS: aws_lb_target_group - Terraform by HashiCorp

ちなみに5行目は最初HTTPって記載していたんだけど、以下エラーが出たのでTCPにしてある。
Error: Error creating LB Listener: IncompatibleProtocols: The listener and its associated target group 'arn:aws:elasticloadbalancing:us-east-1:XXXXXXXXXXXX:targetgroup/ecs-nlb-toku/XXXXXXXXXXXXXXXX' have incompatible protocols

多分これだと思う。
NLB incompatible protocols · Issue #4955 · terraform-providers/terraform-provider-aws · GitHub