このページでは、Dataproc Metastore サービスのバックアップを作成する方法について説明します。
バックアップはサービスのスナップショットを作成し、在の構成設定と保存されているすべてのメタデータを保存します。
バックアップを作成した後、バックアップから復元する機能を使用して、スナップショットに保存されたデータを新しい Dataproc Metastore サービスに追加できます。
準備
- プロジェクトで Dataproc Metastore を有効にします。
- Dataproc Metastore サービスを作成します。
- 省略可: メタデータを Dataproc Metastore にインポートします。
必要なロール
Dataproc Metastore サービスをバックアップするために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。
-
バックアップを完了するために Dataproc Metastore リソースに対する完全アクセス権を付与するには、次のいずれかを行います。
-
メタデータ サービスに対する Dataproc Metastore 編集者(
roles/metastore.editor
)。 -
プロジェクトに対する Dataproc Metastore 管理者(
roles/metastore.admin
)。
-
メタデータ サービスに対する Dataproc Metastore 編集者(
- データベースとテーブルの特定のメタデータに対する読み取り / 変更アクセス権を付与する場合: メタデータ サービスに対する Dataproc Metastore メタデータ オペレータ (
roles/metastore.metadataOperator
) -
スケジュール バックアップを格納する Cloud Storage オブジェクトを使用する場合: Dataproc Metastore サービス エージェントの Cloud Storage オブジェクト ユーザー (
roles/storage.objectUser
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、Dataproc Metastore サービスをバックアップするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Dataproc Metastore サービスをバックアップするには、次の権限が必要です。
-
メタデータ サービスをバックアップするには:
metastore.backups.create
-
Cloud Storage オブジェクトを使用するには:
-
orgpolicy.policy.get
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
storage.managedFolders.create
-
storage.managedFolders.delete
-
storage.managedFolders.get
-
storage.managedFolders.list
-
storage.multipartUploads.*
-
storage.objects.create
-
storage.objects.delete
-
storage.objects.get
-
storage.objects.list
-
storage.objects.restore
-
storage.objects.update
-
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Dataproc Metastore の特定のロールと権限については、Dataproc Metastore IAM の概要をご覧ください。バックアップに関する考慮事項
バックアップ オペレーションを実行する前に、次の検討事項を留意してください。
- Dataproc Metastore サービスごとに、一度に 7 個までバックアップを作成して保存できます。7 個を超えるバックアップを試行すると、バックアップ プロセスは失敗します。別のバックアップを作成する場合は、保存したバックアップ ファイルのいずれかを手動で削除する必要があります。
- バックアップ オペレーションの実行中は、Dataproc Metastore サービスを更新できません。たとえば、構成設定の変更はできません。ただし、接続された Dataproc やセルフマネージド クラスタからメタデータにアクセスするなど、通常のオペレーションには引き続きサービスを使用できます。
- 毎日など、さまざまな cron 間隔で実行されるスケジュール バックアップを作成できます。
バックアップの作成
Dataproc Metastore サービスをバックアップするには、次のいずれかのタブに示されている手順を行います。
Console
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
[Dataproc Metastore] ページで、バックアップするサービスの名前をクリックします。
サービスの詳細ページが開きます。
ページの上部にある [移行] をクリックします。
[バックアップ] ページが開きます。
[バックアップ名] を入力します。
(省略可)バックアップの [説明] を入力します。
バックアップ オペレーションを開始するには、[バックアップ] をクリックします。
[Dataproc Metastore] ページに戻り、サービスが正常にバックアップされたことを確認します。
バックアップが正常に完了したかどうかに関係なく、バックアップが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。
gcloud CLI
Dataproc Metastore サービスをバックアップするには、次の
gcloud metastore services backups create
コマンドを実行します。gcloud metastore services backups create BACKUP \ --location=LOCATION \ --service=SERVICE \ --description=DESCRIPTION
以下を置き換えます。
BACKUP
: バックアップの ID または完全修飾 ID。LOCATION
: Dataproc Metastore サービスが存在する Google Cloud リージョン。SERVICE
: Dataproc Metastore サービスの名前。DESCRIPTION
: バックアップの説明。
サービスが正常にバックアップされたことを確認します。
バックアップが正常に完了したかどうかに関係なく、バックアップが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。
REST
API Explorer を使用して、サービスからメタデータをバックアップする API の手順に沿って操作します。
バックアップが正常に完了したかどうかに関係なく、バックアップが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。
バックアップ履歴を表示する
Google Cloud コンソールで Dataproc Metastore サービスのバックアップ履歴を表示するには、次の手順を実行します。
- Google Cloud コンソールで [Dataproc Metastore] ページを開きます。
ナビゲーション バーで、[バックアップ / 復元] をクリックします。
バックアップ履歴は、[バックアップ] の下の表に表示されます。
履歴には、最新の 7 件のバックアップが表示されます。
Dataproc Metastore サービスを削除すると、関連するすべてのバックアップ履歴も削除されます。
バックアップを削除する
Google Cloud コンソールで Dataproc Metastore バックアップを削除するには、次の手順を実行します。
- Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
- ナビゲーション バーで、[バックアップ / 復元] をクリックします。
- 削除するバックアップを見つけて、設定ボタンをクリックします。
- [削除] をクリックします。
バックアップのスケジュールを設定する
バックアップは、日単位、週単位、月単位など、ユーザーが指定した cron ジョブ間隔で実行するようにスケジュールできます。cron スケジュールでは、unix-cron 文字列形式(* * * * *)を使用します。これは、1 行に 5 つのフィールドのセットであり、ジョブが実行されるタイミングを示しています。
たとえば、毎週水曜日の午後 2 時(PST)にバックアップを作成するなど、バックアップを毎週作成するようにカスタムの間隔を設定できます。
スケジュール バックアップに関する考慮事項
- スケジュール バックアップでは、バックアップ ロケーションを指定する必要があります。これは Cloud Storage パスである必要があります。
- スケジュール バックアップは常に Avro ファイル形式で作成されます。
- スケジュール バックアップは、デフォルトで UTC タイムゾーンで構成されます。バックアップを初めて作成するときに、タイムゾーンを変更できます。
- スケジュール バックアップは、時間、日、週、月単位の間隔で実行できます。設定できる最小の間隔は 4 時間です。
スケジュール バックアップを作成する
バックアップのスケジュールは、サービスを初めて作成するときに設定することも、サービスの更新時に追加することもできます。
スケジュール バックアップを使用して Dataproc Metastore サービス 2 を作成するには、次のいずれかのタブの手順を行います。
Console
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
Dataproc Metastore ページの上部にある [作成] ボタンをクリックします。
[Create service] ページが開きます。
[Dataproc Metastore 2] を選択します。
[スケジュール バックアップ] で切り替えボタンを [有効にする] に設定します。
[ロケーション] で、スケジュール バックアップを保存する Cloud Storage のロケーションを選択します。
省略可: [スケジュール] で、以下を選択します。
- [繰り返し] で、繰り返し([毎日] や [毎週] など)を選択します。
- [時刻] で、繰り返しの時間(午前 12 時など)を選択します。
- [タイムゾーン] で、該当するタイムゾーン(UTC-8 など)を選択します。
残りのサービス構成オプションには、指定されたデフォルトを使用します。
[送信] をクリックします。
gcloud CLI
Dataproc Metastore サービスのバックアップをスケジュールするには、次の
gcloud metastore services backups create
コマンドを実行します。gcloud metastore services create SERVICE \ --location=LOCATION \ --enable-scheduled-backup \ --scheduled-backup-cron=SCHEDULED_BACKUP_CRON \ --scheduled-backup-location=SCHEDULED_BACKUP_LOCATION
以下を置き換えます。
SERVICE
: バックアップの ID または完全修飾 ID。LOCATION
: Dataproc Metastore サービスが存在する Google Cloud リージョン。SCHEDULED_BACKUP_CRON
: バックアップの頻度(cron 時間形式)。たとえば、cron 値を0 0 * * *
にすると、日次バックアップがスケジュールされます。SCHEDULED_BACKUP_LOCATION
: バックアップの Cloud Storage のロケーション。例:gs://my-bucket/path/to/location
。
または
また、上記の値を構成ファイルに保存することで、バックアップをスケジュールすることもできます。
gcloud metastore services create SERVICE \ --location=LOCATION \ --scheduled-backup-configs-from-file=SCHEDULED_BACKUP_CONFIGS_FROM_FILE
以下を置き換えます。
SCHEDULED_BACKUP_CONFIGS_FROM_FILE
: バックアップ構成値enabled
、cront_schedule
、time_zone
、backup_location
を含む JSON ファイルへのパス。
次の例では、スケジュール バックアップを有効にし、バックアップ スケジュールを 1 時間ごとに設定し、タイムゾーンを PST として指定し、バックアップのロケーションを Cloud Storage バケットとして定義しているバックアップ構成ファイルを示しています。タイムゾーンは、共通の tz データベースのタイムゾーンのリストから選択できます。
{ "enabled": true, "cron_schedule": "0 0 * * *", "time_zone": "PST", "backup_location": "gs://my-bucket/path/to/location" }
REST
API Explorer を使用し、API の手順に従ってスケジュール バックアップを作成します。
スケジュール バックアップを更新する
スケジュール バックアップで構成された Dataproc Metastore サービス 2 を更新するには、次のいずれかのタブに示されている手順を行います。
Console
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
[Dataproc Metastore] ページで、バックアップをスケジュールするサービスの名前をクリックします。
[スケジュール バックアップ] で切り替えボタンを [有効] に設定します。
[ロケーション] で、スケジュール バックアップを保存する Cloud Storage のロケーションを選択します。
省略可: [スケジュール] で、次のフィールドの値を選択します。
- [繰り返し] で、繰り返し([毎日] や [毎週] など)を選択します。
- [時刻] で、繰り返しの時間(午前 12 時など)を選択します。
- [タイムゾーン] で、該当するタイムゾーン(UTC-8 など)を選択します。
gcloud CLI
Dataproc Metastore サービスのバックアップをスケジュールするには、次の
gcloud metastore services backups update
コマンドを実行します。gcloud metastore services update SERVICE \ --location=LOCATION \ --enable-scheduled-backup \ --scheduled-backup-cron=SCHEDULED_BACKUP_CRON \ --scheduled-backup-location=SCHEDULED_BACKUP_LOCATION \
以下を置き換えます。
SERVICE
: スケジュールされたバックアップの ID または完全修飾 ID。LOCATION
: Dataproc Metastore サービスが存在する Google Cloud リージョン。SCHEDULED_BACKUP_CRON
: バックアップの頻度(cron 時間形式)。たとえば、cron 値を0 0 * * *
にすると、日次バックアップがスケジュールされます。SCHEDULED_BACKUP_LOCATION
: スケジュール バックアップの Cloud Storage のロケーション。例:gs://my-bucket/path/to/location
。
構成ファイルに保存されている上記の値を使用して、スケジュール バックアップを更新することもできます。
gcloud metastore services update SERVICE \ --location=LOCATION \ --scheduled-backup-configs-from-file=SCHEDULED_BACKUP_CONFIGS_FROM_FILE
以下を置き換えます。
SCHEDULED_BACKUP_CONFIGS_FROM_FILE
: バックアップ構成を含む JSON ファイルへのパス。
次の例は、スケジュール バックアップを無効にするバックアップ構成ファイルを示しています。
{ "enabled": false, }
REST
API Explorer を使用し、API の手順に従ってスケジュール バックアップを更新します。
スケジュール バックアップを表示する
スケジュール バックアップで構成された Dataproc Metastore サービス 2 を表示するには、次のいずれかのタブに示されている手順を行います。
Console
Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
ページの上部にある [移行] をクリックします。
[バックアップ] ページが開き、スケジュールされたバックアップが表示されます。バックアップは実際には、スケジュール バックアップ構成で指定した Cloud Storage バケットに保管されます。
gcloud CLI
次の
gcloud storage ls
コマンドを実行します。gcloud storage ls gs://BUCKET_NAME/SERVICE/LOCATION
以下を置き換えます。
BUCKET_NAME
: 表示するスケジュール バックアップを保存する Cloud Storage バケットへのパス。SERVICE
: スケジュールされたバックアップの ID または完全修飾 ID。LOCATION
: Dataproc Metastore サービスが存在する Google Cloud リージョン。
REST
API Explorer を使用して、API の手順に従ってスケジュール バックアップを表示します。
一般的な問題のトラブルシューティング
- サービス エージェントまたはユーザー アカウントに必要な権限がない。
- 一般的なトラブルシューティングの問題を解決する方法については、バックアップと復元のエラーシナリオをご覧ください。