alloydbctl と Ansible を使用して、これらのマニフェスト構成を適用し、Cloud Storage、標準の Amazon S3 バケット、または MinIO などの S3 準拠ソフトウェアへのバックアップを自動化します。
AlloyDB Omni の継続的なバックアップと復元を有効にするには、データベース クラスタごとにバックアップ プランを作成する必要があります。バックアップは、BackupPlan リソースで定義されたバックアップ スケジュールに基づいて行われます。復元には、Backup リソースまたはリカバリ ウィンドウ内の任意のタイムスタンプ(秒単位)を使用できます。
AlloyDB Omni は、マニフェストを介して自動バックアップと復元を管理します。
BackupPlan: 各データベース クラスタには、バックアップ ティア間で構成とスケジュールが異なる 1 つ以上のBackupPlanマニフェストを設定できます。Backup:BackupPlanマニフェストに基づいて、フル バックアップ、差分バックアップ、増分バックアップを開始します。Restore: 特定のバックアップまたは特定の時点を使用して、データベース クラスタのインプレース復元を開始します。
始める前に
バックアップ プランを設定して構成する前に、次のことを確認してください。
バックアップの保存場所: AlloyDB Omni は、次のいずれかのストレージ オプションにバックアップを保存します。
- Cloud Storage: Cloud Storage バケット。バケットの作成方法については、バケットを作成するをご覧ください。
- Amazon S3: Amazon S3 バケット。S3 バケットの作成方法については、バケットを作成するをご覧ください。
- S3 準拠ストレージ: MinIO などの S3 準拠ソフトウェアのバケット。MinIO バケットの作成方法については、MinIO のドキュメントをご覧ください。
認証情報: ストレージ オプションで Amazon S3、MinIO、特定のサービス アカウントを使用する Cloud Storage などの認証鍵が必要な場合は、バックアップ プランを作成する前に、これらの認証情報を含む
Secretリソースを作成する必要があります。手順については、ストレージを認証する Secret リソースを作成するをご覧ください。
ストレージを認証する Secret リソースを作成する
使用するストレージで認証が必要な場合は、バックアップ プランを作成する前に Secret リソースを作成する必要があります。
Cloud Storage の Secret リソースを作成する
- バックアップをバケットに追加するためのサービス アカウントを作成します。
- バケットのサービス アカウントに
roles/storage.objectAdminIdentity and Access Management ロールを付与します。 - JSON 形式でサービス アカウント キーを生成します。
- ダウンロードした JSON キーファイルの内容を base64 でエンコードします。
base64 -w 0を実行するか、エンコードされたテキストが 1 行の連続した行であることを確認します。 Secretリソース マニフェストを作成します。dataセクションのキー名はkey.jsonにする必要があります。Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"次のように置き換えます。
SECRET_NAME:Secretリソースの名前。BASE64_ENCODED_JSON_KEY: サービス アカウントの JSON キーファイルの Base64 エンコードされたコンテンツ。
S3 または S3 準拠ストレージの Secret リソースを作成する
- S3 アクセスキー ID を Base64 でエンコードします。
- S3 シークレット アクセスキーを Base64 でエンコードします。
Secretリソース マニフェストを作成します。dataセクションのキー名はaccess-key-idとaccess-keyにする必要があります。Secret: metadata: name: SECRET_NAME spec: type: Opaque data: access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID" access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"次のように置き換えます。
SECRET_NAME:Secretリソースの名前。BASE64_ENCODED_ACCESS_KEY_ID: Base64 エンコードされた S3 アクセスキー ID。BASE64_ENCODED_SECRET_ACCESS_KEY: Base64 でエンコードされた S3 シークレット アクセスキー。
Secret リソースを適用する
BackupPlan マニフェストを適用する前に、Secret リソース マニフェストを適用します。Secret リソース マニフェストは、次のいずれかの方法で適用できます。
alloydbctl
alloydbctl を使用して Secret リソース マニフェストを適用するには、次のコマンドを実行します。
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。SECRET_MANIFEST: 作成したSecretリソース マニフェストのパス。
Ansible
Ansible を使用して Secret リソース マニフェストを適用する手順は次のとおりです。
Secretリソース マニフェストのプレイブックを作成します。- name: Create Secret hosts: localhost become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backup次の変数を置き換えます。
ANSIBLE_USER: Ansible が AlloyDB Omni ノードにログインするために使用する OS ユーザー。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用して AlloyDB Omni ノードに接続するために使用する秘密鍵。
Secretリソース マニフェストを適用します。ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"次の変数を置き換えます。
SECRET_PLAYBOOK:Secretリソース マニフェスト用に作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。SECRET_MANIFEST: 作成したSecretリソース マニフェストのパス。
バックアップ プランの作成
ストレージ オプションの形式を使用して
BackupPlanマニフェストを作成します。Cloud Storage
gcsOptions項目は必須です。BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"次の変数を置き換えます。
BACKUP_PLAN_NAME:BackupPlanマニフェストの名前。例:my-backup-plan-1DBCLUSTER_NAME: クラスタを作成するで定義したデータベース クラスタの名前。BUCKET_NAME: 作成した Cloud Storage バケットの名前。BUCKET_PATH: バックアップの書き込み先となる Cloud Storage 内のディレクトリのパス。/で始まる絶対パスを指定する必要があります。例:/backupsSECRET_NAME(省略可): 認証鍵を保存するSecretリソースの名前。RETAIN_DAYS(省略可): バックアップが自動的に削除されるまでのバックアップの保持日数。FULL_SCHEDULE(省略可): フル バックアップの cron スケジュール式。例:0 2 * * *DIFF_SCHEDULE(省略可): 差分バックアップの cron スケジュール式。例:0 2 * * *INC_SCHEDULE(省略可): 増分バックアップの cron スケジュール式。例:0 2 * * *
Amazon S3 または S3 準拠
s3Options項目は必須です。BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: S3 s3Options: bucket: BUCKET_NAME key: BUCKET_PATH endpoint: ENDPOINT_URL region: REGION secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"次の変数を置き換えます。
BACKUP_PLAN_NAME:BackupPlanマニフェストの名前。例:my-backup-plan-1DBCLUSTER_NAME: クラスタを作成するで定義したデータベース クラスタの名前。BUCKET_NAME: 作成した S3 バケットの名前。BUCKET_PATH: バックアップの書き込み先となる S3 バケット内のディレクトリのパス。/で始まる絶対パスを指定する必要があります。例:/backups。ENDPOINT_URL: MinIO などの S3 準拠ソフトウェアに接続するためのカスタム エンドポイント URL。例:http://minio.example.com:9000Amazon S3 バケットの場合、エンドポイント URL を指定する必要はありません。REGION_(省略可): ストレージ バケットのリージョン。標準の Amazon S3 バケットまたは S3 準拠のソフトウェアに接続する場合に必要です。この場合、リージョン検証が適用されます。SECRET_NAME: 以前に作成したSecretリソースへの参照。このリソースにはACCESS_KEY_IDとSECRET_ACCESS_KEYが含まれています。RETAIN_DAYS(省略可): バックアップが自動的に削除されるまでのバックアップの保持日数。FULL_SCHEDULE(省略可): フル バックアップの cron スケジュール式。例:0 2 * * *DIFF_SCHEDULE(省略可): 差分バックアップの cron スケジュール式。例:0 2 * * *INC_SCHEDULE(省略可): 増分バックアップの cron スケジュール式。例:0 2 * * *
次のいずれかの方法でバックアップ プランを適用します。
alloydbctlBackupPlanリソースを適用します。alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_PLAN_MANIFEST: 前に作成したBackupPlanマニフェストのパス。
BackupPlanマニフェストのステータス フィールドstatus.phaseがReadyであることを確認します。マニフェストの準備ができていない場合は、次のようになるまで待ちます。alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
BackupPlanマニフェストのプレイブックを作成します。- name: BACKUP_PLAN_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backup次の変数を置き換えます。
BACKUP_PLAN_PLAYBOOK_NAME: Ansible プレイブックの名前。例:My BackupPlan次のステップで必要になるため、プレイブックのパスをメモしておきます。ANSIBLE_USER: Ansible が AlloyDB Omni ノードにログインするために使用する OS ユーザーの名前。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用して AlloyDB Omni ノードに接続するために使用する秘密鍵。
BackupPlanリソースを適用します。ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"次の変数を置き換えます。
BACKUP_PLAN_PLAYBOOK:BackupPlanマニフェスト用に作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_PLAN_MANIFEST: 前に作成したBackupPlanマニフェストのパス。
まだ作成していない場合は、
status.yamlハンドブックを作成します。プレイブックの作成方法については、ステータスを表示してバックアップ リソースを一覧表示するをご覧ください。BackupPlanマニフェストのステータス フィールドstatus.phaseがReadyであることを確認します。マニフェストの準備ができていない場合は、次のようになるまで待ちます。ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
バックアップ プランを更新する
バックアップ プランを更新してバックアップ スケジュールを変更したり、保持期間を変更したり、スケジュールされたバックアップを一時停止したりするには、BackupPlan マニフェストを変更してから再適用します。
バックアップ プランを作成するで作成した
BackupPlanマニフェストを開きます。更新対象の項目を変更します。
- バックアップ スケジュールを更新するには、
backupSchedulesの cron 式を変更します。 - 保持期間を更新するには、
backupRetainDaysを変更します。 - スケジュール設定されたバックアップを一時停止するには、
specセクションにpausedフィールドを追加し、trueに設定します。バックアップを再開するには、フィールドをfalseに設定するか、フィールドを削除します。
たとえば、次の例では、保持日数を
30に更新し、fullスケジュールとdifferentialスケジュールを変更し、incrementalスケジュールを追加して、バックアップ プランを一時停止します。BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: 30 backupSchedules: full: "0 4 * * *" differential: "0 0 * * 0" incremental: "0 12 * * *" paused: true- バックアップ スケジュールを更新するには、
次のいずれかの方法で、更新したバックアップ プランを適用します。
alloydbctlBackupPlanリソースを適用します。alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_PLAN_MANIFEST: 変更したBackupPlanマニフェストのパス。
BackupPlanマニフェストのステータス フィールドstatus.phaseがReadyであることを確認します。マニフェストの準備ができていない場合は、次のようになるまで待ちます。alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
バックアップ プランを作成するで作成したハンドブックを使用して、更新した
BackupPlanリソースを適用します。ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"次の変数を置き換えます。
BACKUP_PLAN_PLAYBOOK:BackupPlanマニフェスト用に作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_PLAN_MANIFEST: 変更したBackupPlanマニフェストのパス。
まだ作成していない場合は、
status.yamlハンドブックを作成します。プレイブックの作成方法については、ステータスを表示してバックアップ リソースを一覧表示するをご覧ください。BackupPlanマニフェストのステータス フィールドstatus.phaseがReadyであることを確認します。マニフェストの準備ができていない場合は、検証前に準備が整うまで待ちます。ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
バックアップ プランを削除する
バックアップ プランを削除するには、次のいずれかの方法を使用します。
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_PLAN_NAME: 削除するBackupPlanマニフェストの名前。
Ansible
BackupPlanマニフェストを削除するプレイブックを作成します。- name: BACKUP_PLAN_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.delete次の変数を置き換えます。
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Ansible プレイブックの名前。ANSIBLE_USER: Ansible が AlloyDB Omni ノードにログインするために使用する OS ユーザー。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用して AlloyDB Omni ノードに接続するために使用する秘密鍵。
ansible-playbookを実行して、BackupPlanマニフェストを削除します。ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME次の変数を置き換えます。
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: 前の手順でBackupPlanマニフェストを削除するために作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_PLAN_NAME: 削除するBackupPlanマニフェストの名前。
バックアップの作成
バックアップを作成して開始するには、次のいずれかの方法を使用します。
alloydbctl
次の形式で
Backupマニフェストを作成します。Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: full次の変数を置き換えます。
BACKUP_NAME:Backupマニフェストの名前。例:my-backup-1BACKUP_PLAN_NAME: 前の手順で作成したBackupPlanマニフェストの名前。例:my-backup-plan-1DBCLUSTER_NAME: クラスタを作成するで定義したデータベース クラスタの名前。type(省略可): バックアップ実行タイプ。full、diff、incrのいずれかに設定できます。デフォルトはfullです。
Backupマニフェストを適用します。alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_MANIFEST: 先ほど作成したBackupマニフェストのパス。
Backupマニフェストのステータス フィールドstatus.phaseがSucceededであることを確認します。マニフェストが成功していない場合は、次のようになるまで待ちます。alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yaml/backup/dbフォルダが存在するかどうかを確認して、バックアップ ファイルがバケットで使用可能であることを確認します。
Ansible
次の形式で
Backupマニフェストを作成します。Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: full次の変数を置き換えます。
BACKUP_NAME:Backupマニフェストの名前。例:my-backup-1BACKUP_PLAN_NAME: 前の手順で作成したBackupPlanマニフェストの名前。例:my-backup-plan-1DBCLUSTER_NAME: クラスタを作成するで定義したデータベース クラスタの名前。type(省略可): バックアップ実行タイプ。full、diff、incrのいずれかに設定できます。デフォルトはfullです。
Backupマニフェストのプレイブックを作成します。- name: BACKUP_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backup次の変数を置き換えます。
BACKUP_PLAYBOOK_NAME: Ansible プレイブックの名前。例:My BackupANSIBLE_USER: Ansible が AlloyDB Omni ノードにログインするために使用する OS ユーザーの名前。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用して AlloyDB Omni ノードに接続するために使用する秘密鍵。
Backupマニフェストを適用します。ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"次の変数を置き換えます。
BACKUP_PLAYBOOK: 前に作成したBackupマニフェスト用に作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_MANIFEST: 先ほど作成したBackupマニフェストのパス。
まだ作成していない場合は、
status.yamlハンドブックを作成します。プレイブックの作成方法については、ステータスを表示してバックアップ リソースを一覧表示するをご覧ください。Backupマニフェストのステータス フィールドstatus.phaseがSucceededであることを確認します。マニフェストが成功していない場合は、検証前に成功するまで待ちます。ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAME/backup/dbフォルダが存在するかどうかを確認して、バックアップ ファイルがバケットで使用可能であることを確認します。
バックアップを削除する
バックアップを削除するには、次のいずれかのコマンドを実行します。
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_NAME: 削除するBackupマニフェストの名前。
Ansible
Backupマニフェストを削除するプレイブックを作成します。- name: BACKUP_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.delete次の変数を置き換えます。
BACKUP_DELETE_PLAYBOOK_NAME: Ansible プレイブックの名前。ANSIBLE_USER: Ansible が AlloyDB Omni ノードにログインするために使用する OS ユーザー。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用して AlloyDB Omni ノードに接続するために使用する秘密鍵。
ansible-playbookを実行して、Backupマニフェストを削除します。ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAME次の変数を置き換えます。
BACKUP_DELETE_PLAYBOOK: 前の手順でBackupマニフェストを削除するために作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。BACKUP_NAME: 削除するBackupマニフェストの名前。
バックアップまたは特定の時点(PITR)から復元する
バックアップからデータを復元するには、Restore マニフェストを適用します。RPM オーケストレーターはインプレース復元を実行します。これにより、クローン クラスタをスピンアップしたり、スクリプトを手動で実行したりすることなく、ターゲット データベース クラスタが直接変更されます。
バックアップから復元するには、次のいずれかの方法を使用します。
alloydbctl
次の形式で
Restoreマニフェストを作成します。- 特定の名前付きバックアップ実行から復元するには:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEポイントインタイム復元(PITR)を実行するには:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
次の変数を置き換えます。
RESTORE_NAME: このRestoreマニフェストの名前。例:my-restore-1DBCLUSTER_NAME: インプレースで復元するターゲット データベース クラスタの名前。BACKUP_NAME: 復元元の完了したBackupマニフェストの名前。TIMESTAMP: 復元する正確な時点を特定する RFC 3339 タイムスタンプ。例:2026-06-19T14:30:00Z
Restoreマニフェストを適用します。alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。RESTORE_MANIFEST: ステップ 1 で作成したRestoreマニフェスト仕様ファイルのパス。
Restoreマニフェストのstatus.phaseがSucceededに移行することを確認します。alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
次の形式で
Restoreマニフェストを作成します。- 特定の名前付きバックアップ実行から復元するには:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEポイントインタイム復元(PITR)を実行するには:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
次の変数を置き換えます。
RESTORE_NAME: このRestoreマニフェストの名前。例:my-restore-1DBCLUSTER_NAME: インプレースで復元するターゲット データベース クラスタの名前。BACKUP_NAME: 復元元の完了したBackupマニフェストの名前。TIMESTAMP: 復元する正確な時点を特定する RFC 3339 タイムスタンプ。例:2026-06-19T14:30:00Z
Restoreマニフェストのプレイブックを作成します。- name: RESTORE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.restore次の変数を置き換えます。
RESTORE_PLAYBOOK_NAME: Ansible プレイブックの名前。ANSIBLE_USER: Ansible が AlloyDB Omni ノードにログインするために使用する OS ユーザー。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用して AlloyDB Omni ノードに接続するために使用する秘密鍵。
Restoreマニフェストを適用します。ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"次の変数を置き換えます。
RESTORE_PLAYBOOK: ステップ 2 でRestoreマニフェスト用に作成したプレイブックのパス。DEPLOYMENT_SPEC_PATH: デプロイ仕様のパス。RESTORE_MANIFEST: ステップ 1 で作成したRestoreマニフェスト仕様ファイルのパス。
まだ作成していない場合は、
status.yamlハンドブックを作成します。プレイブックの作成方法については、ステータスを表示してバックアップ リソースを一覧表示するをご覧ください。Restoreマニフェストのstatus.phaseがSucceededに移行することを確認します。ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
ステータスを表示してバックアップ リソースを一覧表示する
BackupPlan、Backup、Restore リソースのステータスを表示するか、リソースを一覧表示するには、次のいずれかの方法を使用します。
alloydbctl
特定タイプのすべてのリソースを一覧表示するには、alloydbctl get コマンドを実行します。
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE特定のリソースのステータスを表示するには、リソース名と出力形式を yaml に設定して alloydbctl get コマンドを実行します。
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yaml次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: デプロイ仕様のパス。RESOURCE_TYPE: リソースの型。BackupPlan、Backup、Restoreのいずれかに設定します。RESOURCE_NAME: ステータスを表示するリソースの名前。
Ansible
Ansible を使用してリソースのステータスを表示したり、リソースを一覧表示するには、google.alloydbomni_orchestrator.status ロールを使用します。
次の形式でハンドブック(例:
status.yaml)を作成します。- name: Get resource status hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.status次の変数を置き換えます。
ANSIBLE_USER: Ansible がノードへのログインに使用する OS ユーザー。ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible が SSH を使用してノードに接続するために使用する秘密鍵。
ハンドブックを実行します。
特定タイプのすべてのリソースを一覧表示するには、
resource_type変数を使用して Playbook を実行します。ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE特定のリソースのステータスを表示するには、
resource_type変数とresource_name変数の両方を使用してハンドブックを実行します。ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAME次の変数を置き換えます。
DEPLOYMENT_SPEC_PATH: デプロイ仕様のパス。RESOURCE_TYPE: リソースの型。BackupPlan、Backup、Restoreのいずれかに設定します。RESOURCE_NAME: ステータスを表示するリソースの名前。
制限事項
BackupPlanステータスにfailed to create stanza(終了コード39)のConfigurationFailedが表示されている場合は、バケットにroles/storage.objectAdminロールを付与してマニフェストを再適用することで、調整を再開できます。BackupPlanを削除する必要はありません。