とろろこんぶろぐ

かけだしR&Dフロントエンジニアの小言

GAEがいきなり502 Server Errorで落ちた

GAEが落ちていた

f:id:ka2jun8:20181110103712p:plain

GAEでホスティングしてる趣味開発サービスが気がついたら落ちていた。原因不明でよくわからない。

これらと同じ現象かもしれないけど、原因はどれも不明っぽい。

uyamazak.hatenablog.com

stackoverflow.com

とりあえずやった対処だけメモしておく。

対応

まずはじめに手元から再デプロイしてみた。

gcloud app deploy

失敗した。

ERROR: (gcloud.app.deploy) Error Response: [4] Timed out waiting for the app infrastructure to become healthy

インフラがヘルシーじゃなさそう? 次に、GAEを直接停止後、再度起動してみることにする。

(gcloudのコマンドがパッとわからなかったので) GAEのサイトから直接停止を試みる。

  • バージョンを昔のものに戻してみる
    • GCPページでApp Engineを選択
    • バージョンを選択
    • 古いバージョンを起動(複数起動状態)
    • トラフィックを分割を選択
    • 古いバージョンに100%振り向ける
    • 新しいバージョンを停止 

新たにデプロイしていたバージョンに問題があった場合はこれで直りそうだが、今回はインフラに問題があったようなのでこれではダメ。依然500系エラーが出続ける。

なぜかエラー画面は変わった。 f:id:ka2jun8:20181110111231p:plain

次に、いったんアプリケーションを無効にしてみることに。

  • アプリケーションの無効化
    • GCPページでApp Engineを選択
    • 設定を選択
    • アプリケーションを無効にするを選択

少し時間がかかって、無効化される。 再度、アプリケーションを有効化する。 ふたたび、少し時間がかかって有効化される。 古いバージョンに振り向けていたこともあるので、このタイミング再デプロイもしてみた。ちなみに、再デプロイすると新しいバージョンに勝手にトラフィックを100%にしてくれる。  

結果、、、

復活した!!!!

とりあえずのところはよかった、、、

まとめ

結局原因は不明だった。インフラ難しいし辛い気持ちがある。こういうことがいきなり起きるのもつらいし、起きたときにアプリケーションを無効化して再度有効化するのも手間。せめて落ちたら通知してくれて勝手に再起動するくらいの設定があったらいいのかも。もしくはすでにあるのかもしれないので、調べてみよう...