メインコンテンツまでスキップ

Google Cloud Platformへのデプロイ

Google Cloud Platform

JHipsterアプリケーションをGoogle Cloud Platformにデプロイして、次の環境で実行できます。

アプリケーションをデプロイするには、Google Cloud Platform無料試用版を入手できます。無料試用中および無料試用の終了後に、Always Freeティアで指定された使用制限までの無料使用を確認してください。

始める前に

gcloudにCLIでアクセスするには、ローカル環境にgcloud SDKをインストールして認証します。詳細については、次のリンクを参照してください。

Google Kubernetes Engineへのデプロイ

Google Kubernetes Engineは、完全に管理されたKubernetesクラスタ・アズ・ア・サービスです。プロビジョニングされたコンテナとJHipsterアプリケーションを、標準のKubernetesコマンドを使用してデプロイできます。

  1. APIの有効化:gcloud services enable container.googleapis.com containerregistry.googleapis.com
  2. kubectlCLIがまだインストールされていない場合はインストールします:gcloud components install kubectl
  3. 新しいGoogle Kubernetes Engineクラスタを作成します:gcloud container clusters create mycluster --zone us-central1-a --machine-type n1-standard-4

その他のオプションについては、GCPのゾーンおよびマシンタイプを参照してください。

クラスタが作成されると、JHipster Kubernetesジェネレータを使用してデプロイメント記述子を生成できます。

  1. Kubernetesデプロイメントファイルの生成:jhipster kubernetes
  2. Google Container Registryを使用してプライベート・レジストリにコンテナ・イメージを公開する場合:
  3. What should we use for the base Docker repository nameベースのDockerリポジトリ名には何を使用すべきか)には、gcr.io/YOUR_PROJECT_IDを設定します。

コンテナイメージを構築します。

  1. Google Container Registryを使用する場合は、ローカルのDockerデーモンなしでレジストリに直接ビルドできます:./mvnw package -Pprod jib:build
  2. それ以外の場合は、Dockerデーモンにビルドします:./mvnw package -Pprod jib:dockerBuild

Kubernetesクラスタへデプロイします。

  1. Kubernetes設定を適用します:./kubectl-apply.sh

Kubernetesジェネレータの全機能については、Kubernetesへのデプロイを参照してください。

HTTPSを有効にする

クラスタでHTTPSを有効にするには、Ray Tsang氏の外部のロードバランシングのドキュメントを参照してください。

HTTPSの使用を強制するには、次の設定をSecurityConfiguration.javaに追加します。

// Spring MVC
http.requiresChannel(channel -> channel
.requestMatchers(r -> r.getHeader("X-Forwarded-Proto") != null).requiresSecure());

// WebFlux
http.redirectToHttps(redirect -> redirect
.httpsRedirectWhen(e -> e.getRequest().getHeaders().containsKey("X-Forwarded-Proto")));

詳細については、Spring SecurityのServletおよびWebFluxのドキュメントを参照してください。