Condividi tramite


Eseguire il backup e il ripristino dell'app nel Servizio app di Azure

Importante

A partire dal 31/31/2028, i backup personalizzati del servizio app di Azure non supporteranno più il backup dei database collegati. Per altre informazioni, vedere Deprecazione dei backup del database collegato.

È possibile ripristinare facilmente i backup delle app nel Servizio app di Azure. È anche possibile eseguire backup personalizzati su richiesta o configurare backup personalizzati pianificati. È possibile ripristinare un backup sovrascrivendo un'app esistente o ripristinando una nuova app o uno slot. Questo articolo mostra come ripristinare un backup ed eseguire backup personalizzati.

Il backup e il ripristino sono supportati nei livelli Basic, Standard, Premium e Isolato. Per il livello Basic, è possibile eseguire solo il backup e il ripristino dello slot di produzione. Per ulteriori informazioni sul ridimensionamento del piano di Servizio app per utilizzarne uno con un livello più alto, vedere Scalare un'app in Azure.

Differenze tra backup automatici e personalizzati

Il Servizioi app offre due tipi di backup. Se l'app si trova in un piano tariffario supportato, i backup automatici vengono creati regolarmente. I backup personalizzati richiedono una configurazione iniziale e possono essere eseguiti su richiesta o in base a una pianificazione. La tabella seguente illustra le differenze tra i due tipi.

Funzionalità Backup automatici Backup personalizzati
Piani tariffari Basic, Standard, Premium e Isolato. Basic, Standard, Premium e Isolato.
Configurazione necessaria No Sì.
Dimensione del backup 30 GB. 10 GB, di cui 4 GB possono essere destinati al database collegato.
Database collegato Nessun backup eseguito. A partire dal 31/31/2028, i backup personalizzati del servizio app di Azure non supporteranno più il backup dei database collegati.

È possibile eseguire il backup dei seguenti database collegati: Database SQL, Database di Azure per MySQL, Database di Azure for PostgreSQL, MySQL in-app. Si noti che il database di Azure per MySQL - Server flessibile e il server flessibile di Database di Azure per PostgreSQL non sono supportati nei backup personalizzati.
Account di archiviazione obbligatorio No Sì.
Frequenza di backup Ogni ora, non configurabile. Configurabile (ogni 2 ore minima, fino a 12 backup al giorno (manuale + pianificato)).
Conservazione 30 giorni, non configurabili.

Giorni da 1 a 3: backup orari conservati.

Giorni da 4 a 14: ogni terzo backup orario conservato.

Giorni da 15 a 30: ogni sesto backup orario conservato.
0-30 giorni o indefiniti.
Scaricabile No Sì, come BLOB di archiviazione di Azure.
Backup parziali Non supportato. Supportato.
Backup su una rete virtuale Non supportato. Supportato.

Ripristinare un backup

Nota

Il Servizio app arresta l'app di destinazione o lo slot di destinazione durante il ripristino del backup. Per ridurre al minimo i tempi di inattività per un'app di produzione, ripristinare prima il backup in uno slot di distribuzione e quindi passare all'ambiente di produzione.

  1. Nel riquadro di gestione delle app nel portale di Azure selezionare Backup nel menu a sinistra. La pagina Backup elenca tutti i backup automatici e personalizzati per l'app e visualizza lo stato di ognuno.

    Screenshot che mostra come aprire la pagina dei backup.

  2. Selezionare il backup automatico o personalizzato da ripristinare. Selezionare il collegamento Ripristina.

  3. La sezione Dettagli backup viene popolata automaticamente.

  4. Specificare la destinazione di ripristino in Scegliere una destinazione. Per eseguire il ripristino in una nuova app, selezionare Crea nuovo nella casella Servizio app. Per eseguire il ripristino in un nuovo slot di distribuzione, selezionare Crea nuovo nella casella Slot di distribuzione.

    Se si sceglie uno slot esistente, tutti i dati esistenti nel relativo file system vengono cancellati e sovrascritti. Lo slot di produzione ha lo stesso nome dell'app.

  5. È possibile ripristinare la configurazione del sito in Opzioni avanzate.

  6. Selezionare Ripristina.

