alloydbctl e Ansible para aplicar essas configurações de manifesto e automatizar backups no Cloud Storage, em buckets padrão do Amazon S3 ou em softwares compatíveis com S3, como o MinIO.
Para ativar o backup e a recuperação contínuos do AlloyDB Omni, crie um plano de backup para cada cluster de banco de dados. Os backups são feitos com base nas programações de backup definidas no recurso BackupPlan. É possível restaurar usando um recurso de backup ou qualquer carimbo de data/hora na janela de recuperação com uma granularidade de segundos.
O AlloyDB Omni gerencia backups e recuperações automatizados usando manifestos:
BackupPlan: cada cluster de banco de dados pode ter um ou mais manifestosBackupPlancom diferentes configurações e programações em todos os níveis de backup.Backup: inicia backups completos, diferenciais ou incrementais com base nos seus manifestosBackupPlan.Restore: inicia uma restauração no local do cluster de banco de dados usando um backup específico ou um ponto no tempo.
Antes de começar
Antes de definir e configurar o plano de backup, verifique se você tem o seguinte:
Um local de armazenamento para seus backups: o AlloyDB Omni armazena backups em uma das seguintes opções de armazenamento:
- Cloud Storage: um bucket do Cloud Storage. Para informações sobre como criar buckets, consulte Criar um bucket.
- Amazon S3: um bucket do Amazon S3. Para informações sobre como criar buckets do S3, consulte Como criar um bucket.
- Armazenamento compatível com S3: um bucket em um software compatível com S3, como o MinIO. Para saber como criar buckets do MinIO, consulte a documentação do MinIO.
Credenciais de autenticação: se a opção de armazenamento exigir chaves de autenticação, como Amazon S3, MinIO ou Cloud Storage com uma conta de serviço específica, crie um recurso
Secretcom essas credenciais antes de criar o plano de backup. Para instruções, consulte Criar um recurso Secret para autenticar o armazenamento.
Criar um recurso Secret para autenticar o armazenamento
Se o armazenamento que você usa exigir autenticação, crie um recurso Secret
antes de criar o plano de backup.
Criar um recurso Secret para o Cloud Storage
- Crie uma conta de serviço para adicionar backups ao bucket.
- Conceda o papel
roles/storage.objectAdmindo Identity and Access Management à conta de serviço no bucket. - Gere uma chave de conta de serviço no formato JSON.
- Codifique o conteúdo do arquivo de chave JSON baixado em base64. Execute
base64 -w 0ou verifique se o texto codificado é uma única linha contínua. Crie um manifesto de recursos
Secret. O nome da chave na seçãodataprecisa serkey.json.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"Substitua:
SECRET_NAME: o nome do recursoSecret.BASE64_ENCODED_JSON_KEY: o conteúdo codificado em base64 do arquivo de chave JSON da conta de serviço.
Criar um recurso Secret para o S3 ou armazenamento compatível com S3
- Codifique o ID da chave de acesso do S3 em base64.
- Codifique sua chave de acesso secreta do S3 em base64.
Crie um manifesto de recurso
Secret. Os nomes das chaves na seçãodataprecisam seraccess-key-ideaccess-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"Substitua:
SECRET_NAME: o nome do recursoSecret.BASE64_ENCODED_ACCESS_KEY_ID: o ID da chave de acesso do S3 codificado em base64.BASE64_ENCODED_SECRET_ACCESS_KEY: a chave de acesso secreta do S3 codificada em base64.
Aplicar o recurso Secret
Aplique o manifesto de recurso Secret antes de aplicar o manifesto BackupPlan.
É possível aplicar o manifesto de recurso Secret usando um dos seguintes métodos:
alloydbctl
Para aplicar o manifesto de recurso Secret usando alloydbctl, execute o seguinte comando:
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"Substitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.SECRET_MANIFEST: caminho para o manifesto de recursosSecretque você criou.
Ansible
Para aplicar o manifesto de recurso Secret usando o Ansible, faça o seguinte:
Crie um playbook para o manifesto de recursos
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.backupSubstitua as seguintes variáveis:
ANSIBLE_USER: usuário do SO que o Ansible usa para fazer login nos nós do AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós do AlloyDB Omni usando SSH.
Aplique o manifesto de recurso
Secret:ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"Substitua as seguintes variáveis:
SECRET_PLAYBOOK: caminho para o playbook que você criou para o manifesto de recursosSecret.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.SECRET_MANIFEST: caminho para o manifesto de recursoSecretque você criou.
Criar um plano de backup
Crie um manifesto
BackupPlanusando o formato da sua opção de armazenamento:Cloud Storage
O campo
gcsOptionsé obrigatório.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"Substitua as seguintes variáveis:
BACKUP_PLAN_NAME: nome do manifestoBackupPlan. Por exemplo,my-backup-plan-1.DBCLUSTER_NAME: o nome do cluster de banco de dados que você definiu em Criar um cluster.BUCKET_NAME: nome do bucket do Cloud Storage que você criou.BUCKET_PATH: caminho para o diretório no Cloud Storage em que os backups devem ser gravados. É necessário fornecer um caminho absoluto que comece com/. Por exemplo,/backups.SECRET_NAME(Opcional): nome do recursoSecretque armazena as chaves de autenticação.RETAIN_DAYS(Opcional): número de dias para reter backups antes que eles sejam excluídos automaticamente.FULL_SCHEDULE(Opcional): expressão de programação cron para backups completos. Por exemplo,0 2 * * *.DIFF_SCHEDULE(opcional): expressão de programação cron para backups diferenciais. Por exemplo,0 2 * * *.INC_SCHEDULE(Opcional): expressão de programação cron para backups incrementais. Por exemplo,0 2 * * *.
Amazon S3 ou compatível com S3
O campo
s3Optionsé obrigatório.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"Substitua as seguintes variáveis:
BACKUP_PLAN_NAME: nome do manifestoBackupPlan. Por exemplo,my-backup-plan-1.DBCLUSTER_NAME: nome do cluster de banco de dados que você definiu em Criar um cluster.BUCKET_NAME: nome do bucket do S3 que você criou.BUCKET_PATH: caminho para o diretório no bucket do S3 em que os backups devem ser gravados. É necessário fornecer um caminho absoluto que comece com/. Por exemplo,/backups.ENDPOINT_URL: URL de endpoint personalizado para conexão com software compatível com S3, como MinIO. Por exemplo,http://minio.example.com:9000. Para buckets do Amazon S3, não é necessário fornecer nenhum URL de endpoint.REGION_(opcional): região do bucket de armazenamento. Obrigatório ao se conectar a buckets padrão do Amazon S3 ou a softwares compatíveis com S3 em que a validação de região é aplicada.SECRET_NAME: referência a um recursoSecretque você criou anteriormente e que contémACCESS_KEY_IDeSECRET_ACCESS_KEY.RETAIN_DAYS(opcional): número de dias para reter os backups antes que eles sejam excluídos automaticamente.FULL_SCHEDULE(Opcional): expressão de programação cron para backups completos. Por exemplo,0 2 * * *.DIFF_SCHEDULE(opcional): expressão de programação cron para backups diferenciais. Por exemplo,0 2 * * *.INC_SCHEDULE(Opcional): expressão de programação cron para backups incrementais. Por exemplo,0 2 * * *.
Aplique o plano de backup usando um dos seguintes métodos:
alloydbctlAplique o recurso
BackupPlan:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Substitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação criada em Instalar componentes do AlloyDB Omni.BACKUP_PLAN_MANIFEST: caminho para o manifestoBackupPlancriado anteriormente.
Confirme se o campo de status,
status.phase, do manifestoBackupPlanéReady. Se o manifesto não estiver pronto, aguarde até que esteja:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Crie um playbook para seu manifesto
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.backupSubstitua as seguintes variáveis:
BACKUP_PLAN_PLAYBOOK_NAME: nome do seu playbook do Ansible. Por exemplo,My BackupPlan. Anote o caminho para o playbook, porque ele é necessário na próxima etapa.ANSIBLE_USER: nome do usuário do SO que o Ansible usa para fazer login nos nós do AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós do AlloyDB Omni usando SSH.
Aplique o recurso
BackupPlan:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Substitua as seguintes variáveis:
BACKUP_PLAN_PLAYBOOK: caminho para o playbook que você criou para o manifestoBackupPlananteriormente.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação criada em Instalar componentes do AlloyDB Omni.BACKUP_PLAN_MANIFEST: caminho para o manifestoBackupPlanque você criou anteriormente.
Crie um playbook do
status.yaml, se ainda não tiver um. Para informações sobre como criar o playbook, consulte Ver o status e listar os recursos de backup.Confirme se o campo de status,
status.phase, do manifestoBackupPlanéReady. Se o manifesto não estiver pronto, aguarde até que esteja:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Atualizar um plano de backup
Para atualizar um plano de backup, mudar a programação de backup, modificar o período de armazenamento ou pausar os backups programados, modifique o manifesto BackupPlan e aplique-o novamente.
Abra o manifesto
BackupPlanque você criou em Criar um plano de backup.Os campos que você quer atualizar.
- Para atualizar as programações de backup, modifique as expressões cron em
backupSchedules. - Para atualizar o período de armazenamento, modifique
backupRetainDays. - Para pausar os backups programados, adicione o campo
pausedà seçãospece defina-o comotrue. Para retomar os backups, defina o campo comofalseou remova-o.
Por exemplo, o exemplo a seguir atualiza os dias de retenção para
30, modifica as programaçõesfulledifferential, adiciona uma programaçãoincrementale pausa o plano de backup: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- Para atualizar as programações de backup, modifique as expressões cron em
Aplique o plano de backup atualizado usando um dos seguintes métodos:
alloydbctlAplique o recurso
BackupPlan:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Substitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação criada em Instalar componentes do AlloyDB Omni.BACKUP_PLAN_MANIFEST: caminho para o manifestoBackupPlanque você modificou.
Confirme se o campo de status,
status.phase, do manifestoBackupPlanéReady. Se o manifesto não estiver pronto, aguarde até que esteja:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Aplique o recurso
BackupPlanatualizado usando o playbook que você criou em Criar um plano de backup:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Substitua as seguintes variáveis:
BACKUP_PLAN_PLAYBOOK: caminho para o playbook que você criou para o manifestoBackupPlan.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.BACKUP_PLAN_MANIFEST: caminho para o manifestoBackupPlanque você modificou.
Crie um playbook de
status.yaml, se ainda não tiver feito isso. Para informações sobre como criar o playbook, consulte Ver o status e listar os recursos de backup.Confirme se o campo de status,
status.phase, do manifestoBackupPlanéReady. Se o manifesto não estiver pronto, aguarde até que esteja antes da verificação:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Excluir um plano de backup
Para excluir um plano de backup, use um dos seguintes métodos:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAMESubstitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.BACKUP_PLAN_NAME: nome do manifestoBackupPlana ser excluído.
Ansible
Crie um playbook para excluir o manifesto
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.deleteSubstitua as seguintes variáveis:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: nome do seu playbook do Ansible.ANSIBLE_USER: usuário do SO que o Ansible usa para fazer login nos seus nós do AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós do AlloyDB Omni usando SSH.
Execute
ansible-playbookpara excluir o manifestoBackupPlan.ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAMESubstitua as seguintes variáveis:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: caminho para o playbook que você criou para excluir o manifestoBackupPlanna etapa anterior.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.BACKUP_PLAN_NAME: nome do manifesto doBackupPlana ser excluído.
Criar backup
Para criar e iniciar um backup, use um dos seguintes métodos:
alloydbctl
Crie um manifesto
Backupusando o seguinte formato:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullSubstitua as seguintes variáveis:
BACKUP_NAME: nome do manifestoBackup. Por exemplo,my-backup-1.BACKUP_PLAN_NAME: nome do manifestoBackupPlanque você criou anteriormente. Por exemplo,my-backup-plan-1.DBCLUSTER_NAME: nome do cluster de banco de dados que você definiu em Criar um cluster.type(opcional): tipo de execução de backup que pode ser definido comofull,diffouincr. O padrão éfull.
Aplique o manifesto
Backup:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"Substitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.BACKUP_MANIFEST: caminho para o manifestoBackupque você criou anteriormente.
Confirme se o campo de status,
status.phase, do manifestoBackupéSucceeded. Se o manifesto não tiver sido concluído, aguarde até que ele seja:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yamlConfirme se os arquivos de backup estão disponíveis no bucket verificando se a pasta
/backup/dbexiste.
Ansible
Crie um manifesto
Backupusando o seguinte formato:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullSubstitua as seguintes variáveis:
BACKUP_NAME: nome do manifestoBackup. Por exemplo,my-backup-1.BACKUP_PLAN_NAME: nome do manifestoBackupPlanque você criou antes. Por exemplo,my-backup-plan-1.DBCLUSTER_NAME: o nome do cluster de banco de dados que você definiu em Criar um cluster.type(opcional): tipo de execução de backup que pode ser definido comofull,diffouincr. O padrão éfull.
Crie um playbook para o manifesto
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.backupSubstitua as seguintes variáveis:
BACKUP_PLAYBOOK_NAME: nome do manual do Ansible. Por exemplo,My Backup.ANSIBLE_USER: nome do usuário do SO que o Ansible usa para fazer login nos seus nós do AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós do AlloyDB Omni usando SSH.
Aplique o manifesto
Backup:ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"Substitua as seguintes variáveis:
BACKUP_PLAYBOOK: caminho para o playbook que você criou para o manifestoBackupque você criou anteriormente.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.BACKUP_MANIFEST: caminho para o manifestoBackupcriado anteriormente.
Crie um playbook do
status.yaml, se ainda não tiver um. Para informações sobre como criar o playbook, consulte Ver status e listar recursos de backup.Confirme se o campo de status,
status.phase, do manifestoBackupéSucceeded. Se o manifesto não tiver sido concluído, aguarde até que isso aconteça antes da verificação:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEConfirme se os arquivos de backup estão disponíveis no bucket verificando se a pasta
/backup/dbexiste.
Excluir um backup
Para excluir um backup, execute um dos seguintes comandos:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAMESubstitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação criada em Instalar componentes do AlloyDB Omni.BACKUP_NAME: nome do manifestoBackupa ser excluído.
Ansible
Crie um playbook para excluir o manifesto
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.deleteSubstitua as seguintes variáveis:
BACKUP_DELETE_PLAYBOOK_NAME: nome do playbook do Ansible.ANSIBLE_USER: usuário do SO que o Ansible usa para fazer login nos nós do AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós do AlloyDB Omni usando SSH.
Execute
ansible-playbookpara excluir o manifestoBackup.ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMESubstitua as seguintes variáveis:
BACKUP_DELETE_PLAYBOOK: caminho para o playbook que você criou para excluir o manifestoBackupna etapa anterior.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.BACKUP_NAME: nome do manifestoBackupa ser excluído.
Restaurar de um backup ou de um momento específico (PITR)
Para restaurar dados de um backup, aplique um manifesto Restore. O orquestrador de RPM
realiza a recuperação no local, que modifica diretamente o cluster de banco de dados de destino
sem criar um cluster clonado ou exigir a execução manual de scripts.
Para restaurar um backup, use um dos seguintes métodos:
alloydbctl
Crie um manifesto
Restoreusando o seguinte formato:- Para restaurar de um backup nomeado específico, execute:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEPara realizar uma recuperação pontual (PITR, na sigla em inglês):
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Substitua as seguintes variáveis:
RESTORE_NAME: nome para este manifestoRestore. Por exemplo,my-restore-1.DBCLUSTER_NAME: nome do cluster de banco de dados de destino para recuperação in loco.BACKUP_NAME: nome do manifestoBackupconcluído de onde será feita a restauração.TIMESTAMP: carimbo de data/hora RFC 3339 que identifica o momento exato da recuperação. Por exemplo,2026-06-19T14:30:00Z.
Aplique o manifesto
Restore:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"Substitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação que você criou em Instalar componentes do AlloyDB Omni.RESTORE_MANIFEST: caminho para o arquivo de especificação do manifestoRestoreque você criou na etapa 1.
Confirme se
status.phasepara seu manifestoRestorefaz a transição paraSucceeded:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
Crie um manifesto
Restoreusando o seguinte formato:- Para restaurar de um backup nomeado específico, execute:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEPara realizar uma recuperação pontual (PITR, na sigla em inglês):
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Substitua as seguintes variáveis:
RESTORE_NAME: nome para este manifestoRestore. Por exemplo,my-restore-1.DBCLUSTER_NAME: nome do cluster de banco de dados de destino para recuperação in loco.BACKUP_NAME: nome do manifestoBackupconcluído de onde será feita a restauração.TIMESTAMP: carimbo de data/hora RFC 3339 que identifica o ponto exato no tempo para recuperação. Por exemplo,2026-06-19T14:30:00Z.
Crie um playbook para o manifesto
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.restoreSubstitua as seguintes variáveis:
RESTORE_PLAYBOOK_NAME: nome do playbook do Ansible.ANSIBLE_USER: usuário do SO que o Ansible usa para fazer login nos nós do AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós do AlloyDB Omni usando SSH.
Aplique o manifesto
Restore:ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"Substitua as seguintes variáveis:
RESTORE_PLAYBOOK: caminho para o playbook que você criou para o manifestoRestorena etapa 2.DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação.RESTORE_MANIFEST: caminho para o arquivo de especificação do manifestoRestoreque você criou na etapa 1.
Crie um playbook do
status.yaml, se ainda não tiver um. Para informações sobre como criar o playbook, consulte Ver o status e listar os recursos de backup.Confirme se o
status.phasedo manifestoRestorefaz a transição paraSucceeded:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
Ver o status e listar recursos de backup
Para ver o status ou listar os recursos BackupPlan, Backup e Restore, use um dos seguintes métodos:
alloydbctl
Para listar todos os recursos de um tipo específico, execute o comando alloydbctl get:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPEPara conferir o status de um recurso específico, execute o comando alloydbctl get com o nome do recurso e o formato de saída definidos como yaml:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yamlSubstitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação.RESOURCE_TYPE: o tipo de recurso. Defina comoBackupPlan,BackupouRestore.RESOURCE_NAME: o nome do recurso de que você quer ver o status.
Ansible
Para conferir o status ou listar recursos usando o Ansible, use o papel google.alloydbomni_orchestrator.status.
Crie um playbook, por exemplo,
status.yaml, usando o seguinte formato:- 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.statusSubstitua as seguintes variáveis:
ANSIBLE_USER: usuário do SO que o Ansible usa para fazer login nos seus nós.ANSIBLE_SSH_PRIVATE_KEY_FILE: chave privada que o Ansible usa para se conectar aos nós usando SSH.
Execute o playbook.
Para listar todos os recursos de um tipo específico, execute o playbook com a variável
resource_type:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPEPara ver o status de um recurso específico, execute o playbook com as variáveis
resource_typeeresource_name:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAMESubstitua as seguintes variáveis:
DEPLOYMENT_SPEC_PATH: caminho para a especificação da implantação.RESOURCE_TYPE: o tipo de recurso. Defina comoBackupPlan,BackupouRestore.RESOURCE_NAME: o nome do recurso de que você quer ver o status.
Limitações
- Se um status
BackupPlanmostrarConfigurationFailedcomfailed to create stanza(código de saída39), você poderá retomar a reconciliação concedendo a funçãoroles/storage.objectAdminno bucket e reaplicando o manifesto. Não é necessário excluir oBackupPlan.