ワークロードをバックアップする


このページでは、Backup for GKE サービスを使用して、Google Kubernetes Engine(GKE)でワークロードのバックアップを作成する方法について説明します。

はじめに

バックアップには 2 つの形式のデータが含まれます。

  • 構成のバックアップ: バックアップを実行するクラスタの API サーバーから抽出された一連の Kubernetes リソースの説明。
  • ボリュームのバックアップ: 構成のバックアップにある PersistentVolumeClaim リソースに対応するボリューム セット。

バックアップ プランでバックアップのスケジュールが定義されている場合、バックアップはそのスケジュールに従って自動的に作成されます。バックアップを手動で作成することもできます。たとえば、アプリケーションをアップグレードする前に、ワークロードをバックアップできます。

始める前に

バックアップ プランを作成します

必要なロール

バックアップの作成と管理に必要な権限を取得するには、プロジェクトに対する Backup for GKE 管理者(roles/gkebackup.admin)IAM ロールのサブセットである Backup for GKE バックアップ管理者(roles/gkebackup.backupAdmin)の付与を管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理に関する記事をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

手動バックアップの作成

バックアップ プランのバックアップは、Google Cloud CLI または Google Cloud コンソール使用して手動で作成できます。

gcloud

次のコマンドを実行します。

gcloud beta container backup-restore backups create BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    WAIT_OPTION

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

  • BACKUP: 作成するバックアップの名前。
  • PROJECT_ID: Google Cloud プロジェクトの ID。
  • LOCATION: 親バックアップ プランのコンピューティング リージョン
  • BACKUP_PLAN: このバックアップの派生元の親バックアップ プランの名前。
  • WAIT_OPTION: コマンドが返されるタイミングを定義します。

    • --async: サービスが受信を確認するとすぐに、コマンドが返されます。ほぼ即座に返されます。
    • (デフォルト): クラスタ内のエージェントにバックアップ プロセスを開始するよう指示すると、コマンドが返されます。通常は数秒以内に返されます。
    • --wait-for-completion: エージェントがクラスタのバックアップ オペレーションを完了するまで待ちます。数分かかる場合があります。

オプションの完全なリストについては、gcloud beta container backup-restore backups create のドキュメントをご覧ください。

コンソール

Google Cloud コンソールで手動バックアップを作成するには、次の操作を行います。

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

    Google Kubernetes Engine に移動

  2. ナビゲーション メニューで [Backup for GKE] をクリックします。

  3. [バックアップ プラン] タブをクリックします。

  4. クラスタを開き、バックアップを作成するプランを見つけます。

  5. [バックアップを開始] をクリックします。

  6. バックアップの名前と説明(省略可)を入力します。

  7. (省略可)自動的に削除されるまでのバックアップの保持日数を設定します。

  8. (省略可)バックアップを削除できない日数を設定します。

  9. [バックアップを開始] をクリックします。

バックアップを表示する

バックアップとその詳細は、gcloud CLI または Google Cloud コンソールを使用して表示します。

gcloud

バックアップ プランのすべてのバックアップを一覧表示するには、次のコマンドを実行します。

gcloud beta container backup-restore backups list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

list コマンドの場合のみ、- を除くパラメータの値として - を指定できます。PROJECT_ID は、ワイルドカードとして機能します。コマンドライン オプションを指定しないか、プロパティを設定しない場合は、- がパラメータのデフォルト値になります。

オプションの完全なリストについては、gcloud beta container backup-restore backups list のドキュメントをご覧ください。

バックアップの詳細を表示するには、次のコマンドを実行します。

gcloud beta container backup-restore backups describe BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

オプションの完全なリストについては、gcloud beta container backup-restore backups describe のドキュメントをご覧ください。

コンソール

Google Cloud コンソールでバックアップとその詳細を表示するには、次の操作を行います。

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

    Google Kubernetes Engine に移動

  2. ナビゲーション メニューで [Backup for GKE] をクリックします。

  3. [バックアップ] タブをクリックします。

  4. バックアップ プランを開き、バックアップの名前をクリックします。

ボリュームのバックアップを表示する

バックアップのスコープ内で PersistentVolumeClaims が検出されると、エージェントによってボリュームのバックアップ リソースが自動的に作成されます。各ボリュームのバックアップは、永続ディスクのスナップショットに対応します。これらのリソースは、バックアップ オペレーションの一部としてエージェントによって自動的に作成され、管理されます。ボリュームのバックアップとその詳細を表示するには、gcloud CLI を使用します。

gcloud

バックアップのすべてのボリューム バックアップを一覧表示するには、次のコマンドを実行します。

gcloud beta container backup-restore volume-backups list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    --backup=BACKUP

オプションの完全なリストについては、gcloud beta container backup-restore volume-backups list のドキュメントをご覧ください。

ボリュームのバックアップの詳細を表示するには、次のコマンドを実行します。

gcloud beta container backup-restore volume-backups describe VOLUME_BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    --backup=BACKUP

オプションの完全なリストについては、gcloud beta container backup-restore volume-backups describe のドキュメントをご覧ください。

バックアップを更新する

説明やラベルなど、バックアップに関する情報の編集が必要になることがあります。説明やラベルを変更しても、バックアップの処理方法に影響はありません。

バックアップの保持ポリシー(バックアップの保持期間、バックアップを削除できない期間など)も変更できます。保持ポリシーのパラメータは、増加のみ可能です。

gcloud CLI または Google Cloud コンソールを使用してバックアップを更新します。

gcloud

新しい説明の追加などでバックアップを更新するには、次のコマンドを実行します。

gcloud beta container backup-restore backups update BACKUP\
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN \
    --description=DESCRIPTION

オプションの完全なリストについては、gcloud beta container backup-restore backups update のドキュメントをご覧ください。

コンソール

Google Cloud コンソールでバックアップを更新するには、次の操作を行います。

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

    Google Kubernetes Engine に移動

  2. ナビゲーション メニューで [Backup for GKE] をクリックします。

  3. [バックアップ] タブをクリックします。

  4. バックアップ プランを開き、バックアップの名前をクリックします。

  5. [編集] をクリックしてバックアップ セクションを編集し、[変更を保存] をクリックします。

バックアップを削除する

バックアップは、次の 2 つの方法で削除できます。

  • バックアップ プランで保持期間が定義されている場合、そのプランで作成されたバックアップは、保持期間の終了後に自動的に削除されます。
  • バックアップは手動で削除できます。

このバックアップのバックアップ プランで、--backup-delete-lock-days フラグを使用してバックアップの最小存続期間が定義されている場合、その存続期間が経過するまで、このプラン用に作成されたバックアップは削除できません(自動でも手動でも削除できません)。

gcloud CLI または Google Cloud コンソールを使用すると、バックアップを手動で削除できます。

gcloud

バックアップを削除するには、次のコマンドを実行します。

gcloud beta container backup-restore backups delete BACKUP \
    --project=PROJECT_ID \
    --location=LOCATION \
    --backup-plan=BACKUP_PLAN

オプションの完全なリストについては、gcloud beta container backup-restore backups delete のドキュメントをご覧ください。

コンソール

Google Cloud コンソールでバックアップを削除するには、次の操作を行います。

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

    Google Kubernetes Engine に移動

  2. ナビゲーション メニューで [Backup for GKE] をクリックします。

  3. [バックアップ] タブをクリックします。

  4. プランを開き、バックアップの名前をクリックします。

  5. [バックアップを削除] をクリックします。

  6. バックアップ プラン名を入力し、確認ダイアログで [バックアップを削除] をクリックします。

次のステップ