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にデプロイします。
対象のコンテナを選択します。オプションのメモリとCPUの初期値が少ないので、GeoServerが動作する範囲まであげます。その他はデフォルト値で設定します。
公開されると、詳細にURLが表示されるので「/geoserver」を追加してブラウザでアクセスしてみます。
Google Cloud RunとArtifact RegistryでGeoServerを構築できました
Google Cloud Runを利用することで、手軽にコンテナをデプロイすることができ、スケーリングもしてくれます!
今後は、独自でビルドしたコンテナでもトライしてみたいと思います
やってみたシリーズ
tags - Try
Google Kubernetes EngineとArtifact RegistryでQGIS Serverを構築してみた
Serverless FrameworkでNode.jsのサーバーレスAPIをGCPにデプロイしてみた
QGISとCloud SQLのPostgreSQL&PostGISを利用してジオデータを表示してみた
BigQuery GISとFlaskとMapbox GL JSを組み合わせて可視化してみた