Creare un backup personalizzato

  1. Passare al riquadro di gestione delle app nel portale di Azure. Nel menu a sinistra selezionare Backup.

  2. Nella parte superiore della pagina Backup selezionare Configura backup personalizzati.

  3. In Account di archiviazione selezionare un account di archiviazione esistente nella stessa sottoscrizione o selezionare Crea nuovo. Ripetere nel contenitore.

    Per eseguire backup dei database collegati, selezionare Avanti: Avanzate>Includi database e selezionare i database da includere nel backup.

    Nota

    Un database supportato viene visualizzato solo in questo elenco quando la stringa di connessione esiste nella sezione Stringhe di connessione della pagina Configurazione per l'app.

    Il backup dei database MySQL in-app viene eseguito sempre senza alcuna configurazione. Se si creano manualmente impostazioni per i database MySQL in-app, ad esempio l'aggiunta di stringhe di connessione, i backup potrebbero non funzionare correttamente.

  4. Seleziona Configura.

    Dopo aver configurato l'account di archiviazione e il contenitore, è possibile avviare un backup su richiesta in qualsiasi momento. I backup su richiesta vengono conservati a tempo indeterminato.

  5. Nella parte superiore del riquadro Backup selezionare Backup ora.

    Il backup personalizzato viene visualizzato nell'elenco con un indicatore di stato. Se si verifica un errore, è possibile selezionare l'elemento della riga per visualizzare il messaggio di errore.

Configurare backup pianificati personalizzati

  1. Nel riquadro Configura backup personalizzati selezionare Imposta pianificazione.

  2. Configurare la pianificazione del backup in base alle esigenze e quindi selezionare Configura.

Eseguire il backup e il ripristino di un database collegato

Nota

I backup personalizzati con database collegati per il servizio app supportano solo livelli a server singolo di Database di Azure per MySQL e PostgreSQL. Poiché i livelli a server singolo vengono ritirati, l'aggiornamento dei database collegati al server flessibile potrebbe causare l'esito negativo dei backup. Usare gli strumenti di backup del database nativi per evitare la perdita di dati. I server MySQL e PostgreSQL autonomi (ad esempio nelle macchine virtuali) non sono interessati dal ritiro del livello Server singolo. Per informazioni dettagliate sul ritiro, vedere Ritiro del server singolo MySQL e ritiro del server singolo PostgreSQL.

Per il backup e il ripristino di server flessibili, vedere la documentazione del database corrispondente:

I backup personalizzati possono includere database collegati (tranne nei casi in cui il backup è configurato tramite una rete virtuale di Azure). Per assicurarsi che il backup includa un database collegato, seguire questa procedura:

  1. Assicurarsi che il database collegato sia supportato.
  2. Creare una stringa di connessione che punta al tuo database. Un database viene considerato "collegato" all'app quando è presente una stringa di connessione valida nella configurazione dell'app.
  3. Seguire la procedura descritta in Creare un backup personalizzato per selezionare il database collegato nella scheda Avanzate.

Per ripristinare un database incluso in un backup personalizzato:

  1. Seguire la procedura descritta in Ripristinare un backup.
  2. In Opzioni avanzateselezionare Includi database.

Per informazioni sulla risoluzione dei problemi, vedere Perché il database collegato non è incluso nel backup?

Deprecazione dei backup del database collegato

A partire dal 31/31/2028, i backup personalizzati del servizio app di Azure non supporteranno più il backup dei database collegati. È consigliabile usare invece gli strumenti di backup e ripristino nativi forniti da ogni servizio di database. Per aiutare gli utenti a prepararsi a questa modifica, il team del servizio app rimuoverà l'opzione per includere i database collegati nelle nuove configurazioni di backup personalizzate in base alla pianificazione seguente:

  • Novembre 2025 - Rimozione per i database MySQL e PostgreSQL collegati
  • Aprile 2026 - Rimozione per i database SQL di Azure e SQL Server collegati Backup personalizzati che includono già database collegati continueranno a eseguire il backup di tali database fino al3/31/2028, dopo di che i database collegati non verranno più inclusi.

Eseguire il backup e il ripristino tramite la rete virtuale di Azure

Con i backup personalizzati, è possibile eseguire il backup dei file e dei dati di configurazione dell'app in un account di archiviazione protetto da firewall se vengono soddisfatti i requisiti seguenti:

Per eseguire il backup e il ripristino tramite la rete virtuale di Azure:

  1. Per configurare backup personalizzati, selezionare Backup/ripristino tramite l'integrazione della rete virtuale.
  2. Selezionare Configura per salvare le impostazioni.

Per abilitare il backup/ripristino su una rete virtuale per gli slot di distribuzione, completare i passaggi necessari specificamente per ogni slot:

  • L'integrazione della rete virtuale è abilitata per gli slot di distribuzione o lo slot si trova in un ambiente del servizio app v3.
  • L'opzione per il backup/ripristino tramite l'integrazione della rete virtuale è selezionata per gli slot di distribuzione.

Se la casella di controllo non viene visualizzata o risulta disabilitata, verificare che le risorse soddisfino i requisiti.

