Configurare l'account Azure Cosmos DB con backup periodico

SI APPLICA A: Nosql Mongodb Cassandra Gremlin Tabella

Azure Cosmos DB esegue automaticamente il backup dei dati a intervalli regolari. I backup automatici vengono eseguiti senza impatto sulle prestazioni o sulla disponibilità delle operazioni del database. Tutti i backup sono archiviati separatamente in un servizio di archiviazione e replicati a livello globale per garantire la resilienza in caso di emergenze a livello di area. Con Azure Cosmos DB, non solo i dati ma anche i relativi backup sono altamente ridondanti e resilienti in caso di emergenze a livello di area. La procedura seguente illustra come Azure Cosmos DB esegue il backup dei dati:

  • Azure Cosmos DB esegue automaticamente un backup completo del database ogni 4 ore e in qualsiasi momento, solo i due backup più recenti vengono archiviati per impostazione predefinita. Se gli intervalli predefiniti non sono sufficienti per i carichi di lavoro, è possibile modificare l'intervallo di backup e il periodo di conservazione dal portale di Azure. È possibile modificare la configurazione del backup durante o dopo la creazione dell'account Azure Cosmos DB. Se il contenitore o il database vengono eliminati, Azure Cosmos DB mantiene gli snapshot esistenti di un determinato contenitore o database per 30 giorni.

  • Azure Cosmos DB archivia questi backup nell'archiviazione BLOB di Azure, mentre i dati effettivi risiedono in locale all'interno di Azure Cosmos DB.

  • Per garantire una bassa latenza, lo snapshot del backup viene archiviato nell'archiviazione BLOB di Azure nella stessa area dell'area di scrittura corrente (o una delle aree di scrittura, nel caso in cui si disponga di una configurazione di scrittura in più aree). Per garantire la resilienza in caso di emergenze a livello di area, ogni snapshot dei dati di backup nell'archivio BLOB di Azure viene a sua volta replicato in un'altra area tramite l'archiviazione con ridondanza geografica. L'area in cui viene replicato il backup dipende dall'area di origine e dalla coppia di aree associata all'area di origine. Per altre informazioni, vedere l'elenco di coppie di aree di Azure con ridondanza geografica. Non è possibile accedere direttamente a questo backup. Il team di Azure Cosmos DB ripristinerà il backup quando viene richiesto attraverso una richiesta di supporto.

    L'immagine seguente mostra come un contenitore Azure Cosmos DB con tutte le tre partizioni fisiche primarie negli Stati Uniti occidentali viene eseguito il backup in un account di Archiviazione BLOB di Azure remoto negli Stati Uniti occidentali e quindi replicato negli Stati Uniti orientali:

    Backup completi periodici di tutte le entità di Azure Cosmos DB in Archiviazione di Azure GRS.

  • I backup vengono eseguiti senza effetti sulle prestazioni o la disponibilità dell'applicazione. Azure Cosmos DB esegue il backup dei dati in background senza usare alcuna velocità effettiva con provisioning aggiuntivo o influire sulle prestazioni e sulla disponibilità del database.

Nota

Per Azure Synapse Account abilitati per il collegamento, i dati dell'archivio analitico non sono inclusi nei backup e nei ripristini. Quando Collegamento a Synapse è abilitato, Azure Cosmos DB continuerà a eseguire automaticamente i backup dei dati nell'archivio transazionale a intervalli di backup pianificati. Il backup e il ripristino automatici dei dati nell'archivio analitico non sono supportati in questo momento.

Ridondanza dell'archivio di backup

Per impostazione predefinita, Azure Cosmos DB archivia i dati di backup in modalità periodica nell'archiviazione BLOB con ridondanza geografica replicata in un'area associata. È possibile aggiornare questo valore predefinito usando Azure PowerShell o l'interfaccia della riga di comando e definire criteri di Azure per applicare un'opzione di ridondanza di archiviazione specifica. Per altre informazioni, vedere Aggiornare la ridondanza dell'archiviazione di backup .

Per assicurarsi che i dati di backup rimangano nella stessa area in cui viene effettuato il provisioning dell'account Azure Cosmos DB, è possibile modificare l'archiviazione di backup con ridondanza geografica predefinita e configurare l'archiviazione con ridondanza locale o con ridondanza della zona. I meccanismi di ridondanza dell'archiviazione archiviano più copie dei backup in modo che siano protetti da eventi pianificati e non pianificati, tra cui errori hardware temporanei, rete o interruzioni di alimentazione o gravi emergenze naturali.

