Cloud Run FunctionsとArtifact Registry
今回は、Cloud Run Functions無料枠を使っているときに費用が発生してしまったので、その原因をまとめたいと思います。
費用の内訳を確認すると、Artifact Registryで費用が発生していました。
Artifact Registryとは?
Artifact RegistryはDockerのGoogle Cloud番だと思うとイメージとしては最もわかりやすいかと思います。
Cloud Run Functionsで作成したコードをビルドしたデータが保存されるようです。
この保存のストレージが無料枠の場合は0.5Gとなるため、ここが不足して、課金されるケースがあるようです。
Artifact Registoyを確認
まずは、Google CloudでArtifact Registoyを検索し、状態を確認してみました。
リポジトリ部分を参照します。すると、2種類のリポジトリが存在していました。
- gcf-artifacts
- cloud-run-source-deploy
cloud-run-source-deployはCloud Runコードが保存されているようです。
もう一つのgcf-artifactsはCloud Functionsに利用されているようです。
以前Cloud Runからソースコードを変更してデプロイしたことがあったので、その時にcloud-run-source-deployが作成されてしまったのかもしれません。
この部分で無駄にストレージを利用してしまっているような気がしたので、一度2つともリポジトリを削除しました。
削除後、Cloud Run Functionsから再度デプロイを行って、テスト実行したところgcf-artifactsのみ作成されました。
容量も、削除前よりも小さくなっていますので、これで一旦解決しますが、
放置しておくと古いバージョンがそのまま残ってストレージを圧迫するようです。
最新のバージョンのみ保存して、ほかを削除することができるようですので、まずは、その設定を試してみたいと思います。
クリーンアップ設定
まずは、対象のリポジトリを選択します。
リポジトリの編集を行います。
下のほうにあるクリーンアップポリシーを追加をクリックします。
まずは、削除ポリシーを作成します。
適当な名前を入力し、そのほかは基本敵にそのままの、条件付き削除とタグを問わないとして、作成します。
続いて、保持ポリシーを作成します、
最新バージョンを保持を選択し、保持するバージョン数を入力します。
保存すれば、削除ポリシーと保持ポリシーを登録できます。
これで、Artifact Registoryで課金されないか様子を見たいと思います。