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を利用することで、手軽にコンテナをデプロイすることができ、スケーリングもしてくれます。今後は、独自でビルドしたコンテナでもトライしてみたいと思います!