È possibile configurare la ridondanza dell'archiviazione per la modalità di backup periodica al momento della creazione dell'account o aggiornarla per un account esistente. È possibile usare le tre opzioni di ridondanza dei dati seguenti in modalità di backup periodica:

  • Archiviazione di backup con ridondanza geografica: Questa opzione copia i dati in modo asincrono nell'area associata.

  • Archiviazione di backup con ridondanza della zona: Questa opzione copia i dati in modo sincrono tra tre zone di disponibilità di Azure nell'area primaria. Per altre informazioni, vedere Archiviazione con ridondanza della zona.

  • Archiviazione di backup con ridondanza locale: Questa opzione copia i dati in modo sincrono tre volte all'interno di una singola posizione fisica nell'area primaria. Per altre informazioni, vedere Archiviazione con ridondanza locale.

Nota

L'archiviazione con ridondanza della zona è attualmente disponibile solo in aree specifiche. A seconda dell'area selezionata per un nuovo account o per l'area in cui si dispone di un account esistente; l'opzione con ridondanza della zona non sarà disponibile.

L'aggiornamento della ridondanza dell'archiviazione di backup non avrà alcun impatto sui prezzi dell'archiviazione di backup.

Modificare l'intervallo di backup e il periodo di conservazione

Azure Cosmos DB esegue automaticamente un backup completo dei dati per ogni 4 ore e in qualsiasi momento, vengono archiviati i due backup più recenti. Questa configurazione è l'opzione predefinita e viene offerta senza costi aggiuntivi. È possibile modificare l'intervallo di backup predefinito e il periodo di conservazione durante la creazione dell'account Azure Cosmos DB o dopo la creazione dell'account. La configurazione del backup è impostata a livello di account Azure Cosmos DB e è necessario configurarla in ogni account. Dopo aver configurato le opzioni di backup per un account, viene applicato a tutti i contenitori all'interno di tale account. È possibile modificare queste impostazioni usando la portale di Azure come descritto di seguito o tramite PowerShell o l'interfaccia della riga di comando di Azure.

Se i dati sono stati eliminati o danneggiati accidentalmente , prima di creare una richiesta di supporto per ripristinare i dati, assicurarsi di aumentare la conservazione dei backup per l'account almeno sette giorni. È consigliabile aumentare la conservazione entro 8 ore da questo evento. In questo modo, il team di Azure Cosmos DB ha tempo sufficiente per ripristinare l'account.

Modificare le opzioni di backup usando portale di Azure - Account esistente

Per modificare le opzioni di backup predefinite per un account Azure Cosmos DB esistente, seguire questa procedura:

  1. Accedere alla portale di Azure.

  2. Passare all'account Azure Cosmos DB e aprire il riquadro Ripristino backup&. Aggiornare l'intervallo di backup e il periodo di conservazione del backup in base alle esigenze.

    • Intervallo di backup: è l'intervallo in cui Azure Cosmos DB tenta di eseguire un backup dei dati. Il backup richiede un tempo diverso da zero e in alcuni casi potrebbe non riuscire a causa di dipendenze downstream. Azure Cosmos DB prova a eseguire un backup a intervalli configurati, ma non garantisce che il backup venga completato entro tale intervallo di tempo. È possibile configurare questo valore in ore o minuti. L'intervallo di backup non può essere inferiore a 1 ora e maggiore di 24 ore. Quando si modifica questo intervallo, il nuovo intervallo si verifica a partire dal momento in cui è stato eseguito l'ultimo backup.

    • Conservazione dei backup: rappresenta il periodo in cui viene conservato ogni backup. È possibile configurarla in ore o giorni. Il periodo di conservazione minimo non può essere inferiore a due volte l'intervallo di backup (in ore) e non può essere maggiore di 720 ore.

    • Copie dei dati mantenute : per impostazione predefinita, vengono offerte due copie di backup dei dati gratuitamente. Se sono necessarie più di due copie, è previsto un costo aggiuntivo. Vedere la sezione Archiviazione utilizzata nella pagina Prezzi per conoscere il prezzo esatto per le copie aggiuntive.

    • Ridondanza dell'archiviazione di backup : scegliere l'opzione di ridondanza dell'archiviazione necessaria, vedere la sezione Ridondanza dell'archiviazione di backup per le opzioni disponibili. Per impostazione predefinita, gli account della modalità di backup periodica esistenti dispongono di archiviazione con ridondanza geografica se l'area in cui viene effettuato il provisioning dell'account lo supporta. In caso contrario, il fallback dell'account all'opzione di ridondanza più elevata disponibile. È possibile scegliere altre risorse di archiviazione, ad esempio ridondanza locale, per assicurarsi che il backup non venga replicato in un'altra area. Le modifiche apportate a un account esistente vengono applicate solo ai backup futuri. Dopo l'aggiornamento della ridondanza dell'archiviazione di backup di un account esistente, potrebbe richiedere fino a due volte il tempo di backup per le modifiche da applicare e si perderà l'accesso per ripristinare immediatamente i backup meno recenti.

    Nota

    Per configurare la ridondanza dell'archiviazione di backup, è necessario avere il ruolo dell'operatore azure Cosmos DB assegnato al livello di sottoscrizione.

    Configurare l'intervallo di backup, la conservazione e la ridondanza dell'archiviazione per un account Azure Cosmos DB esistente.

