CloudRunのレスポンスが429 Rate exceeded.になる

公開日時

昨日の深夜からCloud Runで動かしているAPIのレスポンスが「429 Rate exceeded.」になってしまう現象が発生している。

特にコードの変更もしておらず昨日の夜までは問題なく動いていたのでGCP内部の問題な気がする。

とりあえずなんとかしたかったのでドキュメントを調べてみると以下を発見。

デフォルトは1000らしいが、以前設定したときに20に設定していた。

429 エラーが発生するか

サービスがコンテナ インスタンス数の上限に達した場合、リクエストは 429 エラーコードとともに返されます。「インスタンスの最大数」の設定を増やすか、1,000 を超えるインスタンスが必要な場合は、割り当ての増加をリクエストして、この上限を引き上げてみてください。

そもそも1リクエストを送るだけなので20でも問題ないと思うのだが、

現実問題として429エラーになっているのでインスタンスの最大数を

100に変更してみる => 429エラーのまま

200に変更してみる => 429エラーのまま

500に変更してみる => 200 Success

うーん。挙動が謎すぎる。

これでエラーは出なくなったものの、レイテンシが2sほど増えていてまだ元通りにはなっていない。

レイテンシについては数日以内に直ってくれるのを祈るしかなさそう。


Related #gcp

Cloud FunctionsのNode.jsバージョンを更新する

package.jsonとcloudbuild.yamlを更新

Cloud BuildでFirebase Hostingのデプロイを行う

リポジトリへのpush以外をトリガーにしたい場合に使用

Firebase HostingのデプロイをWebhook(API)経由で行う

デプロイボタンが作れるようになった

CloudRunでnode.jsを動かす

リポジトリにpushしたらCloudRun上に自動デプロイ

IPv6 IPoE環境で自宅のRaspberryPiにsshできるようにする

GCPにssh port forwardingすることで実現できた