emahiro/b.log

日々の勉強の記録とか育児の記録とか。

Cloud Run を使う

別に目新しいこともないですが、Cloud Run の走りだけ使ってみたので雑な備忘録。

Docker image を用意して gcr に上げる

起動したい Docker image を作成して gcr.io に上げておきます。
Cloud Run を起動するときは gcr.io 上に上がっている image のみ選択できます。

起動

Cloud Run を起動するときには http server になれる && Cloud Run の用意する port が空いている image を用意しないといけません。
試しに適当な nginx の image を Docker Hub から持ってきて gcr に上げて指定 -> 起動を試みましたがダメでした。

カスタムドメイン設定

Cloud Run のコンテナ一覧の画面に MANAGE CUSTOM DOMAIN というボタンがあり、こちらからサブドメインを設定できます。
Mapping Custom Domain の詳細は https://cloud.google.com/run/docs/mapping-custom-domains に記載てあります。

SSLの設定が必要そう。あとで調べる。

はまったところ

Docker にハマる

Docker 使い慣れてないので Cloud Run 以前に Docker にハマりました。。。 特に gcr に上げ直すとき...w

docker tag {{ old name(Docker Hub から pull してきたときの image 名) }} {{ new name (gcr.io.. を指定する) }}

で image の名前を変更しないとそもそも gcr に上げられなかったという....。

権限でハマる

Cloud Run を起動するときに、IAMの権限の大きさによって認証必要なコンテナか無認証でアクセスできるコンテナを起動するのかを選ぶことができます。
また特定の role 以上の権限を持ったアカウントでないと起動直後に発行されるURLへのアクセスすらできません。

role については以下にまとまっています。
https://cloud.google.com/run/docs/reference/iam/roles