Dataproc Metastore サービスのバックアップ

このページでは、Dataproc Metastore サービスのバックアップを作成する方法について説明します。

バックアップはサービスのスナップショットを作成し、在の構成設定と保存されているすべてのメタデータを保存します。

バックアップを作成した後、バックアップから復元する機能を使用して、スナップショットに保存されたデータを新しい Dataproc Metastore サービスに追加できます。

準備

必要なロール

Dataproc Metastore サービスをバックアップするために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。

  • バックアップを完了するために 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 サービスをバックアップするには、次のいずれかのタブに示されている手順を行います。

コンソール

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

    Dataproc Metastore を開く

  2. [Dataproc Metastore] ページで、バックアップするサービスの名前をクリックします。

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

    サービスの詳細ページ
    図 1. Dataproc Metastore サービスの詳細ページ
  3. ページの上部にある [移行] をクリックします。

    [バックアップ] ページが開きます。

  4. [バックアップ名] を入力します。

  5. (省略可)バックアップの [説明] を入力します。

  6. バックアップ オペレーションを開始するには、[バックアップ] をクリックします。

    [Dataproc Metastore] ページに戻り、サービスが正常にバックアップされたことを確認します。

    バックアップが正常に完了したかどうかに関係なく、バックアップが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。

gcloud CLI

  1. 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: バックアップの説明。
  2. サービスが正常にバックアップされたことを確認します。

    バックアップが正常に完了したかどうかに関係なく、バックアップが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。

REST

API Explorer を使用して、サービスからメタデータをバックアップする API の手順に沿って操作します。

バックアップが正常に完了したかどうかに関係なく、バックアップが完了すると、Dataproc Metastore は自動的にアクティブな状態に戻ります。

バックアップ履歴を表示する

Google Cloud コンソールで Dataproc Metastore サービスのバックアップ履歴を表示するには、次の手順を実行します。

  1. Google Cloud コンソールで [Dataproc Metastore] ページを開きます。
  2. ナビゲーション バーで、[バックアップ / 復元] をクリックします。

    バックアップ履歴は、[バックアップ] のテーブルに表示されます。

    履歴には、最新の 7 件のバックアップが表示されます。

    Dataproc Metastore サービスを削除すると、関連するすべてのバックアップ履歴も削除されます。

バックアップを削除する

Google Cloud コンソールで Dataproc Metastore バックアップを削除するには、次の手順を実行します。

  1. Google Cloud コンソールで、[Dataproc Metastore] ページを開きます。
  2. ナビゲーション バーで、[バックアップ / 復元] をクリックします。
  3. 削除するバックアップを見つけて、設定ボタンをクリックします。
  4. [削除] をクリックします。

バックアップのスケジュールを設定する

バックアップは、ユーザー指定の cron ジョブの間隔(毎日、毎週、毎月など)で実行するようにスケジュールできます。cron スケジュールは、unix-cron 文字列形式(* * * * *)を使用します。これは、1 行に 5 つのフィールドのセットであり、ジョブが実行されるタイミングを示しています。

たとえば、毎週水曜日の午後 2 時(PST)にバックアップを作成するなど、バックアップを毎週作成するカスタムの間隔を設定できます。

スケジュール バックアップに関する考慮事項

  • スケジュール バックアップでは、バックアップの場所を指定する必要があります。バックアップの場所は Cloud Storage のパスである必要があります。
  • スケジュール バックアップは常に Avro ファイル形式で作成されます。
  • スケジュール設定されたバックアップは、デフォルトで UTC タイムゾーンで構成されます。初めてバックアップを作成するときに、タイムゾーンを変更できます。
  • スケジュール バックアップは、毎日、毎週、毎月のいずれかに実行するよう設定できます。

スケジュール バックアップを作成する

バックアップ スケジュールは、サービスを初めて作成するときに設定できます。また、後でサービスを更新するときに追加することもできます。

スケジュール バックアップを使用して Dataproc Metastore サービス 2 を作成するには、次のいずれかのタブに示されている手順を行います。

コンソール

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

  2. Dataproc Metastore ページの上部にある [作成] ボタンをクリックします。

    [Create service] ページが開きます。

  3. [Dataproc Metastore 2] を選択します。

  4. [スケジュール バックアップ] で切り替えボタンを [有効にする] に設定します。

  5. [ロケーション] で、スケジュール バックアップを保存する Cloud Storage のロケーションを選択します。

  6. 省略可: [スケジュール] で、以下を選択します。

    1. [繰り返し] で、[毎日] や [毎週] などの繰り返しを選択します。
    2. [時刻] で、繰り返しの時刻(午前 12 時など)を選択します。
    3. [タイムゾーン] で、該当するタイムゾーン(UTC-8 など)を選択します。
  7. 残りのサービス構成オプションには、指定されたデフォルトを使用します。

  8. [送信] をクリックします。

gcloud CLI

  1. 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

    or

    上記の値を構成ファイルに保存することで、バックアップをスケジュールすることもできます。

    gcloud metastore services create SERVICE \
       --location=LOCATION \
       --scheduled-backup-configs-from-file=SCHEDULED_BACKUP_CONFIGS_FROM_FILE
    

    次のように置き換えます。

    • SCHEDULED_BACKUP_CONFIGS_FROM_FILE: バックアップ構成値 enabledcront_scheduletime_zonebackup_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 を更新するには、次のいずれかのタブに示されている手順を行います。

コンソール

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

  2. [Dataproc Metastore] ページで、バックアップをスケジュールするサービスの名前をクリックします。

  3. [スケジュール バックアップ] で切り替えボタンを [有効] に設定します。

  4. [ロケーション] で、スケジュール バックアップを保存する Cloud Storage のロケーションを選択します。

  5. 省略可: [スケジュール] で、次のフィールドの値を選択します。

    1. [繰り返し] で、[毎日] や [毎週] などの繰り返しを選択します。
    2. [時刻] で、繰り返しの時刻(午前 12 時など)を選択します。
    3. [タイムゾーン] で、該当するタイムゾーン(UTC-8 など)を選択します。

gcloud CLI

  1. 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 を表示するには、次のいずれかのタブに示されている手順を行います。

コンソール

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

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

    [バックアップ] ページが開き、スケジュール バックアップが表示されます。バックアップは実際には、スケジュール バックアップの構成で指定した Cloud Storage バケットに保管されています。

gcloud CLI

  1. 次の gsutil ls コマンドを実行します。

    gsutil ls gs://BUCKET_NAME/SERVICE/LOCATION
    

    次のように置き換えます。

    • BUCKET_NAME: 表示するスケジュール バックアップを保存する Cloud Storage バケットへのパス。
    • SERVICE: スケジュール バックアップの ID または完全修飾 ID。
    • LOCATION: Dataproc Metastore サービスが存在する Google Cloud リージョン。

REST

API Explorer を使用し、API の手順に従ってスケジュール バックアップを表示します。

一般的な問題のトラブルシューティング

次のステップ