Modificare le opzioni di backup usando portale di Azure - Nuovo account

Quando si esegue il provisioning di un nuovo account, nella scheda Criteri di backup selezionare Criteri di backup periodici* . Il criterio periodico consente di configurare l'intervallo di backup, la conservazione dei backup e la ridondanza dell'archiviazione di backup. Ad esempio, è possibile scegliere le opzioni di archiviazione di backup con ridondanza locale o Archiviazione con ridondanza della zona per impedire la replica dei dati di backup all'esterno dell'area.

Configurare criteri di backup periodici o continui per i nuovi account Azure Cosmos DB.

Modificare le opzioni di backup usando Azure PowerShell

Usare il cmdlet di PowerShell seguente per aggiornare le opzioni di backup periodice:

Update-AzCosmosDBAccount -ResourceGroupName "resourceGroupName" `
  -Name "accountName" `
  -BackupIntervalInMinutes 480 `
  -BackupRetentionIntervalInHours 16

Modificare le opzioni di backup usando l'interfaccia della riga di comando di Azure

Usare il comando dell'interfaccia della riga di comando seguente per aggiornare le opzioni di backup periodice:

az cosmosdb update --resource-group "resourceGroupName" \
  --name "accountName" \
  --backup-interval 240 \
  --backup-retention 8

Modificare le opzioni di backup usando Resource Manager modello

Quando si distribuisce il modello di Resource Manager, modificare le opzioni di backup periodice all'interno dell'oggettobackupPolicy:

 "backupPolicy": {
    "type": "Periodic",
    "periodicModeProperties": {
        "backupIntervalInMinutes": 240,
        "backupRetentionIntervalInHours": 8,
        "backupStorageRedundancy": "Zone"
    }
}

Richiedere il ripristino dei dati da un backup

Se si elimina accidentalmente il database o un contenitore, è possibile inviare un ticket di supporto o chiamare il supporto tecnico di Azure per ripristinare i dati dai backup online automatici. supporto tecnico di Azure è disponibile solo per i piani selezionati, ad esempio Standard, Developer e piani superiori a quelli. Il supporto di Azure non è disponibile con il piano Basic. Per altre informazioni sui diversi piani di supporto, vedere la pagina Piani di supporto per Azure.

Per ripristinare uno snapshot specifico del backup, Azure Cosmos DB richiede che i dati siano disponibili durante il ciclo di backup per tale snapshot. Prima di richiedere un ripristino, è necessario avere a disposizione i dettagli seguenti:

  • ID della sottoscrizione.

  • A seconda del modo in cui i dati sono stati accidentalmente eliminati o modificati, prepararsi per avere a disposizione ulteriori informazioni. Si consiglia di procurarsi le informazioni richieste in anticipo, per ridurre al minimo lo scambio di comunicazioni che potrebbe essere deleterio nei casi in cui la tempestività è cruciale.

  • Se viene eliminato l'intero account Azure Cosmos DB, è necessario specificare il nome dell'account eliminato. Se si crea un altro account con lo stesso nome dell'account eliminato, condividerlo con il team di supporto perché ciò permette di determinare l'account corretto da scegliere. È consigliabile inviare ticket di supporto diversi per ogni account eliminato perché riduce al minimo la confusione per lo stato di ripristino.

  • Se uno o più database vengono eliminati, è necessario fornire l'account Azure Cosmos DB e i nomi dei database di Azure Cosmos DB e specificare se esiste un nuovo database con lo stesso nome.

  • Se uno o più contenitori vengono eliminati, è necessario specificare il nome dell'account Azure Cosmos DB, i nomi dei database e i nomi dei contenitori. Specificare inoltre se esiste un contenitore con lo stesso nome.

  • Se i dati sono stati eliminati o danneggiati accidentalmente, è necessario contattare supporto tecnico di Azure entro 8 ore in modo che il team di Azure Cosmos DB possa aiutare a ripristinare i dati dai backup. Prima di creare una richiesta di supporto per ripristinare i dati, assicurarsi di aumentare la conservazione dei backup per l'account ad almeno sette giorni. È consigliabile aumentare la conservazione entro 8 ore da questo evento. In questo modo il team di supporto di Azure Cosmos DB avrà tempo sufficiente per ripristinare l'account.

Oltre al nome dell'account Azure Cosmos DB, ai nomi di database, ai nomi dei contenitori, è necessario specificare il momento in cui è possibile ripristinare i dati. È importante essere il più precisi possibile per consentire a Microsoft di determinare i backup disponibili migliori nell'intervallo di tempo specificato. È anche importante specificare l'ora in formato UTC.

Lo screenshot seguente illustra come creare una richiesta di supporto per un contenitore (raccolta/grafo/tabella) per ripristinare i dati tramite il portale di Azure. Specificare altri dettagli, ad esempio il tipo di dati, lo scopo del ripristino, l'ora in cui i dati sono stati eliminati per consentire di classificare in ordine di priorità la richiesta.

Creare una richiesta di supporto per il backup usando portale di Azure.

Considerazioni sul ripristino dei dati da un backup

È possibile eliminare o modificare accidentalmente i dati in uno degli scenari seguenti:

  • Eliminare l'intero account di Azure Cosmos DB.

  • Eliminare uno o più database di Azure Cosmos DB.

  • Eliminare uno o più contenitori di Azure Cosmos DB.

  • Eliminare o modificare gli elementi di Azure Cosmos DB ,ad esempio documenti, all'interno di un contenitore. Questo caso specifico viene in genere definito "danneggiamento dei dati".

  • Un database o contenitori di offerte condivise all'interno di un database dell'offerta condivisa viene eliminato o danneggiato.

Azure Cosmos DB può ripristinare i dati in tutti gli scenari precedenti. Durante il ripristino, viene creato un nuovo account Azure Cosmos DB per contenere i dati ripristinati. Il nome del nuovo account, se non specificato, avrà il formato <Azure_Cosmos_account_original_name>-restored1. L'ultima cifra viene incrementata quando vengono tentati più ripristini. Non è possibile ripristinare i dati in un account Azure Cosmos DB creato in modo preliminare.

Quando si elimina accidentalmente un account Azure Cosmos DB, è possibile ripristinare i dati in un nuovo account con lo stesso nome, se il nome dell'account non è in uso. È quindi consigliabile non ricreare l'account dopo l'eliminazione. Poiché non solo impedisce ai dati ripristinati di usare lo stesso nome, ma rende anche difficile individuare l'account corretto da ripristinare.

Quando si elimina accidentalmente un database Azure Cosmos DB, è possibile ripristinare l'intero database o un subset dei contenitori all'interno di tale database. È anche possibile selezionare contenitori specifici tra database e ripristinarli in un nuovo account Azure Cosmos DB.

Quando si eliminano o si modificano accidentalmente uno o più elementi all'interno di un contenitore (caso di danneggiamento dei dati), è necessario specificare il tempo in cui eseguire il ripristino. Il tempo è importante se si verifica un danneggiamento dei dati. Poiché il contenitore è attivo, il backup è ancora in esecuzione, quindi se si attende oltre il periodo di conservazione (l'impostazione predefinita è otto ore) i backup verranno sovrascritti. Per evitare che il backup venga sovrascritto, aumentare la conservazione dei backup per l'account ad almeno sette giorni. È consigliabile aumentare la conservazione entro 8 ore dal danneggiamento dei dati.

Se i dati sono stati eliminati o danneggiati accidentalmente, è necessario contattare supporto tecnico di Azure entro 8 ore in modo che il team di Azure Cosmos DB possa aiutare a ripristinare i dati dai backup. In questo modo il team di supporto di Azure Cosmos DB avrà tempo sufficiente per ripristinare l'account.

Nota

Dopo aver ripristinato i dati, non tutte le funzionalità o le impostazioni di origine vengono eseguite nell'account ripristinato. Le impostazioni seguenti non vengono riportate nel nuovo account:

  • Elenchi di controllo di accesso della rete virtuale
  • Stored procedure, trigger e funzioni definite dall'utente
  • Informazioni relative a più aree

Se si effettua il provisioning della velocità effettiva a livello di database, il processo di backup e ripristino in questo caso avviene a livello di database intero e non a livello di singoli contenitori. In questi casi, non è possibile selezionare un subset di contenitori da ripristinare.

Autorizzazioni necessarie per modificare la conservazione o il ripristino dal portale

Le entità che fanno parte del ruolo CosmosdbBackupOperator, proprietario o collaboratore possono richiedere un ripristino o modificare il periodo di conservazione.

Informazioni sui costi dei backup aggiuntivi

Due backup vengono forniti gratuitamente e i backup aggiuntivi vengono addebitati in base ai prezzi basati sull'area per l'archiviazione di backup descritta in Prezzi dell'archiviazione di backup. Ad esempio, se la conservazione dei backup è configurata su 240 ore, ovvero 10 giorni e intervallo di backup a 24 ore. Ciò implica 10 copie dei dati di backup. Supponendo che 1 TB di dati negli Stati Uniti occidentali 2, il costo sarà 0,12 * 1000 * 8 per l'archiviazione di backup in un determinato mese.

Ottenere i dettagli di ripristino dall'account ripristinato

Al termine dell'operazione di ripristino, è possibile conoscere i dettagli dell'account di origine da cui è stato ripristinato o il tempo di ripristino. È possibile ottenere questi dettagli dal portale di Azure, PowerShell o dall'interfaccia della riga di comando.

Usare il portale di Azure

Per ottenere i dettagli di ripristino da portale di Azure, seguire questa procedura:

  1. Accedere al portale di Azure e passare all'account ripristinato.

  2. Aprire il pannello Tag . Questo pannello deve contenere i tag restoredAtTimestamp e restoredSourceDatabaseAccountName. Questi tag descrivono il timestamp e il nome dell'account di origine usati per il ripristino periodico.

Utilizzare l'interfaccia della riga di comando di Azure

Eseguire il comando seguente per ottenere i dettagli di ripristino. e restoreSourceAccountNamerestoreTimestamp sarà sotto la tags proprietà :

az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup

Usare PowerShell

Importare il modulo Az.CosmosDB ed eseguire il comando seguente per ottenere i dettagli di ripristino. e restoreSourceAccountNamerestoreTimestamp sarà sotto la tags proprietà :

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount

Opzioni per la gestione dei backup

Con l'API Azure Cosmos DB per gli account NoSQL, è anche possibile gestire i propri backup usando uno degli approcci seguenti:

  • Usare Azure Data Factory per spostare periodicamente i dati in una risorsa di archiviazione di propria scelta.

  • Usare il feed di modifiche di Azure Cosmos DB per leggere periodicamente i dati per i backup completi o per le modifiche incrementali e archiviarli nella propria risorsa di archiviazione.

Azioni successive al ripristino

L'obiettivo principale del ripristino dei dati è recuperare i dati eliminati o modificati accidentalmente. Pertanto, è consigliabile esaminare prima di tutto il contenuto dei dati ripristinati per assicurarsi che siano quelli previsti. Se tutto sembra corretto, è possibile eseguire nuovamente la migrazione dei dati all'account primario. Anche se è possibile usare l'account ripristinato come nuovo account attivo, non è un'opzione consigliata se si dispone di carichi di lavoro di produzione.

Dopo aver ripristinato i dati, si riceverà una notifica riguardante il nome del nuovo account (in genere nel formato <original-name>-restored1) e l'ora del ripristino dell'account. L'account ripristinato avrà la stessa velocità effettiva di cui è stato effettuato il provisioning, gli stessi criteri di indicizzazione e sarà incluso nella stessa area dell'account originale. Un utente coamministratore o amministratore della sottoscrizione può visualizzare l'account ripristinato.

Eseguire la migrazione dei dati all'account originale

Di seguito sono riportati diversi modi per eseguire la migrazione dei dati all'account originale:

Si consiglia di eliminare il contenitore o il database immediatamente dopo la migrazione dei dati. Se non si eliminano i database o i contenitori ripristinati, questi elementi genereranno costi per unità richieste, archiviazione e dati in uscita.

Passaggi successivi