Compartir a través de


Inicio rápido: Creación de una directiva de copia de seguridad para Azure Database for PostgreSQL: servidor flexible mediante la CLI de Azure

En este inicio rápido se describe cómo crear una directiva de copia de seguridad para proteger Azure Database for PostgreSQL: servidor flexible mediante la CLI de Azure.

Directiva de Azure Backup para Azure Database for PostgreSQL: servidor flexible define cómo y cuándo se crean las copias de seguridad, el período de retención para los puntos de recuperación y las reglas para la protección y recuperación de datos. Azure Backup le permite realizar una copia de seguridad del servidor flexible de Azure PostgreSQL mediante varios clientes, como Azure Portal, PowerShell, CLI, Azure Resource Manager, Bicep, Terraform, etc.

Prerrequisitos

Antes de crear una directiva de copia de seguridad para Azure Database for PostgreSQL: servidor flexible, asegúrese de que se cumplen los siguientes requisitos previos:

Crear una directiva de copia de seguridad

Para crear una nueva directiva de copia de seguridad, siga estos pasos:

  1. Comprender PostgreSQL: directiva flexible de copias de seguridad del servidor
  2. Recuperación de la plantilla de directiva
  3. Modificación de la plantilla de directiva
  4. Crear la directiva

Comprender PostgreSQL: directiva flexible de copias de seguridad del servidor

La copia de seguridad en disco ofrece varias copias de seguridad al día y la copia de seguridad de blobs es una copia de seguridad continua sin desencadenador. Ahora, vamos a comprender el objeto de directiva de copia de seguridad para PostgreSQL: servidor flexible.

  • Regla de directiva
    • Regla de copia de seguridad
      • Parámetro de copia de seguridad
        • BackupType (una copia de seguridad completa de la base de datos en este escenario)
        • Almacén de datos inicial (donde las copias de seguridad deben aterrizar inicialmente)
        • Desencadenador (cómo se desencadena la copia de seguridad)
          • Basada en una programación
          • Criterios de etiquetado predeterminados (una "etiqueta" predeterminada para todas las copias de seguridad programadas. Esta etiqueta vincula las copias de seguridad a la regla de retención)
    • Regla de retención predeterminada (regla que se aplica a todas las copias de seguridad, de manera predeterminada, en el almacén de datos inicial)

Por lo tanto, este objeto define:

  • Tipo de copias de seguridad desencadenadas
  • La forma en que se desencadenan las políticas (a través de una programación)
  • Etiquetas implementadas en la directiva de copia de seguridad
  • Ubicación donde se almacenan los datos (un almacén de datos)
  • Ciclo de vida de los datos de copia de seguridad en un almacén de datos

El objeto de PowerShell predeterminado para el Servidor flexible de PostgreSQL desencadena una copia de seguridad completa cada semana y llega al almacén, donde se almacenan durante tres meses.

Recuperación de la plantilla de directiva

Para comprender los componentes internos de una directiva de copia de seguridad de la base de datos de Azure PostgreSQL – Servidor Flexible, recupere la plantilla de directiva mediante el comando az dataprotection backup-policy get-default-policy-template. Este comando devuelve una plantilla de directiva predeterminada para un tipo de origen de datos determinado. Use esta plantilla de políticas para crear una nueva política.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureDatabaseForPostgreSQLFlexibleServer

{
  "datasourceTypes": [
    "Microsoft.DBforPostgreSQL/flexibleServers"
  ],
  "name": "OssFlexiblePolicy1",
  "objectType": "BackupPolicy",
  "policyRules": [
    {
      "backupParameters": {
        "backupType": "Full",
        "objectType": "AzureBackupParams"
      },
      "dataStore": {
        "dataStoreType": "VaultStore",
        "objectType": "DataStoreInfoBase"
      },
      "name": "BackupWeekly",
      "objectType": "AzureBackupRule",
      "trigger": {
        "objectType": "ScheduleBasedTriggerContext",
        "schedule": {
          "repeatingTimeIntervals": [
            "R/2021-08-15T06:30:00+00:00/P1W"
          ],
          "timeZone": "UTC"
        },
        "taggingCriteria": [
          {
            "isDefault": true,
            "tagInfo": {
              "id": "Default_",
              "tagName": "Default"
            },
            "taggingPriority": 99
          }
        ]
      }
    },
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P3M",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "targetDataStoreCopySettings": []
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]
}

La plantilla de directiva consta de un desencadenador (decide qué desencadena la copia de seguridad) y un ciclo de vida (decide cuándo eliminar, copiar y mover la copia de seguridad). En la copia de seguridad de base de datos de Azure PostgreSQL – Flexible Server, el valor predeterminado para el desencadenador es un desencadenador semanal programado (una copia de seguridad cada 7 días) y conservar cada copia de seguridad durante tres meses.

Desencadenador programado:

