Dataproc Metastore サービスでマネージド移行を使用する

このページでは、Dataproc Metastore のマネージド移行を開始および管理する方法について説明します。

Dataproc Metastore API を使用して移行を構成できます。

始める前に

移行を開始

移行の開始を実行すると、Dataproc Metastore は Cloud SQL に接続し、Cloud SQL をバックエンド データベースとして使用します。このプロセス中に、Dataproc Metastore は Cloud SQL から独自のデータベース(Spanner)にデータをコピーするパイプラインを実行します。

Dataproc Metastore は、完了した移行プロセスが呼び出されるまで、引き続き Cloud SQL をバックエンドとして使用し、データを複製します。

移行を開始する前に、マネージド移行の前提条件が設定されていることを確認してください。

移行の開始に関する考慮事項

  • Dataproc Metastore サービスは、一度に単一の移行の実行のみできます。

  • 移行プロセスが完了するまで、移行はアクティブのままです。移行の完了の期限はありません。たとえば、移行には 1 日、30 日、1 年かかる可能性があります。

  • スケジュール バックアップは、移行中に制限されません。ただし、バックアップが不完全な可能性があります。問題を回避するには、移行中にスケジュール設定されたバックアップを無効にします。

移行の開始により、次の状態の変化がトリガーされます。

  • Dataproc Metastore は、MIGRATING 状態に移行します。
  • 移行の実行状態が RUNNING に移行します。
  • 移行の実行フェーズが REPLICATION に移行します。

Console

使ってみる

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

    Dataproc Metastore に移動

  2. [Dataproc Metastore] ページで、移行先のサービスの名前をクリックします。

    サービスの詳細ページが開きます。

  3. ページ上部の [データを移行] をクリックします。

    [移行を作成] ページが開き、[接続] タブが開き、Dataproc Metastore の Cloud SQL データベース構成の構成設定が表示されます。

DPMS 用の Cloud SQL データベース構成

  1. [インスタンス接続名] に、Cloud SQL データベースのインスタンス接続名を project_id:region:instance_name の形式で入力します。

  2. [IP アドレス] フィールドに、Cloud SQL インスタンスへの接続に必要な IP アドレスを入力します。

  3. [ポート] フィールドに「3306」と入力します。

  4. [Hive データベース名] フィールドに、セルフマネージド Hive Metastore のバックエンドとして使用されるデータベースの名前を入力します。

  5. [ユーザー名] フィールドに、Cloud SQL を Hive メタストアに接続するのに使用するユーザー名を入力します。

  6. [パスワード] フィールドに、Cloud SQL を Hive メタストアに接続するのに使用するパスワードを入力します。

SOCKS5 プロキシ サービス

  1. [プロキシ サブネット] フィールドに、標準タイプのサブネットを入力します。サブネットワークは、Cloud SQL VPC ネットワーク内に存在する必要があります。このサブネットは、中間 SOCKS5 プロキシ サービスのデプロイに使用されます。

  2. [NAT サブネット] フィールドに、Private Service Connect タイプのサブネットを入力します。このサブネットワークは、Cloud SQL VPC ネットワークに存在する必要があり、Private Service Connect を使用する SOCKS5 プロキシ サービスを公開するために使用されます。

  3. [続行] をクリックします。

    [変更データ キャプチャ(CDC)] タブが開き、Datastream の Cloud SQL データベース構成の構成設定が表示されます。

データ ストリーム用の Cloud SQL データベース構成

  1. [ユーザー名] フィールドに、Datastream で使用する Cloud SQL CDC へのログインに使用するユーザー名を入力します。

  2. [パスワード] フィールドに、Datastream で使用する Cloud SQL CDC へのログインに使用するパスワードを入力します。

  3. [VPC ネットワーク] フィールドに、データストリームが CDC へのプライベート接続を確立するために使用する Cloud SQL インスタンスと同じ VPC ネットワーク内のネットワークを入力します。

  4. [サブネット IP 範囲] フィールドに、/29 以上のサブネット IP 範囲を入力します。データストリームは、この IP を使用して VPC ネットワークとのピアリングを確立します。

  5. [リバース プロキシ サブネット] フィールドに、Cloud SQL と同じ VPC ネットワークで作成したサブネットワークを入力します。データストリームでは、このサブネットワークが使用されます。サブネットワークは、Datastream CDC 用のリバース プロキシ接続をホストするために使用されます。サブネットは、Dataproc Metastore サービスと同じリージョンに構成する必要があります。

GCS の設定

  1. [バケット ID] には、移行中に CDC データを保存する Cloud Storage のパスを選択します。

  2. [ルートパス] フィールドに、Cloud Storage バケット内のルートパスを入力します。ストリーム イベントデータはこのパスに書き込まれます。

  3. [作成] をクリックします。

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d \
  '{
    "migration_execution": {
      "cloud_sql_migration_config": {
        "cloud_sql_connection_config": {
          "instance_connection_name": INSTANCE_CONNECTION_NAME,
          "hive_database_name": "HIVE_DATABASE_NAME",
          "ip_address": "IP_ADDRESS",
          "port": 3306,
          "username": "CONNECTION_USERNAME",
          "password": "CONNECTION_PASSWORD",
          "proxy_subnet": "PROXY_SUBNET",
          "nat_subnet": "NAT_SUBNET"
        },
        "cdc_config": {
          "username": "CDC_USENAME",
          "password": "CDC_PASSWORD",
          "vpc_network": "VPC_NETWORK",
          "subnet_ip_range": "SUBNET_IP_RANGE",
          "reverse_proxy_subnet": "REVERSE_PROXY_SUBNET_ID",
          "bucket": "BUCKET_NAME",
          "root_path": "ROOT_PATH",
        }
      }
    }
}' \
  https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:startMigration

