KoとCloud Runを使ってみる
はじめに
Google CloudだとAWSと違って月毎に無料枠があるらしい。
すごい。
Cloud Functionsを徹底解説!(基本編) - G-gen Tech Blog
前適当にAPIを作ったが、コンテナ化してないのでKo + Google Runがいいかなと思った。
でも今のところ長い処理とかカスタムする気はないので、Google Cloud Functionsで簡単に立ち上げるので十分だと思った。
いざ使ってみようとすると、Cloud Functionはいろんなサービスの組み合わせらしい。
そんなに長くサーバ保守するとは思えないし、無料枠の範囲内で使えると思うけど(よく調べてない)、課金発生すると管理も面倒だなと。
Ko + Google Runでやってみる。
Dockerイメージを保存しておく場所が必要になるらしい。
Google Container Registry, GitHub Container Regsitryなどあるみたいだが、今回はArtifact Registryでやってみる。0.5GB/月が無料なので十分かと。あんまり検討してない。
Artifact Registry
新しくProjectを作成して、APIを有効化、koの名前でリポジトリ作成。
ブラウザからぽちぽちやったらできた。
Artifact Registry | Google Cloud
CLIでもできるみたい。
GCPのArtifact Registryにコンテナイメージを保存する|GCP|開発ブログ|株式会社Nextat(ネクスタット)
gcloudコマンドでconfigurationを作成、更新、変更する - Qiita
Ko
インストールとビルド。
koでArtifact Registry にimageをbuild & pushし、Secret Manager を使って楽にCloud Runに環境変数展開した話
環境変数とか2行程度の設定→ko buildでイメージがPushされた。すごい。
Google Run
これもブラウザぽちぽちで簡単にできた。
デフォルト設定で作成。
徹底解説!Cloud Run サービス作成(コンソール画面)
環境変数はSecret Managerたるもので管理したほうがいいらしい。
また少額だが金がかかる…がまあそんなでもないので。API有効化。
で、やっていくと以下応答が返ってきた。
{"message":"no matching operation was found"}
どうやら、oapi-codegenのyamlでserversを設定していたのが原因っぽい。
設定削除したらCloud Runから応答返ってきた。いえーい。ただそれでいいのか不明。
それとPORTを環境変数から持ってくるのがいいらしい。
ローカルで作ったDockerコンテナをCloud Run で公開するまで - Qiita
CD
ここまで手動でArtifact RegistryからイメージをCloud Runに紐付けていたけど、CD設定したいと思った。
そこでCloud Buildが必要になるっぽい。
ならもうCloud FunctionでいいしKoいらんやん…手早く動作確認したい場合にいいってことですね。
ちなみにGithubにpushされた時、自動でKoでビルドしてArtifact Registryにコンテナイメージをpushもできるみたい。
結局Cloud Buildが一日120ビルドまで無料らしいので、CDにはそっちを使うことに。
ブラウザぽちぽちで簡単にGithubと紐付けられた。
その他参考文献
Cloud Functionsを徹底解説!(基本編) - G-gen Tech Blog
これから始める Cloud Functions 入門 | google-cloud-jp
Cloud Loggingログバケットの課金が始まります(2023年3月1日から) - G-gen Tech Blog
koでCloud Runへのデプロイまでを試してみた感想 - VideoMarketクリエイターズブログ
2022-10 の Cloud Storage 料金改定に伴い GCR から Artifact Registry へ移行する - ぽ靴な缶
GCPのArtifact Registryにコンテナイメージを保存する|GCP|開発ブログ|株式会社Nextat(ネクスタット)
koで高速にGoのimage build - Devlog by Reazon Holdings
Cloud Run を徹底解説! - G-gen Tech Blog
なぜ今も Google App Engine を選ぶのか - ぽ靴な缶
Google のメッセージングサービス Cloud Pub/Sub とは?特徴やユースケース、料金体系まで徹底解説! | 株式会社トップゲート