インスタンスとパイプラインのバージョン アップグレードを管理する

このページでは、インスタンスまたはバッチ パイプラインのバージョンのアップグレードについて説明します。

Cloud Data Fusion インスタンスとバッチ パイプラインを最新のプラットフォームとプラグインのバージョンにアップグレードして、最新の機能、バグの修正、パフォーマンスの改善を実現します。

準備

  • アップグレードのために計画的ダウンタイムを設定します。 この処理には最大で 1 時間ほどかかります。
  • In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

制限事項

  • Cloud Data Fusion インスタンスを作成した後では、アップグレード オペレーションであってもエディションを変更できません。

  • Terraform でアップグレードをトリガーしないでください。インプレース アップグレードを実行するのではなく、インスタンスを削除して再作成します。この問題により、インスタンス内の既存のデータが失われます。

  • Kafka リアルタイム ソースを使用してバージョン 6.8.0 で作成されたパイプラインを除き、リアルタイム パイプラインのアップグレードはサポートされていません。回避策については、リアルタイム パイプラインをアップグレードするをご覧ください。

  • Cloud Data Fusion は、アップグレード オペレーションの結果として停止したパイプラインを再起動しません。

Cloud Data Fusion インスタンスをアップグレードする

Cloud Data Fusion インスタンスを新しい Cloud Data Fusion バージョンにアップグレードするには、[インスタンスの詳細] ページに移動します。

  1. Google Cloud コンソールで、Cloud Data Fusion のページに移動します。

  2. [インスタンス]、インスタンス名の順にクリックして、[インスタンスの詳細] ページに移動します。

    [インスタンス] に移動

次に、Google Cloud コンソールまたは gcloud CLI を使用してアップグレードを実行します。

コンソール

  1. [アップグレード] をクリックして、使用可能なバージョンのリストを表示します。

  2. バージョンを選択してください

  3. [アップグレード] をクリックします。

  4. アップグレードが成功したことを確認します。

    1. [インスタンスの詳細] ページを更新します。

    2. [インスタンスを表示] をクリックして、Cloud Data Fusion ウェブ インターフェースでアップグレードされたインスタンスにアクセスします。

    3. メニューバーの [システム管理者] をクリックします。

      新しいバージョン番号がページ上部に表示されます。

  5. 新しいバージョンでパイプラインの実行時にパイプラインが動けなくなるのを防ぐために、アップグレードされたインスタンスで必要なロールを付与します。

gcloud

  1. 新しい Cloud Data Fusion バージョンにアップグレードするには、ローカルのターミナルの Cloud Shell セッションから次の gcloud CLI コマンドを実行します。

      gcloud beta data-fusion instances update INSTANCE_ID \
        --project=PROJECT_ID \
        --location=LOCATION_NAME \
        --version=AVAILABLE_INSTANCE_VERSION
    
  2. アップグレードが正常に完了したことを確認する手順は次のとおりです。

    1. Google Cloud コンソールで、Cloud Data Fusion の [インスタンス] ページに移動します。

    2. [インスタンスを表示] をクリックして、Cloud Data Fusion ウェブ インターフェースでアップグレードされたインスタンスにアクセスします。

    3. メニューバーの [システム管理者] をクリックします。

      新しいバージョン番号がページ上部に表示されます。

  3. 新しいバージョンでパイプラインの実行時にパイプラインが動けなくなるのを防ぐために、アップグレードされたインスタンスで必要なロールを付与します。

バッチ パイプラインをアップグレードする

Cloud Data Fusion バッチ パイプラインをアップグレードして最新のプラグイン バージョンを使用するには:

  1. 環境変数を設定します

  2. 推奨: すべてのパイプラインをバックアップします。パイプラインは次の 2 つの方法でバックアップできます。

    • 次の手順で zip ファイルをダウンロードします。

      1. zip ファイルのダウンロードをトリガーするには、次のコマンドですべてのパイプラインをバックアップします。
      echo $CDAP_ENDPOINT/v3/export/apps
      
      1. URL の出力をブラウザにコピーします。
      2. ダウンロードしたファイルを展開し、すべてのパイプラインがエクスポートされたことを確認します。パイプラインは名前空間により整理されます。
    • バージョン 6.9 以降で利用可能なソースコード管理(SCM)を使用してパイプラインをバックアップします。SCM には GitHub との統合が用意されており、パイプラインのバックアップに使用できます。

  3. 次の手順でパイプラインをアップグレードします。

    1. 次のステップで作成する pipeline_upgrade.json ファイルを指す変数を作成し、パイプラインのリストを保存します。

      export PIPELINE_LIST=PATH/pipeline_upgrade.json
      

      PATH は、ファイルのパスに置き換えます。

    2. 次のコマンドを使用して、インスタンスと名前空間のすべてのパイプラインのリストを作成します。結果は JSON 形式で $PIPELINE_LIST ファイルに保存されます。リストを編集して、アップグレードする必要のないパイプラインを削除できます。

      curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps -o $PIPELINE_LIST
      

      NAMESPACE_ID は、アップグレードを実行する Namespace に置き換えます。

    3. pipeline_upgrade.json にリストされているパイプラインをアップグレードします。アップグレードするパイプラインの NAMESPACE_ID を挿入します。アップグレードされたパイプラインのリストが、アップグレード ステータスとともに表示されます。

      curl -N -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/upgrade --data @$PIPELINE_LIST
      

      NAMESPACE_ID は、アップグレードするパイプラインの Namespace ID に置き換えます。

  4. 新しいバージョンでパイプラインの実行時にパイプラインが動けなくなるのを防ぐために、アップグレードされたインスタンスで必要なロールを付与します。

リアルタイム パイプラインをアップグレードする

Kafka リアルタイム ソースを使用してバージョン 6.8.0 で作成されたパイプラインを除き、リアルタイム パイプラインのアップグレードはサポートされていません。

それ以外の場合は、次のようにします。

  1. パイプラインを停止してエクスポートします。
  2. インスタンスをアップグレードします。
  3. アップグレードしたインスタンスにリアルタイム パイプラインをインポートします。

アップグレードによりレプリケーションを有効にする

レプリケーションは、バージョン 6.3.0 以降の Cloud Data Fusion 環境で有効にできます。バージョン 6.2.3 の場合は、6.3.0 にアップグレードしてから最新バージョンにアップグレードします。その後、レプリケーションを有効にできます。

アップグレードされたインスタンスにロールを付与する

アップグレードが完了したら、Cloud Data Fusion ランナーのロールroles/datafusion.runner)と Cloud Storage 管理者のロールroles/storage.admin)をプロジェクト内の Dataproc サービス アカウントに付与します。

次のステップ