Dopo aver salvato la configurazione, qualsiasi backup manuale, backup pianificato o ripristino viene eseguito tramite la rete virtuale. Se si apportano modifiche all'app, alla rete virtuale o all'account di archiviazione che impediscono all'app di accedere all'account di archiviazione tramite la rete virtuale, le operazioni di backup o ripristino si concludono con un esito negativo.

Configurare i backup parziali

I backup parziali sono supportati per i backup personalizzati, ma non per i backup automatici. In alcuni casi non si vuole eseguire il backup di tutti gli elementi dell'app. Ecco alcuni esempi:

  • Si configurano backup settimanali di un'app che contiene contenuto statico che non cambia mai (ad esempio, vecchi post di blog o immagini).
  • L'app ha più di 10 GB di contenuto. Questa è la quantità massima di cui è possibile eseguire il backup alla volta.
  • Non si vuole eseguire il backup dei file di log.

Per escludere cartelle e file da archiviare nei backup futuri, creare un file _backup.filter nella cartella%HOME%\site\wwwroot dell'app. Specificare l'elenco di file e cartelle da escludere in questo file.

Suggerimento

È possibile accedere ai file passando a https://<app-name>.scm.azurewebsites.net/DebugConsole. Se richiesto, accedere all'account di Azure.

Identificare le cartelle da escludere dai backup. Ad esempio, si supponga di voler filtrare la cartella e i file evidenziati.

Screenshot che mostra i file e le cartelle da escludere dai backup.

Creare un file denominato _backup.filter e inserire l'elenco precedente nel file, ma rimuovere la radice %HOME%. Elencare una directory o un file per ogni riga. Il contenuto del file dovrebbe essere analogo al seguente:

\site\wwwroot\Images\brand.png
\site\wwwroot\Images\2014
\site\wwwroot\Images\2013

Caricare il file _backup.filter nella directory D:\home\site\wwwroot\ del sito usando FTP o qualsiasi altro metodo. È anche possibile creare il file direttamente usando il comando DebugConsole in Kudu e inserire il contenuto nel file.

Esegui i backup come di consueto: personalizzati su richiesta o personalizzati pianificati. Eventuali file e cartelle specificati in _backup.filter verranno esclusi dai futuri backup.

Nota

_backup.filter modifica la modalità di ripristino. Senza _backup.filter, il ripristino di un backup elimina tutti i file esistenti nell'app e li sostituisce con i file nel backup. Con _backup.filter, qualsiasi contenuto nel file system dell'app incluso in _backup.filter viene lasciato così com'è (non eliminato).

Modalità di archiviazione dei backup

Dopo l'esecuzione di uno o più backup per l'app, i backup vengono visualizzati nella pagina Contenitori dell'account di archiviazione e dell'app. Nell'account di archiviazione ogni backup è costituito da un file ZIP contenente i dati di backup e un file XML che contiene un manifesto del contenuto del file ZIP. È possibile decomprimere e sfogliare questi file se si vuole accedere ai backup senza eseguire effettivamente un ripristino delle app.

Il backup del database per l'app viene archiviato nella radice del file con estensione zip. Per un database SQ, si tratta di un file BACPAC (senza estensione) che può essere importato. Per creare un database nel database SQL di Azure in base all'esportazione BACPAC, vedere Importare un file BACPAC per creare un database nel database SQL di Azure.

Avviso

La modifica di uno dei file nel tuo websitebackups contenitore può rendere il backup invalido e non restaurabile.

Messaggi di errore

La pagina Backup visualizza lo stato di ogni backup. Per visualizzare i dettagli del log relativi ai backup non riusciti, selezionare la rispettiva voce nell'elenco. Usare la tabella seguente per risolvere i problemi relativi al backup. Se l'errore non è documentato nella tabella, aprire un ticket di supporto.