"trigger": {
        "objectType": "ScheduleBasedTriggerContext",
        "schedule": {
          "repeatingTimeIntervals": [
            "R/2021-08-15T06:30:00+00:00/P1W"
          ],
          "timeZone": "UTC"
        }

Ciclo de vida de la regla de retención predeterminada:


{
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P3M",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "targetDataStoreCopySettings": []
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }

Importante

La programación de copia de seguridad sigue el formato de duración ISO 8601. Sin embargo, no se admite el prefijo R de intervalo de repetición, ya que las copias de seguridad están configuradas para ejecutarse indefinidamente. Cualquier valor especificado con R se omitirá.

Modificación de la plantilla de directiva

Importante

En Azure PowerShell, los objetos se pueden usar como ubicaciones de almacenamiento provisional para realizar todas las modificaciones. En la CLI de Azure, tenemos que usar archivos, ya que no hay ninguna noción de Objetos. Cada operación de edición debe redirigirse a un nuevo archivo, donde el contenido se lee desde el archivo de entrada y se redirige al archivo de salida . Más adelante puede cambiar el nombre del archivo según sea necesario mientras se usa en un script.

Modificación de la programación

La plantilla de directiva predeterminada ofrece una copia de seguridad una vez por semana. Puede modificar la programación para que la copia de seguridad se realice varios días a la semana. Para modificar la programación, use el az dataprotection backup-policy trigger set comando .

En el ejemplo siguiente se modifica la copia de seguridad semanal para realizar una copia de seguridad que se realice todos los domingos, miércoles y viernes de cada semana. La matriz de fechas de programación menciona las fechas y los días de la semana de esas fechas se toman como días de la semana. Además, especifique que estas programaciones deben repetirse cada semana. Por lo tanto, el intervalo de programación es 1 y el tipo de intervalo es semanal.

az dataprotection backup-policy trigger create-schedule --interval-type Weekly --interval-count 1 --schedule-days 2021-08-15T22:00:00 2021-08-18T22:00:00 2021-08-20T22:00:00
[
  "R/2021-08-15T22:00:00+00:00/P1W",
  "R/2021-08-18T22:00:00+00:00/P1W",
  "R/2021-08-20T22:00:00+00:00/P1W"
]

az dataprotection backup-policy trigger set --policy .\OSSPolicy.json  --schedule R/2021-08-15T22:00:00+00:00/P1W R/2021-08-18T22:00:00+00:00/P1W R/2021-08-20T22:00:00+00:00/P1W > EditedOSSPolicy.json

Adición de una nueva regla de retención

La plantilla predeterminada tiene un ciclo de vida para el almacén de datos inicial bajo la regla de retención predeterminada. En este escenario, la regla elimina los datos de copia de seguridad después de tres meses. Use el az dataprotection backup-policy retention-rule create-lifecycle comando para crear nuevos ciclos de vida y use el az dataprotection backup-policy retention-rule set comando para asociarlos a las nuevas reglas o a las reglas existentes.

En el ejemplo siguiente se crea una nueva regla de retención denominada Monthly, donde la primera copia de seguridad correcta de cada mes se debe conservar en el almacén durante seis meses.

az dataprotection backup-policy retention-rule create-lifecycle --retention-duration-count 6 --retention-duration-type Months --source-datastore VaultStore > VaultLifeCycle.JSON

az dataprotection backup-policy retention-rule set --lifecycles .\VaultLifeCycle.JSON --name Monthly --policy .\EditedOSSPolicy.json > AddedRetentionRulePolicy.JSON

Agregue una etiqueta y los criterios pertinentes

Una vez creada una regla de retención, debe crear una etiqueta correspondiente en la propiedad Trigger de la directiva de copia de seguridad. Use el az dataprotection backup-policy tag create-absolute-criteria comando para crear un nuevo criterio de etiquetado y use el az dataprotection backup-policy tag set comando para actualizar la etiqueta existente o crear una nueva etiqueta.

En el ejemplo siguiente se crea una nueva etiqueta junto con los criterios, la primera copia de seguridad correcta del mes. La etiqueta tiene el mismo nombre que la regla de retención correspondiente que se aplicará.

En este ejemplo, el criterio de la etiqueta debería denominarse Mensual.

az dataprotection backup-policy tag create-absolute-criteria --absolute-criteria FirstOfMonth > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON

Por ejemplo, si el horario es de varias copias de seguridad por semana (todos los domingos, miércoles, jueves, como se especifica en el ejemplo), y desea archivar las copias de seguridad del domingo y el viernes, los criterios de etiquetado se pueden cambiar de la siguiente manera mediante el comando az dataprotection backup-policy tag create-generic-criteria.

az dataprotection backup-policy tag create-generic-criteria --days-of-week Sunday Friday > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON

Crear la directiva

Una vez modificada la plantilla según los requisitos, use el az dataprotection backup-policy create comando para crear una directiva mediante la plantilla modificada.

az dataprotection backup-policy create --backup-policy-name FinalOSSPolicy --policy AddedRetentionRuleAndTag.JSON --resource-group testBkpVaultRG --vault-name TestBkpVault

Pasos siguientes

Configuración de la copia de seguridad para Azure Database for PostgreSQL: servidor flexible mediante la CLI de Azure.