Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo realizar una copia de seguridad del servidor flexible de Azure Database for PostgreSQL mediante la CLI de Azure.
Prerrequisitos
Antes de realizar una copia de seguridad de Azure Database for PostgreSQL: servidor flexible, revise los Escenarios y limitaciones admitidos para realizar copias de seguridad de los servidores flexibles de Azure Database for PostgreSQL.
Creación de un almacén de Backup
El almacén de Backup es una entidad de almacenamiento de Azure. Almacena los datos de copia de seguridad de las nuevas cargas de trabajo que admite Azure Backup. Por ejemplo, Azure Database for PostgreSQL: servidores flexibles, blobs en una cuenta de almacenamiento y Azure Disks. Los almacenes de Backup facilitan la tarea de organizar los datos de copia de seguridad, al mismo tiempo que reducen al mínimo la sobrecarga administrativa. Los almacenes de copias de seguridad se basan en el modelo de Azure Resource Manager de Azure, que proporciona características para proteger los datos de las copias de seguridad.
Antes de crear un almacén de copia de seguridad, elija la redundancia del almacenamiento de los datos dentro del almacén. Después, continúe con la creación del almacén de Copia de seguridad con esa redundancia de almacenamiento y la ubicación.
En este artículo, vamos a crear un almacén de Backup TestBkpVault, en la región westus, en el grupo de recursos testBkpVaultRG. Use el comando az dataprotection vault create para crear un almacén de Backup. Obtenga más información sobre cómo crear un almacén de Backup.
az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"
{
"eTag": null,
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned"
},
"location": "westus",
"name": "TestBkpVault",
"properties": {
"provisioningState": "Succeeded",
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"tags": null,
"type": "Microsoft.DataProtection/backupVaults"
}
Configuración de la copia de seguridad
Antes de configurar la protección de la base de datos, asegúrese de crear una directiva de Copia de seguridad. Una vez creados el almacén y la directiva, proteja Azure Database for PostgreSQL: servidor flexible siguiendo estos pasos:
- Obtener el Id. de ARM del Servidor flexible de PostgreSQL que se va a proteger
- Concesión de acceso al almacén de Backup
- Preparación de la solicitud de configuración de copia de seguridad
Obtener el Id. de ARM del Servidor flexible de PostgreSQL que se va a proteger
Capture el identificador del administrador de recursos de Azure (ARM ID) de PostgreSQL: servidor flexible que se va a proteger. Este identificador actúa como identificador de la base de datos. Usemos un ejemplo de una base de datos denominada empdb11 PostgreSQL: servidor flexible testposgresql, que está presente en el grupo de recursos ossrg en una suscripción diferente.
En el ejemplo siguiente se usa bash.
ossId="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/archive-postgresql-ccy/databases/empdb11"
Concesión de acceso al almacén de Backup
El almacén de claves tiene que conectarse al servidor PostgreSQL: Flexible Server (servidor flexible), y después acceder a la base de datos mediante las claves presentes en el almacén de claves. Por lo tanto, requiere acceso al servidor flexible de PostgreSQL y al almacén de claves. Conceder acceso a la identidad de servicio administrado (MSI) del almacén de copias de seguridad.
Compruebe los permisos necesarios para la Identidad de servicio administrado (MSI) de la bóveda de copia de seguridad en la bóveda de PostgreSQL: servidor flexible y Azure Key que almacena las claves de la base de datos.
Preparación de la solicitud de configuración de copia de seguridad
Una vez establecidos todos los permisos pertinentes, configure la copia de seguridad mediante la ejecución de los siguientes comandos:
Prepare la solicitud pertinente mediante el almacén, la directiva, la base de datos de servidor flexible de PostgreSQL pertinente mediante el comando
az dataprotection backup-instance initialize.az dataprotection backup-instance initialize --datasource-id $ossId --datasource-type AzureDatabaseForPostgreSQLFlexibleServer -l <vault-location> --policy-id <policy_arm_id> --secret-store-type AzureKeyVault --secret-store-uri $keyURI > OSSBkpInstance.JSONEnvíe la solicitud para proteger la base de datos mediante el comando
az dataprotection backup-instance create.az dataprotection backup-instance create --resource-group testBkpVaultRG --vault-name TestBkpVault TestBkpvault --backup-instance .\OSSBkpInstance.JSON
Ejecución de una copia de seguridad a petición
Especifique una regla de retención al desencadenar la copia de seguridad. Para ver las reglas de retención en la directiva, vaya al Archivo JSON de la directiva para ver las reglas de retención. En el ejemplo siguiente, hay dos reglas de retención con los nombres Predeterminado y Mensual. Usamos la Regla mensual para la copia de seguridad a petición.
az dataprotection backup-policy show -g ossdemorg --vault-name ossdemovault-1 --subscription e3d2d341-4ddb-4c5d-9121-69b7e719485e --name osspol5
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-69b7e719485e/resourceGroups/ossdemorg/providers/Microsoft.DataProtection/backupVaults/ossdemovault-1/backupPolicies/osspol5",
"name": "osspol5",
"properties": {
"datasourceTypes": [
" Microsoft.DBforPostgreSQL/flexibleServers/databases"
],
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-04T20:00:00+00:00/P1W",
"R/2020-04-01T20:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"daysOfMonth": null,
"daysOfTheWeek": null,
"monthsOfYear": null,
"objectType": "ScheduleBasedBackupCriteria",
"scheduleTimes": null,
"weeksOfTheMonth": null
}
],
"isDefault": false,
"tagInfo": {
"eTag": null,
"id": "Monthly_",
"tagName": "Monthly"
},
"taggingPriority": 15
},
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P10Y",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P1Y",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
},
"resourceGroup": "ossdemorg",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Para desencadenar una copia de seguridad a petición, use el comando az dataprotection backup-instance adhoc-backup.
az dataprotection backup-instance adhoc-backup --name "ossrg-empdb11" --rule-name "Monthly" --resource-group testBkpVaultRG --vault-name TestBkpVault
Seguimiento de trabajos
Realice un seguimiento de todos los trabajos mediante el comando az dataprotection job list. Puede enumerar todos los trabajos y capturar un detalle de trabajo determinado.
También puede usar Az.ResourceGraph para realizar el seguimiento de todos los trabajos en todos los almacenes de copia de seguridad. Use el comando az dataprotection job list-from-resourcegraph para capturar los trabajos pertinentes que se encuentran en los almacenes de Backup.
az dataprotection job list-from-resourcegraph --datasource-type AzureDatabaseForPostgreSQLFlexibleServer --status Completed