Aprovisionamiento de una cuenta de Azure Cosmos DB con copia de seguridad continua y restauración a un momento dado

SE APLICA A: NoSQL MongoDB

La característica de restauración a un momento dado de Azure Cosmos DB ayuda a recuperarse de un cambio accidental en un contenedor, restaurar un recurso eliminado o a realizar una restauración en cualquier región donde existan copias de seguridad. El modo de copia de seguridad continua permite realizar la restauración en cualquier momento de los últimos 30 o 7 días. La distancia que puede retroceder en el tiempo depende del nivel del modo continuo de la cuenta.

En este artículo se explica cómo aprovisionar una cuenta con copias de seguridad continuas y restauración a un momento dado mediante Azure Portal, PowerShell, la CLI y las plantillas de Resource Manager.

Nota:

La cuenta del modo de copia de seguridad continua solo se puede aprovisionar si se cumplen las siguientes condiciones:

  • Si la cuenta es del tipo API para NoSQL o API para MongoDB.
  • Si la cuenta es del tipo API para Table o Gremlin.
  • Si la cuenta tiene una sola región de escritura.

Aprovisionamiento mediante Azure Portal

Al crear una cuenta de Azure Cosmos DB, en la pestaña Directiva de copia de seguridad, elija el modo continuo para habilitar la funcionalidad de restauración a un momento dato para la cuenta nueva. Con la restauración a un momento dado, los datos se restauran en una cuenta nueva; actualmente, no se puede restaurar en una cuenta existente.

Aprovisionamiento de una cuenta de Azure Cosmos DB con la configuración de copia de seguridad continua.

Aprovisionamiento mediante Azure PowerShell

En el caso de los comandos de PowerShell y la CLI, el valor de nivel es opcional, si aún no se ha proporcionado. Si no se proporciona, la copia de seguridad de la cuenta se conservará durante 30 días. Los niveles se representan mediante los valores Continuous7Days o Continuous30Days.

  1. Instalar la versión más reciente de Azure PowerShell

    • Antes de aprovisionar la cuenta, instale cualquier versión posterior a 6.2.0 de Azure PowerShell. Para obtener más información sobre la versión más reciente de Azure PowerShell, consulte la versión más reciente de Azure PowerShell.
    • Para aprovisionar el nivel Continuous7Days, deberá instalar la versión preliminar del módulo mediante la ejecución de Install-Module -Name Az.CosmosDB -AllowPrerelease.
  2. Luego, conéctese a su cuenta de Azure y seleccione la suscripción necesaria con los siguientes comandos:

    1. Utilice el siguiente comando para iniciar sesión en Azure:

      Connect-AzAccount
      
    2. Seleccione una suscripción concreta con el comando siguiente:

      Select-AzSubscription -Subscription <SubscriptionName>
      

Cuenta de API para NoSQL

Para aprovisionar una cuenta con copia de seguridad continua, agregue el argumento -BackupPolicyType Continuous junto con el comando de aprovisionamiento normal.

El siguiente cmdlet presupone una cuenta de escritura de una sola región, Pitracct, en la región Oeste de EE. UU. del grupo de recursos MyRG. La cuenta tiene habilitada la directiva de copia de seguridad continua. La copia de seguridad continua se configura en el nivel Continuous7days:

New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "West US" `
  -BackupPolicyType Continuous `
  -ContinuousTier Continuous7Days `
  -Name "pitracct" `
  -ApiKind "Sql"

API para MongoDB

El siguiente cmdlet es un ejemplo de cuenta de copia de seguridad continua configurada con el nivel Continuous30days:

