eaglesakuraの技術ブログ

技術的な話題とか、メモとか。

突然Google App Engineの特定APIが2回に1回しか繋がらなくなった問題への対処

状況

  • GAE/Go 1.12を使っている
  • 複数のServiceをデプロイしていて、今回問題になったのは 認証用APIを提供しているService
  • 環境セットアップのため、APIを連続で叩いてているとき、それはおこった
    • 50回くらい同じAPIを叩く

動かなくなる直前

  • ナニもしていない。
  • 僕はナニもしていない

最後に動いていた時刻

  • 18:30頃まで、APIは叩けていた

動かなくなった時刻

  • コードを変更せず(リトライの検証のため)再実行すると、2回に1回しかAPIが呼び出せない
    • 成功 -> 即座にレスポンスが返る
    • 失敗 ->connect timeout.
    • 必ず交互に発生する
  • 失敗する場合、ログを見る限りサーバーまでリクエストが届いていないようだ

改善した方法

  • Google DNSにつないだ
  • DNSキャッシュをクリアーした
  • そしてもとに戻った

理由の推測

  • GAEは、特性上IPが固定じゃない
  • けどドメインは固定できる
  • コイツ、IPが変わっても古いIPのサーバーに接続しに行きやがったか?
  • けどそんな信頼性のないことをGoogleがやるとも思えん
    • しらんけど。