Errore Correzione
Non è stato possibile accedere allo spazio di archiviazione. Eliminare e riconfigurare la pianificazione del backup o riconfigurare l'archiviazione di backup.
Le dimensioni del sito Web e del database superano il {0} limite di GB per i backup. Le dimensioni del contenuto sono {1} GB. Escludere alcuni file dal backup o rimuovere la parte del database del backup e usare i backup offerti esternamente.
Errore durante la connessione al database {0} nel server {1}: l'autenticazione per l'host {1} per l'utente \<username> tramite il metodo mysql_native_password non è riuscita con messaggio: Database \<db-name>sconosciuto. Aggiornare la stringa di connessione del database.
Non è possibile risolvere {0}. {1} (CannotResolveStorageAccount) Eliminare il programma di backup e riconfigurarlo.
Accesso non riuscito per l'utente {0}. Aggiornare la stringa di connessione del database.
La creazione di una copia del database di {0}({1}) ha generato un'eccezione. Impossibile creare la copia del database. Specificare un utente amministratore nella stringa di connessione.
L'entità server "\<name>" non è in grado di accedere al database "master" nel contesto di sicurezza corrente. Impossibile aprire il database "master" richiesto dall'account di accesso. Accesso non riuscito. Accesso non riuscito per l'utente \<name>. Specificare un utente amministratore nella stringa di connessione.
Si è verificato un errore di rete o specifico dell'istanza mentre veniva stabilita la connessione a SQL Server. Il server non è stato trovato o non è accessibile. Verificare che il nome dell'istanza sia corretto e che il server sia configurato in modo da consentire connessioni remote. (Provider: Named Pipes Provider, errore: 40 - Impossibile aprire una connessione a SQL Server). Assicurarsi che la stringa di connessione sia valida. Consentire gli indirizzi IP in uscita dell'app nelle impostazioni del server di database.
Impossibile aprire il server "\<name>" richiesto dall'account di accesso. Accesso non riuscito. Assicurarsi che la stringa di connessione sia valida.
Parametri obbligatori mancanti per una firma di accesso condiviso valida. Eliminare il programma di backup e riconfigurarlo.
È necessaria una connessione SSL. Specificare le opzioni SSL e riprovare quando si tenta di connettersi. La connettività SSL a Database di Azure per MySQL e Database di Azure per PostgreSQL non è supportata per i backup del database. Usare invece la funzionalità di backup nativa nel rispettivo database.

Come funzionano il backup e il ripristino con App Service Environments?

  • I backup automatici possono essere ripristinati in un'app di destinazione all'interno dell'ambiente del servizio app stesso, non in un altro ambiente del servizio app.
  • I backup personalizzati possono essere ripristinati in un'app di destinazione in un altro ambiente del servizio app, ad esempio dall'ambiente del servizio app v2 all'ambiente del servizio app v3.
  • I backup possono essere ripristinati in un'app di destinazione disponibile nella stessa piattaforma del sistema operativo dell'app di origine.

Automatizzazione con gli script

È possibile automatizzare la gestione dei backup con gli script usando l'interfaccia della riga di comando di Azure o Azure PowerShell.

Per qualche esempio vedere:

Domande frequenti

I backup sono aggiornamenti incrementali o backup completi?

Ciascun backup è una copia offline completa dell'app, non un aggiornamento incrementale.

Le Azure Functions sono compatibili con i backup automatici?

I backup automatici sono disponibili per Azure Functions nei livelli dedicati (Servizio app) Basic, Standard e Premium. I backup automatici non sono supportati per le funzioni app nei livelli tariffari Consumo o Elastic Premium.

Cosa è incluso in un backup automatico?

La tabella seguente mostra quali contenuti vengono inclusi in un backup automatico:

Contenuto Elemento ripristinato?
App di Windows: tutto il contenuto dell'app nella directory %HOME%.
App di Linux: tutto il contenuto dell'app nella directory /home.
Contenitori personalizzati (Windows e Linux): contenuto nello spazio di archiviazione permanente.
Contenuto del pacchetto run-from-ZIP. NO
Contenuto di qualsiasi risorsa di archiviazione di Azure montata personalizzata, ad esempio da una condivisione di File di Azure. NO

La tabella seguente illustra quale configurazione dell'app viene ripristinata quando si sceglie di ripristinare la configurazione dell'app:

Impostazione Elemento ripristinato?
Impostazioni del log nativo, incluse le impostazioni dell'account di Archiviazione di Azure e del contenitore
Configurazione di Application Insights
Controllo sanitario
Funzionalità di rete, ad esempio endpoint privati, connessioni ibride e integrazione della rete virtuale NO
Autenticazione NO
Identità gestite NO
Domini personalizzati NO
TLS/SSL NO
Aumentare il numero di istanze NO
Diagnostica con Monitoraggio di Azure NO
Avvisi e metriche NO
Backup NO
Slot di distribuzione associati NO
Qualsiasi database collegato supportato dal backup personalizzato NO

Cosa è incluso in un backup personalizzato?

Un backup personalizzato (backup su richiesta o backup pianificato) include tutto il contenuto e la configurazione inclusi in un backup automatico, oltre a qualsiasi database collegato, fino alle dimensioni massime consentite.

