大阪リージョンのCloud Runで503エラーが出ていた
ざっくりまとめると
2025年の1月11日から1月13日までの間、大阪リージョン(asia-northeast2
)のCloud Runから10回に1回程度の割合で503エラーが返ってきていました。
いろいろ原因を調査したのですが、結局のところ、Google Cloud側が「性能向上のための調整」を行なっていたために発生した不具合だったようです。
事の起こり
以前のポストでも紹介していた実家の八百屋の業務アプリでエラーが発生するという報告を受けました。 自分もすぐ確認してみたのですが、画面遷移していると10回に1回ほどエラーが出てしまっているような状態でした。
原因を調査
503エラーなので、Cloud Runのリソース不足かと思ったのですが、CPUもメモリも余裕があります。 そこでアプリケーションのエラーを疑い、報告を受けた画面でエラーを再現しようとしました。しかし、エラーは出たり出なかったりで、なかなか再現できませんでした。
ただ、報告を受けたページ以外でも一定の割合で503エラーが出ることに気づき、「これはアプリ側のエラーではなく、インフラ側の不具合の可能性もある」と感じ始めました。
問題の切り分け
まず、エラーが出たリクエストのログを見に行きました。リクエストがクライアントから送られて返ってくる流れのどこで不具合が起こっているかを知りたかったからです。
実際にやってみると、エラーが出ていたリクエストはそもそもCloud Runまで到達していませんでした。 ということは、おそらくCloud Runに到達する前に、プロキシなどで503を返してしまっているのだろうと思いました。
対策
とりあえず、アプリ側のエラーではないことがわかり一安心だったのですが、ユーザーは思い通りにアプリが使えず困っているのでどうにかする必要がありました。
そこで、Cloud Runのリージョンを移すことを考えました。 Google Cloudの障害周りのステータスを見ても特に何も変更はなかったので、とりあえず東京リージョンにCloud Runを立ててみたところ、503エラーは全く起こらなくなりました。
結局
そんなこんなしている間に、Xで同じ現象で困っている方を見かけました。Google Cloudに問い合わせたところ「大阪リージョンでのみ発生している不具合」という返答が得られたようでした。
少しすると、不具合が解消されたらしいので、東京リージョンのCloud Runは削除し、大阪リージョンの方に差し戻ししました。
あまり起こらないことなので、問題の切り分けが大変でしたが、良い勉強になりました。 Google Cloud側のステータスがもう少し早く変わってほしいところではありますが、自分も外型監視などモニタリングについて勉強して導入していく必要があるなと感じる一件でした。