アップグレード ガイド

このガイドでは、Terraform を使用して既存の Manufacturing Data Engine(MDE)インストールをアップグレードする方法について一般的なガイダンスを提供します。

Terraform スクリプトを変更した場合は、追加の手順が必要になることがあります。これは一般的なアップグレード ガイドであるため、デプロイする特定のバージョンの完全なリリースノートも必ずお読みください。考慮すべき情報が含まれている可能性があります。

始める前に

アップグレードする前に、一部の Dataflow ジョブを手動で停止する必要があります。リリースノートには、アップグレード先の特定のバージョンで手動で停止する必要があるジョブが記載されています。

このガイドには、次の前提条件があります。

  1. デフォルトのデプロイ パッケージを使用している。
  2. クライアント環境に、必要な CLI ツールが最新バージョンでインストールされている。

    MDE のデプロイには任意のクライアント環境を使用できますが、Cloud Shell からデプロイすると、必要なツールのほとんどがすでにインストールされているため、時間を節約できます。

    Cloud Shell をアクティブにする

  3. MDE Google Cloud プロジェクトに対する完全なアクセス権と、元のデプロイに使用された構成ファイルに対するアクセス権がある。

    • サービス アカウントの JSON キーファイル: mde-imgs-service-account-key.json
    • Terraform: input.tfvars
    • Terraform: backend.conf

    このガイドのすべての gcloud コマンドは、デフォルトのプロジェクトが MDE デプロイ プロジェクトに設定されていることを前提としています。デフォルト プロジェクトは、次のコマンドで設定できます。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、MDE デプロイ プロジェクト ID に置き換えます。

  4. MDE GKE クラスタの認証情報を取得している。まだ実行していない場合は、次のコマンドを使用します。

    export CLUSTER_NAME="mde-gke"
    export CLUSTER_LOCATION=$(gcloud container clusters list --filter="name:$CLUSTER_NAME" --format="value(LOCATION)" )
    
    # when upgrading to 1.5.2 we need to enable DNS endpoint on GKE cluster to allow Terraform connect to it
    gcloud container clusters update $CLUSTER_NAME --region $CLUSTER_LOCATION --enable-dns-access
    
    export KUBE_CONFIG_PATH=~/.kube/config
    gcloud container clusters get-credentials $CLUSTER_NAME --region $CLUSTER_LOCATION --dns-endpoint
    

    デフォルト名(mde-gke)を変更した場合は、CLUSTER_NAME をクラスタの名前に置き換えます。kubeconfig がデフォルトのパスにない場合は、KUBE_CONFIG_PATH を変更します。

アップグレード

このセクションでは、Terraform を使用してアップグレードを行う方法について説明します。

  1. Terraform サービス アカウントの権限を更新して、MDE 1.4.0 以降で新たに必要となる権限を追加します。次のコマンドを使用して追加できます。

    export PROJECT_ID=$(gcloud config get-value project)
    export SA_TERRAFORM="mde-tf"
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member="serviceAccount:$SA_TERRAFORM@$PROJECT_ID.iam.gserviceaccount.com" \
    --role='roles/file.editor'
    
  2. 次のコマンドを使用して、古いデプロイ フォルダをバックアップします。

    cp -r MDE_FOLDER MDE_FOLDER_BACKUP
    

    MDE_FOLDERMDE_FOLDER_BACKUP は、MDE フォルダとバックアップ フォルダの名前に置き換えます。

  3. 最新の MDE ソリューション リリース パッケージをダウンロードして解凍します。

    1. ソリューション パッケージをダウンロードします。
    2. パッケージをクライアント環境に抽出します。
    3. cd コマンドを使用して、新しいリリース フォルダに移動します。
  4. v1.4.x にアップグレードする場合は、次のコマンドを使用して、バックアップから新しいフォルダに次のファイルをコピーします(ファイルパスは異なる場合があります)。

    cp ../MDE_FOLDER_BACKUP/mde-imgs-service-account-key.json .
    cd deployment/terraform
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/input.tfvars .
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/backend.conf .
    

    v1.5.1 にアップグレードする場合は、次のファイルのみをコピーします。

    cd deployment/terraform
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/input.tfvars .
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/backend.conf .
    

    MDE_FOLDER_BACKUP は、MDE バックアップ フォルダの名前に置き換えます。

  5. v1.4.x から v1.5.x にアップグレードする場合、または v1.5.0 から v1.5.1 にアップグレードする場合は、リリース パッケージに含まれているアップグレード前スクリプトを実行します。

    # Execute script from the upgrade/1.5 directory and return to the terraform directory
    cd ../../upgrade/1.5
    export BQ_PROJECT_ID=$(gcloud config get-value project)
    export PUBSUB_PROJECT_ID=$(gcloud config get-value project)
    sh migrate-metadata-instance-bq-table.sh "$BQ_PROJECT_ID" "$PUBSUB_PROJECT_ID"
    cd ../../deployment/terraform
    
  6. 1.5.2 にアップグレードする場合は、次のコマンドを使用して、providers.tf ファイル内のローカル kubeconfig を使用するように Kubernetes プロバイダを切り替える必要があります。

    provider "kubernetes" {
    config_path            = "~/.kube/config"
    # host                   = "https://${local.gke_host}"
    # token                  = data...
    # cluster_ca_certificate = local.gke_ca_cert
    }
    
    provider "helm" {
    kubernetes {
        config_path            = "~/.kube/config"
        # host                   = "https://${local.gke_host}"
        # token                  = data...
        # cluster_ca_certificate = local.gke_ca_cert
    }
    }
    
  7. 次のコマンドを使用して Terraform 状態を再読み込みします。

    terraform init -backend-config=backend.conf -reconfigure
    
  8. Terraform プランを作成します。

    入力パラメータの準備ができたら、次のコマンドを使用して Terraform プランを作成する必要があります。このプランを使用して、プロジェクトで作成されるアーティファクトと構成を確認できます。

    terraform plan -var-file=./input.tfvars -out=./tfplan
    

    このコマンドを使用して、計画された変更を閲覧できます。

    terraform show -no-color ./tfplan > tfplan.txt
    more tfplan.txt
    
  9. 次のコマンドを使用して Terraform プランを適用します。

    terraform apply ./tfplan
    
  10. デプロイが成功したことを確認します。

    terraform apply コマンドの実行が完了すると、次のような成功メッセージが表示されます(実際の数は、特定のデプロイ オプションとバージョンによって異なります)。

    Apply complete! Resources: 1 added, 34 changed, 0 destroyed.
    

アップグレード後

アップグレードが完了したら、以前の MDE デプロイのステータスに応じて、次の手順を 1 つ以上実行する必要があります。

既存のタイプの BigQuery ビュー

1.4.x より前のリリースからアップグレードする場合、この機能は 1.4.0 で導入されたため、作成されたタイプに分析ビューは作成されません。アナリティクス ビューの再作成をトリガーするには、既存のタイプを再度有効にする必要があります。/activate エンドポイントは、リリースに付属している Postman キットで確認できます。

GKE クラスタの Filestore ドライバ

GKE クラスタ Pod が起動しない、または ContainerCreating 状態のままになるという問題が発生した場合は、Filestore ドライバが有効になっていない可能性があります。有効にするには、デプロイ ガイドの手順に沿って操作します。