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 Runのコールドスタートを避けるためにcurlで起こし続ける

定期リクエストを送っている間はコールドスタートは発生していないことが確認できた

GCP VMインスタンスのSSHポートを変更した

Network Internet Egress from Americas to EMEA

[Action Required] Free Container Scanning ends

お試しで使っていたコンテナイメージの脆弱性スキャンを無効にした

GCPの無料インスタンスがF1-microからE2-Microに変わった

メールが来ていたのを見落としていた

[Action Required] Internal error has affected services in Cloud Run that use Cloud Load Balancing

デフォルトURLで利用している場合は対応不要

ローカルディレクトリをCloud Storageに同期する

gsutil rsyncを利用した