Ogni backup contiene un file .zip con dati di backup e un file di .xml {siteName}-{dateTime}.xml, che elenca il contenuto, inclusi i domini personalizzati. Quando si ripristina un backup personalizzato, i domini personalizzati dal file di .xml verranno aggiunti all'app di destinazione se non esiste alcun conflitto DNS (ad esempio, il dominio è disponibile per l'associazione) e se l'app di destinazione dispone di domini personalizzati diversi rispetto all'elenco di domini personalizzati del file di .xml, tali domini personalizzati verranno rimossi.

Quando si esegue il backup su una rete virtuale di Azure, non è possibile eseguire il backup del database collegato.

Perché il database collegato non è incluso nel backup?

Nota

I backup personalizzati con database collegati per il servizio app supportano solo livelli a server singolo di Database di Azure per MySQL e PostgreSQL. Poiché i livelli a server singolo vengono ritirati, l'aggiornamento dei database collegati al server flessibile potrebbe causare l'esito negativo dei backup. Usare gli strumenti di backup del database nativi per evitare la perdita di dati. I server MySQL e PostgreSQL autonomi (ad esempio nelle macchine virtuali) non sono interessati dal ritiro del livello Server singolo. Per informazioni dettagliate sul ritiro, vedere Ritiro del server singolo MySQL e ritiro del server singolo PostgreSQL.

Per il backup e il ripristino di server flessibili, vedere la documentazione del database corrispondente:

Il backup dei database collegati viene eseguito solo per i backup personalizzati, fino alle dimensioni massime consentite. Se viene superata la dimensione massima del backup (10 GB) o la dimensione massima del database (4 GB), il backup non ha esito positivo. Alcuni dei motivi comuni per cui non viene eseguito il backup del database collegato sono i seguenti:

  • Il backup di Database di Azure per MySQL abilitato per TLS non è supportato. Se è configurato un backup, si verificano dei fallimenti nel backup.
  • Il backup di Database di Azure per PostgreSQL abilitato per TLS non è supportato. Se è configurato un backup, si verificano dei fallimenti nel backup.
  • Per i database MySQL in-app viene automaticamente eseguito un backup senza alcuna configurazione. Se si modificano manualmente le impostazioni dei database MySQL in-app, ad esempio si aggiungono stringhe di connessione, è possibile che i backup non vengano eseguiti correttamente.

Cosa accade se le dimensioni del backup superano il limite massimo consentito?

I backup automatici non possono essere ripristinati se le dimensioni del backup superano le dimensioni massime. Analogamente, i backup personalizzati hanno esito negativo se vengono superate le dimensioni massime del backup o le dimensioni massime del database. Per ridurre le dimensioni di archiviazione, è consigliabile spostare file come log, immagini, audio e video in Archiviazione di Azure, ad esempio.

È possibile usare un account di archiviazione con funzionalità di sicurezza abilitate?

È possibile eseguire il backup in un account di archiviazione protetto da firewall se fa parte della stessa topologia della rete virtuale dell'app. Vedere Eseguire il backup e il ripristino tramite la rete virtuale di Azure.

Come si esegue il ripristino in un'app in una sottoscrizione diversa?

  1. Eseguire un backup personalizzato dell'app di origine in un contenitore di Archiviazione di Azure.
  2. Scaricare il file ZIP di backup e il file di metadati XML nel computer locale.
  3. Caricare i file ZIP e XML nell'account di archiviazione di destinazione.
  4. Nella pagina Backup dell'app di destinazione fare clic su Ripristina nel menu in alto.
  5. Nella sezione Dettagli backup scegliere Archiviazione come origine. Selezionare l'account di archiviazione in cui sono stati caricati i file di backup.
  6. Fare clic su Usa file nell'account di archiviazione e selezionare il file ZIP da ripristinare.
  7. Configurare le impostazioni rimanenti come descritto in Ripristinare un backup. Confermare e avviare il processo di ripristino.

Come si esegue il ripristino in un'app nella stessa sottoscrizione ma in un'area diversa?

È possibile ripristinare un'app in un'area diversa all'interno della stessa sottoscrizione. Il processo segue gli stessi passaggi descritti in Ripristinare un backup. Assicurarsi che l'archiviazione di backup per l'app di origine sia accessibile dall'app di destinazione. Il processo di ripristino nel portale di Azure consente di selezionare un'app in un'area diversa purché rimanga all'interno della stessa sottoscrizione.

Dove vengono archiviati i backup automatici?

I backup automatici vengono archiviati nello stesso data center del servizio app. Non è consigliabile affidarsi ai backup automatici come piano di ripristino di emergenza.

Come si arresta un backup automatico?

Non è possibile arrestare i backup automatici. Il backup automatico viene archiviato nella piattaforma e non ha alcun effetto sull'istanza dell'app sottostante o sul relativo spazio di archiviazione.