0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TerraformとALB-request timed outについて

Posted at

これは何

TerraformでAWS環境を構築した際、ALBのHealth checkでrequest timed outになったので、解決のメモ。

つまり…

request timed outなので、ググって以下を参考に対応。

"AWSのDocumentより"
HTTP 408: Request timeout
アイドルタイムアウト期間の期限が切れる前に、クライアントからデータが送信されませんでした。
TCP キープアライブを送信しても、このタイムアウトを防ぐことはできません。
各アイドルタイムアウト期間が経過する前に、1 バイト以上のデータを送信します。必要に応じて、アイドルタイムアウト期間を長くします。
"Qiitaより"
リクエストが通るには、
ロードバランサに設定したセキュリティグループのアウトバウンドルール
インスタンスに設定したセキュリティグループのインバウンドルール
の双方で接続を許可する必要があります。

ふ〜む、なるほど。
どうやら、タイムアウト値が短すぎるのか、SGのルールを見直す必要がありそうです。

参考
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html
https://qiita.com/koseki/items/61372f25dfe8c8bb7a63

結論

SGのルールは問題なく、どうやらTimeoutの期間が短すぎた模様。

"Terraform Document より"
timeout - (Optional) Amount of time, in seconds, during which no response means a failed health check. 
For Application Load Balancers, the range is 2 to 120 seconds, and the default is 
5 seconds for the instance target type and 30 seconds for the lambda target type. 
For Network Load Balancers, you cannot set a custom value, 
and the default is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks.

ALBのHealth checkについては、デフォルトのまま、特に値を変えることなくapplyしていたので、適当に以下に変更。

resource "aws_lb_target_group" "main" {
  name     = "lb-tg"
  port     = 80
  protocol = "HTTP"
  vpc_id   = aws_vpc.main.id
  health_check {
  interval = 90
  timeout = 60
      }
}

これで、request timed outは解決しました。
結局はデフォルトの値だとrequest timed outになる、ということだったのですが、他にも原因があるのかもしれません。
timeoutって普通はしっかり考えてデフォルト値にはしない(?)から、そんなに同じような問題を抱えている人がいないんでしょうか。

Terraformのデフォルトに従うとエラーになる、なんて天下のHashi Corpがするかなあと思ったりします。
なので他にも原因がありそうだなあと思いつつ、これで解決はしたので何だかなあという感じです。

参考
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?