以下を置き換えます。

  • SERVICE: Dataproc Metastore サービスの名前または ID。
  • PROJECT_ID: Dataproc Metastore サービスが存在する Google Cloud プロジェクトのプロジェクト ID。
  • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。

Cloud SQL 移行構成

  • INSTANCE_CONNECTION_NAME: Cloud SQL データベースのインスタンス接続名(PROJECT_ID/LOCATION/CLOUDSQL_INSTANCE_ID の形式)。
  • HIVE_DATABASE_NAME: Cloud SQL に接続されたセルフマネージド Hive データベースの名前。
  • IP_ADDRESS: Cloud SQL インスタンスへの接続に必要な IP アドレス。
  • CONNECTION_USERNAME: Cloud SQL を Hive メタストアに接続するのに使用するユーザー名。
  • CONNECTION_PASSWORD は、Cloud SQL を Hive メタストアに接続するのに使用するパスワード。
  • PROXY_SUBNET: Cloud SQL VPC ネットワークで使用されるサブネットワーク。このサブネットワークは、中間プロキシをホストして、推移的ネットワーク間の接続を提供します。
  • NAT_SUBNET: Dataproc Metastore サービスから中間プロキシにアクセスする接続を提供する Private Service Connect サブネット。サブネット サイズのプレフィックスの長さは /29 以上IPv4 範囲でなければなりません。

CDC 構成

  • CDC_USERNAME: Datastream サービスが Cloud SQL へのログインに使用するユーザー名。
  • CDC_PASSWORD: Datastream サービスが Cloud SQL へのログインに使用するパスワード。
  • VPC_NETWORK: CDC へのプライベート接続を確立するためにデータストリームが使用する Cloud SQL インスタンスと同じ VPC ネットワーク内のネットワーク。
  • SUBNET_IP_RANGE: VPC ネットワークとのピアリングを確立するためにデータストリームが使用する、/29 以上のサブネット IP 範囲。
  • REVERSE_PROXY_SUBNET_ID: データストリームで使用される Cloud SQL インスタンスと同じ VPC ネットワーク内のサブネットワーク。サブネットワークは、Datastream CDC 用のリバース プロキシ接続をホストするために使用されます。サブネットは、Dataproc Metastore サービスと同じリージョンに構成する必要があります。
  • BUCKET_NAME: 移行中に CDC データを保存する Cloud Storage パス。
  • ROOT_PATH: Cloud Storage バケット内のルートパス。ストリーム イベントデータはこのパスに書き込まれます。

移行を完了する

移行が完了すると、Dataproc Metastore は Spanner に接続し、Spanner をバックエンド データベースとして使用し始めます。

移行が完了すると、次の状態の変化がトリガーされます。

  • Dataproc Metastore は、ACTIVE 状態に移行します。
  • 移行の実行状態が SUCCEEDED に移行します。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

  2. ページ上部の [データを移行] をクリックします。

    [データを移行] ページが開き、完了したマネージド移行が表示されます。

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d '' \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:completeMigration

以下を置き換えます。

  • SERVICE: Dataproc Metastore サービスの名前または ID。
  • PROJECT_ID: Dataproc Metastore サービスが存在する Google Cloud プロジェクトのプロジェクト ID。
  • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。

移行をキャンセル

移行をキャンセルすると、Dataproc Metastore は変更を元に戻して、Spanner データベース タイプをバックエンド データベースとして使用します。移行中に転送されたデータは削除されます。

移行のキャンセルにより、次の状態の変化がトリガーされます。

  • Dataproc Metastore は、ACTIVE 状態に移行します。
  • 移行の実行状態が CANCELLED に移行します。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

  2. ページ上部の [データを移行] をクリックします。

    [データを移行] ページが開き、キャンセルしたマネージド移行が表示されます。

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d '' \
    https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:cancelMigration

以下を置き換えます。

  • SERVICE_NAME: Dataproc Metastore サービスの名前または ID。
  • PROJECT_ID: Dataproc Metastore サービスが存在する Google Cloud プロジェクトのプロジェクト ID。
  • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。

移行の詳細を取得する

単一のマネージド移行の詳細を取得します。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

  2. ページ上部の [データを移行] をクリックします。

    [データを移行] ページが開き、マネージド移行が表示されます。

    移行の詳細を取得するには、マネージド移行の名前をクリックします。

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -X GET \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

以下を置き換えます。

  • SERVICE: Dataproc Metastore サービスの名前または ID。
  • PROJECT_ID: Dataproc Metastore サービスが存在する Google Cloud プロジェクトのプロジェクト ID。
  • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。
  • MIGRATION_ID: Dataproc Metastore の移行の名前または ID。

移行を一覧表示する

マネージド移行を一覧表示します。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

  2. ページ上部の [データを移行] をクリックします。

    [データを移行] ページが開き、マネージド移行が表示されます。

  3. コマンドによって移行が一覧表示されたことを確認します。

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -X GET \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

以下を置き換えます。

  • SERVICE: Dataproc Metastore サービスの名前または ID。
  • PROJECT_ID: Dataproc Metastore サービスが存在する Google Cloud プロジェクトのプロジェクト ID。
  • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。

移行の削除

マネージド移行を削除します。

Console

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。

  2. ページ上部の [データを移行] をクリックします。

    [データを移行] ページが開き、マネージド移行が表示されます。

  3. 移行を選択し、[削除] をクリックします。

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -X DELETE \
    https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

以下を置き換えます。

  • SERVICE: Dataproc Metastore サービスの名前または ID。
  • PROJECT_ID: Dataproc Metastore サービスが存在する Google Cloud プロジェクトのプロジェクト ID。
  • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。
  • MIGRATION_ID: Dataproc Metastore 移行の名前または ID。

次のステップ