コンテンツにスキップ

ALB

sequenceDiagram
  participant ALB
  participant EC2

  ALB->>EC2: SYN(接続要求)
  EC2->>ALB: SYN+ACK(接続要求+確認応答)
  ALB->>EC2: ACK(確認応答)
  ALB->>EC2: データ1転送
  EC2->>ALB: データ1の受信確認
  Note over ALB,EC2: 一定時間経過
  EC2->>ALB: コネクションの解放
  ALB->>EC2: データ2転送

このように、ALBよりも先にEC2がコネクションを切る動きをした場合、ALBは502をClientに返却する。
一定時間経過はサーバー側で設定している、KeepAliveTimeoutで設定している時間になる。

Gateway Timeoutは、ALBのアイドルタイムアウトの秒数以上に処理に時間がかかった場合に、発生する。
したがって大きく設定すればするほど、Gateway Timeoutは発生しづらくなる。
ただし、前述の通り、KeepAliveTimeoutで設定している値よりも大きくすると、502 Bad Gatewayが発生する。