Provisionner un compte Azure Cosmos DB avec la sauvegarde continue et la restauration à un instant dans le passé

S’APPLIQUE À : NoSQL MongoDB

La fonctionnalité de restauration à un instant dans le passé d’Azure Cosmos DB vous permet de récupérer vos données après une modification accidentelle au sein d’un conteneur, de restaurer une ressource supprimée, ou de restaurer dans une région où des sauvegardes existent. Le mode de sauvegarde continue vous permet d’effectuer une restauration à n’importe quel instant dans le passé au cours des 30 ou 7 derniers jours. La distance à laquelle vous pouvez aller dans le temps dépend du niveau du mode continu pour le compte.

Cet article explique comment provisionner un compte avec la sauvegarde continue et la restauration à un instant dans le passé en utilisant le portail Azure, PowerShell, CLI et des modèles Resource Manager.

Notes

Vous pouvez provisionner le compte en mode de sauvegarde continue uniquement si les conditions suivantes sont remplies :

  • Si le compte est de type API pour NoSQL ou API pour MongoDB.
  • Si le compte est de type API pour Table ou API pour Gremlin.
  • Si le compte a une seule région d’écriture.

Provisionner avec le portail Azure

Lorsque vous créez un compte Azure Cosmos DB, sous l’onglet Stratégie de sauvegarde, choisissez le mode continu pour activer la fonctionnalité de restauration à un instant dans le passé pour le nouveau compte. Avec la restauration à un instant dans le passé, les données sont restaurées sur un nouveau compte. Actuellement, vous ne pouvez pas effectuer de restauration sur un compte existant.

Approvisionner un compte Azure Cosmos DB avec une configuration de sauvegarde continue.

Provisionner avec Azure PowerShell

Pour les commandes PowerShell et CLI, la valeur de niveau est facultative, si elle n’est pas déjà fournie. Si la sauvegarde du compte n’est pas fournie, elle est conservée pendant 30 jours. Les niveaux sont représentés par les valeurs Continuous7Days ou Continuous30Days.

  1. Installer la dernière version d’Azure PowerShell

    • Avant de provisionner le compte, installez toute version d’Azure PowerShell supérieure à 6.2.0. Pour plus d’informations sur la dernière version d’Azure PowerShell, consultez Dernière version d’Azure PowerShell.
    • Pour provisionner le niveau Continuous7Days, vous devez installer la préversion du module en exécutant Install-Module -Name Az.CosmosDB -AllowPrerelease.
  2. Connectez-vous ensuite à votre compte Azure et sélectionnez l’abonnement requis avec les commandes suivantes :

    1. Connectez-vous à Azure en utilisant la commande suivante :

      Connect-AzAccount
      
    2. Sélectionnez un abonnement spécifique avec la commande suivante :

      Select-AzSubscription -Subscription <SubscriptionName>
      

Compte de l’API pour NoSQL

Pour approvisionner un compte avec sauvegarde continue, ajoutez l’argument -BackupPolicyType Continuous à la commande d’approvisionnement standard.

La cmdlet suivante suppose un compte d’écriture de région unique, Pitracct, dans la région USA Ouest dans le groupe de ressources MyRG. Le compte dispose d’une stratégie de sauvegarde continue activée. La sauvegarde continue est configurée au niveau Continuous7days :

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

API pour MongoDB

La cmdlet suivante est un exemple de compte de sauvegarde continue configuré avec le niveau Continuous30days :

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

Compte de l’API pour Table

Pour approvisionner un compte avec sauvegarde continue, ajoutez un argument -BackupPolicyType Continuous à la commande d’approvisionnement standard.

La cmdlet suivante est un exemple de stratégie de sauvegarde continue avec le niveau Continuous7days :

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

Compte de l’API pour Gremlin

Pour approvisionner un compte avec sauvegarde continue, ajoutez un argument -BackupPolicyType Continuous à la commande d’approvisionnement standard.

La cmdlet suivante est un exemple de compte avec une stratégie de sauvegarde continue configurée avec le niveau Continuous30days :

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

Provisionner avec Azure CLI

Pour la valeur du niveau de commandes PowerShell et CLI est facultative, si elle n’est pas fournie, la sauvegarde du compte sera conservée pendant 30 jours. Les niveaux sont représentés par Continuous7Days ou Continuous30Days.

Avant de provisionner le compte, installez Azure CLI en suivant ces étapes :

  1. Installez la dernière version d’Azure CLI, consultez Azure CLI

  2. Se connecter et sélectionner votre abonnement

    • Connectez-vous à votre compte Azure à l’aide de la commande az login.
    • Sélectionnez l’abonnement requis à l’aide de la commande az account set -s <subscriptionguid>.

Compte de l’API pour NoSQL

Pour approvisionner un compte d’API pour NoSQL avec sauvegarde continue, un argument supplémentaire --backup-policy-type Continuous doit être transmis avec la commande d’approvisionnement standard. La commande suivante est un exemple de compte d’écriture monorégion appelé Pitracct avec une stratégie de sauvegarde continue et le niveau 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 pour MongoDB

La commande suivante montre un exemple de compte d’écriture monorégion appelé Pitracct avec une stratégie de sauvegarde continue et le niveau 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"

Compte de l’API pour Table

La commande suivante montre un exemple de compte d’écriture monorégion appelé Pitracct avec une stratégie de sauvegarde continue et le niveau 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"

Compte de l’API pour Gremlin

La commande suivante montre un exemple de compte d’écriture monorégion appelé Pitracct avec une stratégie de sauvegarde continue et le niveau Continuous7days créée dans la région USA Ouest sous le groupe de ressources 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"

Provisionner avec un modèle Resource Manager

Vous pouvez utiliser des modèles Azure Resource Manager pour déployer un compte Azure Cosmos DB en mode continu. Lorsque vous définissez le modèle pour approvisionner un compte, incluez backupPolicy et le paramètre de niveau comme indiqué dans l’exemple suivant, le niveau peut être Continuous7Days ou 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"
        } }

Ensuite, déployez le modèle à l’aide d’Azure PowerShell ou de l’interface CLI. L’exemple suivant montre comment déployer le modèle avec une commande CLI :

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

Étapes suivantes