このページでは、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
使ってみる
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
[Dataproc Metastore] ページで、移行先のサービスの名前をクリックします。
サービスの詳細ページが開きます。
ページ上部の [データを移行] をクリックします。
[移行を作成] ページが開き、[接続] タブが開き、Dataproc Metastore の Cloud SQL データベース構成の構成設定が表示されます。
DPMS 用の Cloud SQL データベース構成
[インスタンス接続名] に、Cloud SQL データベースのインスタンス接続名を
project_id:region:instance_name
の形式で入力します。[IP アドレス] フィールドに、Cloud SQL インスタンスへの接続に必要な IP アドレスを入力します。
[ポート] フィールドに「3306」と入力します。
[Hive データベース名] フィールドに、セルフマネージド Hive Metastore のバックエンドとして使用されるデータベースの名前を入力します。
[ユーザー名] フィールドに、Cloud SQL を Hive メタストアに接続するのに使用するユーザー名を入力します。
[パスワード] フィールドに、Cloud SQL を Hive メタストアに接続するのに使用するパスワードを入力します。
SOCKS5 プロキシ サービス
[プロキシ サブネット] フィールドに、標準タイプのサブネットを入力します。サブネットワークは、Cloud SQL VPC ネットワーク内に存在する必要があります。このサブネットは、中間 SOCKS5 プロキシ サービスのデプロイに使用されます。
[NAT サブネット] フィールドに、Private Service Connect タイプのサブネットを入力します。このサブネットワークは、Cloud SQL VPC ネットワークに存在する必要があり、Private Service Connect を使用する SOCKS5 プロキシ サービスを公開するために使用されます。
[続行] をクリックします。
[変更データ キャプチャ(CDC)] タブが開き、Datastream の Cloud SQL データベース構成の構成設定が表示されます。
データ ストリーム用の Cloud SQL データベース構成
[ユーザー名] フィールドに、Datastream で使用する Cloud SQL CDC へのログインに使用するユーザー名を入力します。
[パスワード] フィールドに、Datastream で使用する Cloud SQL CDC へのログインに使用するパスワードを入力します。
[VPC ネットワーク] フィールドに、データストリームが CDC へのプライベート接続を確立するために使用する Cloud SQL インスタンスと同じ VPC ネットワーク内のネットワークを入力します。
[サブネット IP 範囲] フィールドに、
/29
以上のサブネット IP 範囲を入力します。データストリームは、この IP を使用して VPC ネットワークとのピアリングを確立します。[リバース プロキシ サブネット] フィールドに、Cloud SQL と同じ VPC ネットワークで作成したサブネットワークを入力します。データストリームでは、このサブネットワークが使用されます。サブネットワークは、Datastream CDC 用のリバース プロキシ接続をホストするために使用されます。サブネットは、Dataproc Metastore サービスと同じリージョンに構成する必要があります。
GCS の設定
[バケット ID] には、移行中に CDC データを保存する Cloud Storage のパスを選択します。
[ルートパス] フィールドに、Cloud Storage バケット内のルートパスを入力します。ストリーム イベントデータはこのパスに書き込まれます。
[作成] をクリックします。
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
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
ページ上部の [データを移行] をクリックします。
[データを移行] ページが開き、完了したマネージド移行が表示されます。
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
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
ページ上部の [データを移行] をクリックします。
[データを移行] ページが開き、キャンセルしたマネージド移行が表示されます。
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
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
ページ上部の [データを移行] をクリックします。
[データを移行] ページが開き、マネージド移行が表示されます。
移行の詳細を取得するには、マネージド移行の名前をクリックします。
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
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
ページ上部の [データを移行] をクリックします。
[データを移行] ページが開き、マネージド移行が表示されます。
コマンドによって移行が一覧表示されたことを確認します。
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
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
ページ上部の [データを移行] をクリックします。
[データを移行] ページが開き、マネージド移行が表示されます。
移行を選択し、[削除] をクリックします。
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。