
Google Cloud RunとArtifact RegistryでGeoServerを構築してみました!
コンテナを手軽にデプロイできる、Google Cloud RunとGoogle Container Registryの進化版のArtifact Registryを利用し、GeoServerを構築してみました。
Artifact Registryの設定
はじめに、Artifact RegistryでDockerイメージを登録します。
GCPコンソールでArtifact Registryに移動し「リポジトリを作成」をクリックします。

リポジトリ名・形式・リージョン・暗号化を設定します。リポジトリ名は任意で形式はDockerとします。プレビュー版ですがnpmも登録できるようです。

リポジトリが作成されたのを確認します。

次に、GCPコンソールで別途Cloud Shellを起動します。

認証設定をします。
gcloud auth configure-docker asia-northeast1-docker.pkg.dev

登録したいDockerイメージをpullします。今回はGeoServerのDockerイメージkartoza/geoserverを利用します。
docker pull kartoza/geoserver

イメージにレジストリ名をタグ付けします。
docker tag kartoza/geoserver \
asia-northeast1-docker.pkg.dev/プロジェクトID/sample-docker/geoserver-image
イメージをArtifact Registryにpushします。
docker push asia-northeast1-docker.pkg.dev/プロジェクトID/sample-docker/geoserver-image

リポジトリの中にDockerイメージが登録されているのを確認できます。

これでArtifact Registryの設定は完了になります。
Google Cloud Runの設定
最後に、Artifact Registryに登録したDockerイメージをGoogle Cloud Runにデプロイします。
「Cloud Runにデプロイする」をクリックします。

サービス名とリージョンを指定し「次へ」をクリックします。

対象のコンテナを選択します。オプションのメモリとCPUの初期値が少ないので、GeoServerが動作する範囲まであげます。その他はデフォルト値で設定します。

今回は一般公開用に設定し「作成」をクリックします。

公開されると、詳細にURLが表示されるので「/geoserver」を追加してブラウザでアクセスしてみます。

GeoServerが起動されているのを確認できます。

Google Cloud RunとArtifact RegistryでGeoServerを構築できました!
Google Cloud Runを利用することで、手軽にコンテナをデプロイすることができ、スケーリングもしてくれます。今後は、独自でビルドしたコンテナでもトライしてみたいと思います!

