2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Kubernetes EngineとArtifact RegistryでQGIS Serverを構築してみた

Last updated at Posted at 2021-07-14


Google Kubernetes EngineとArtifact RegistryでQGIS Serverを構築してみました :tada:

KubernetesをベースとしたGCPのマネージドサービスである、Google Kubernetes EngineとGoogle Container Registryの進化版のArtifact Registryを利用し、QGIS Serverを構築してみました!


Artifact Registryの設定

はじめに、Artifact RegistryでDockerイメージを登録します。


GCPコンソールでArtifact Registryに移動し「リポジトリを作成」をクリックします。
画像

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

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

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

認証設定をします。

gcloud auth configure-docker asia-northeast1-docker.pkg.dev

画像

登録したいDockerイメージをpullします。今回はQGIS ServerのDockerイメージ「camptocamp/qgis-server」を利用します。

docker pull camptocamp/qgis-server

画像

イメージにレジストリ名をタグ付けします。

docker tag camptocamp/qgis-server \
asia-northeast1-docker.pkg.dev/プロジェクトID/sample-docker/qgis-server-image

イメージをArtifact Registryにpushします。

docker push asia-northeast1-docker.pkg.dev/プロジェクトID/sample-docker/qgis-server-image

画像

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

これでArtifact Registryの設定は完了になります :thumbsup:


Google Kubernetes Engine (GKE)の設定

最後に、Artifact Registryに登録したDockerイメージをGKEにデプロイします。


「GKEにデプロイする」をクリックします。
画像

既存のコンテナイメージをそのまま選択し「続行」をクリックします。
画像

アプリケーション名とゾーンを任意で設定し「デプロイ」をクリックします。
画像

デプロイされるまで5分くらい待ちます。
画像

正常にデプロイされているのが確認できたら、「公開する」をクリックします。
画像

公開設定をします。今回はこのままの設定で「公開」をクリックします。
画像

公開されると、Serviceの詳細に外部エンドポイントが表示されるのでブラウザでアクセスしてみます。
画像

公開されたURLで、QGIS Serverが起動されているのを確認できました。
画像


Google Kubernetes EngineとArtifact RegistryでQGIS Serverを構築できました :thumbsup:

本番環境用に詳細設定をする場合は、kubectl CLIを利用したり自動化したりの設定をしていくことになりますが、今回は例が少ないArtifact Registryを利用しGCPコンソールでデプロイまでをトライしてみました!

QGIS Serverについても、デフォルトだとプロジェクトファイルが設定されていないので、設定するように独自のDockerイメージを構築する必要があります。

また、今回の用途だとGoogle Cloud Runのほうがシンプルにデプロイできると思うので、こちらも今後トライしてみたいと思います :muscle:


やってみたシリーズ :grinning:
tags - Try
Serverless FrameworkでNode.jsのサーバーレスAPIをGCPにデプロイしてみた
QGISとCloud SQLのPostgreSQL&PostGISを利用してジオデータを表示してみた
BigQuery GISとFlaskとMapbox GL JSを組み合わせて可視化してみた



book

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?