New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "West US" `
  -BackupPolicyType Continuous `
  -ContinuousTier Continuous30Days `
  -Name "Pitracct" `
  -ApiKind "MongoDB" `
  -ServerVersion "3.6"

Cuenta de API para Table

Para aprovisionar una cuenta con copia de seguridad continua, agregue un argumento -BackupPolicyType Continuous junto con el comando de aprovisionamiento normal.

El siguiente cmdlet es un ejemplo de directiva de copia de seguridad continua con el nivel Continuous7days:

New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "West US" `
  -BackupPolicyType Continuous `
  -ContinuousTier Continuous7Days `
  -Name "pitracct" `
  -ApiKind "Table"

Cuenta de API para Gremlin

Para aprovisionar una cuenta con copia de seguridad continua, agregue un argumento -BackupPolicyType Continuous junto con el comando de aprovisionamiento normal.

El siguiente cmdlet es un ejemplo de cuenta con una directiva de copia de seguridad continua configurada con el nivel Continuous30days:

New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "West US" `
  -BackupPolicyType Continuous `
  -ContinuousTier Continuous30Days `
  -Name "pitracct" `
  -ApiKind "Gremlin" 

Aprovisionamiento mediante la CLI de Azure

Para comandos de PowerShell y la CLI, el valor del nivel es opcional. Si no se proporciona, la copia de seguridad de la cuenta se conservará durante 30 días. Los niveles se representan mediante Continuous7Days o Continuous30Days.

Antes de aprovisionar la cuenta, instale la CLI de Azure con los pasos siguientes:

  1. Instale la versión más reciente de la CLI de Azure, vea CLI de Azure

  2. Inicie sesión y seleccione su suscripción.

    • Use el comando az login para iniciar sesión en su cuenta de Azure.
    • Use el comando az account set -s <subscriptionguid> para seleccionar la suscripción requerida.

Cuenta de API para NoSQL

Para aprovisionar una cuenta de API para NoSQL con copia de seguridad continua, se debe agregar un argumento --backup-policy-type Continuous adicional junto con el comando de aprovisionamiento normal. El comando siguiente es un ejemplo de una cuenta de escritura de una sola región denominada Pitracct con una directiva de copia de seguridad continua y un nivel Continuous7days:


az cosmosdb create \
  --name Pitracct \
  --resource-group MyRG \
  --backup-policy-type Continuous \
  --continuous-tier "Continuous7Days" \
  --default-consistency-level Session \
  --locations regionName="West US"

API para MongoDB

El comando siguiente muestra el ejemplo de una cuenta de escritura de una sola región denominada Pitracct con una directiva de copia de seguridad continua y un nivel Continuous30days:

az cosmosdb create \
  --name Pitracct \
  --kind MongoDB \
  --resource-group MyRG \
  --server-version "3.6" \
  --backup-policy-type Continuous \
  --continuous-tier "Continuous30Days" \
  --default-consistency-level Session \
  --locations regionName="West US"

Cuenta de API para Table

El comando siguiente muestra el ejemplo de una cuenta de escritura de una sola región denominada Pitracct con una directiva de copia de seguridad continua y un nivel Continuous30days:

az cosmosdb create \
  --name Pitracct \
  --kind GlobalDocumentDB  \
  --resource-group MyRG \
  --capabilities EnableTable \ 
  --backup-policy-type Continuous \
  --continuous-tier "Continuous30Days" \
  --default-consistency-level Session \
  --locations regionName="West US"

Cuenta de API para Gremlin

El siguiente comando muestra el ejemplo de una cuenta de escritura en una sola región denominada Pitracct con una directiva de copia de seguridad continua y nivel Continuous7days creada en la región Oeste de EE.UU. del grupo de recursos MyRG:

az cosmosdb create \
  --name Pitracct \
  --kind GlobalDocumentDB  \
  --resource-group MyRG \
  --capabilities EnableGremlin \ 
  --backup-policy-type Continuous \
  --continuous-tier "Continuous7Days" \
  --default-consistency-level Session \
  --locations regionName="West US"

Aprovisionamiento mediante una plantilla de Resource Manager

Puede usar plantillas de Azure Resource Manager para implementar una cuenta de base de datos de Azure Cosmos DB con modo continuo. Al definir la plantilla para aprovisionar una cuenta, incluya el backupPolicy y el parámetro de nivel como se muestra en el ejemplo siguiente. El nivel puede ser Continuous7Days o Continuous30Days:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "name": "ademo-pitr1",
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "apiVersion": "2023-04-15",
      "location": "West US",
      "properties": {
        "locations": [
          {
            "locationName": "West US"
          }
        ],
        "backupPolicy":{
        "type":"Continuous", 
        "continuousModeProperties":{
        "tier":"Continuous7Days"
        }
        } 
        "databaseAccountOfferType": "Standard"
        } }

A continuación, implemente la plantilla con Azure PowerShell o la CLI. En el ejemplo siguiente se muestra cómo implementar la plantilla con un comando de la CLI:

az deployment group create -g <ResourceGroup> --template-file <ProvisionTemplateFilePath>

Pasos siguientes