Google Cloud RunにデプロイしたAPI
ちまちまとした個人開発でフロントはgithub pagesを使い公開、その後ろで別サービスに接続するためのapi(keyや証明書ファイルを隠したかったから)をGoogle Cloud Runで公開しておりましたが、それらを接続するためのリージョンをどうすれば一番速くなるかということを突然思いつき、生成AIに聞いてみました。
これまではus-east1などアメリカの安めなリージョンを指定
昔の日本のリージョンは高いというイメージだけでこれまではアメリカのリージョンを使ってきましたが、生成AIに聞いているうちに日本のリージョンもアメリカの安いリージョンと利用料は同じという回答があったので、試しに日本のリージョン(大阪: asia-northeast2)に変えてみての感想です。
Cloud Runの設定はリクエストベースで動くようにしていたため、アクセスがないと自動的にインスタンスが0となり、その後の接続はコールドスタートのため多少の立ち上がりの遅さを実感していました。これがなんとかなればうれしいなってことでやってみたってのが目的です。
で、速くなったのか?
フロントとAPIをそれぞれ変更して再デプロイ後、Cloud Runのログでコンテナがシャットダウンされるのを見届けたあとに画面をロードしてみると、うーん、微妙に早くなった気がする。
業務でやってるわけじゃないので厳密な計測まではやってはないからあくまでも感覚です。
生成AIによるとアメリカだと遅延が100-200ms程度だったものが日本だとその1/10くらいの10ms程度になることが期待できるとのことだから、速くはなっているんだと思う。でもブラウザから直接読んでるわけではなく、github経由だからそんな単純な話ではないんだろうし、100msと10msでびっくりするほどの体感差はないだろうと思いますし。
おまけ
むかしローカルのDBを参照していたサービスを海外の無料DBサービスに変更したとき、うん?ってくらい明らかな違いを感じたことがあって、その時は「光の速度でデータをやり取りできても、やはり太平洋は広い」と思いまして、まあ趣味レベルではそれでも問題はないんだけど、色々やっていると面白いなぁって思ったので、あまり役にも経ちそうにないこんな投稿をしたってことです。
おしまい