朝起きたらoceanusの死活監視のメールがきてた。日本時間で8/16 1:18から4:29。
いつものBigQueryが落ちてたのかと思ってログを見たけど、アプリケーション側では目立ったエラーが見当たらなかった。
エラー時のレスポンスは502と下記内容。
<html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>502 Server Error</title> </head> <body text=#000000 bgcolor=#ffffff> <h1>Error: Server Error</h1> <h2>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds.</h2> <h2></h2> </body></html>
アプリ側では502を返すことなんてない(ネットワーク内でRedis等につながらない時は503を返す)。
アプリ側で503など、エラーを返す時はもちろんログを残すが、ログは残っていない。
だから、ロードバランサーとGKE間の通信の問題だ。
HTTPロードバランサーのログをみると下記のような感じで502が並んでいた。
アプリや自分で用意したヘルスチェックのあるGKEまで到達していない。
GCPのインシデントにも見当たらなかった。
深夜帯でアクセス数も少ないので、大きな問題はないけど調査続行中。