Säkerhetskopiera och återställa din app i Azure App Service

I Azure App Service kan du enkelt återställa appsäkerhetskopior. Du kan också göra anpassade säkerhetskopieringar på begäran eller konfigurera schemalagda anpassade säkerhetskopior. Du kan återställa en säkerhetskopia genom att skriva över en befintlig app genom att återställa till en ny app eller ett nytt fack. Den här artikeln visar hur du återställer en säkerhetskopia och gör anpassade säkerhetskopior.

Säkerhetskopiering och återställning stöds på nivåerna Basic, Standard, Premium och Isolated . För Basic-nivån kan endast produktionsplatsen säkerhetskopieras och återställas. Mer information om hur du skalar App Service planerar att använda en högre nivå finns i Skala upp en app i Azure.

Anteckning

Stöd i App Service miljöer (ASE) V2 och V3 är i förhandsversion. För App Service miljöer:

  • Säkerhetskopieringar kan återställas till en målapp i själva ASE, inte i en annan ASE.
  • Säkerhetskopior kan återställas till en målapp i en annan App Service plan i ASE.
  • Säkerhetskopior kan återställas till målappen för samma operativsystemplattform som källappen.

Automatiska och anpassade säkerhetskopieringar

Det finns två typer av säkerhetskopior i App Service. Automatiska säkerhetskopieringar görs regelbundet för din app så länge den finns på en prisnivå som stöds. Anpassade säkerhetskopior kräver inledande konfiguration och kan göras på begäran eller enligt ett schema. I följande tabell visas skillnaderna mellan de två typerna.

Automatiska säkerhetskopieringar Anpassade säkerhetskopior
Prisnivåer Basic, Standard, Premium. Basic, Standard, Premium, Isolerad.
Konfiguration krävs Nej. Ja.
Säkerhetskopians storlek 30 GB. 10 GB, varav 4 GB kan vara den länkade databasen.
Länkad databas Inte säkerhetskopierad. Följande länkade databaser kan säkerhetskopieras: SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL, MySQL i appen.
Lagringskonto krävs Nej. Ja.
Säkerhetskopieringsfrekvens Varje timme går det inte att konfigurera. Kan konfigureras.
Kvarhållning 30 dagar, inte konfigurerbar.
– Dagar 1–3: säkerhetskopieringar varje timme behålls.
– Dagar 4–14: varje 3 timmars säkerhetskopiering behålls.
– Dagar 15–30: varje 6 timmars säkerhetskopiering behålls.
0-30 dagar eller obestämd.
Nedladdningsbara Nej. Ja, som Azure Storage-blobar.
Partiella säkerhetskopieringar Stöds inte. Stöds.

Återställ en säkerhetskopia

Anteckning

App Service stoppar målappen eller målplatsen när du återställer en säkerhetskopia. För att minimera stilleståndstiden för produktionsappen återställer du säkerhetskopieringen till ett distributionsfack först och växlar sedan till produktion.

  1. På apphanteringssidan i Azure Portal går du till den vänstra menyn och väljer Säkerhetskopieringar. På sidan Säkerhetskopieringar visas alla automatiska och anpassade säkerhetskopior för din app och status för var och en.

    Skärmbild som visar hur du öppnar sidan säkerhetskopieringar.

  2. Välj den automatiska säkerhetskopieringen eller den anpassade säkerhetskopian som ska återställas genom att klicka på länken Återställ .

    Skärmbild som visar hur du väljer återställningslänken.

  3. Avsnittet Säkerhetskopieringsinformation fylls i automatiskt åt dig.

  4. Ange återställningsmålet i Välj ett mål. Om du vill återställa till en ny app väljer du Skapa ny under rutan App Service. Om du vill återställa till ett nytt distributionsfack väljer du Skapa nytt under rutan Distributionsfack .

    Om du väljer ett befintligt fack raderas och skrivs alla befintliga data i filsystemet över. Produktionsplatsen har samma namn som appnamnet.

  5. Du kan välja att återställa platskonfigurationen under Avancerade alternativ.

  6. Klicka på Återställ.

Skapa en anpassad säkerhetskopia

  1. På apphanteringssidan i Azure Portal går du till den vänstra menyn och väljer Säkerhetskopieringar.

    Skärmbild som visar hur du öppnar sidan säkerhetskopieringar.

  2. Längst upp på sidan Säkerhetskopieringar väljer du Konfigurera anpassade säkerhetskopior.

  3. I Lagringskonto väljer du ett befintligt lagringskonto (i samma prenumeration) eller väljer Skapa nytt. Gör samma sak med Container.

    Om du vill säkerhetskopiera de länkade databaserna väljer du Nästa: Avancerad>inkludera databas och väljer de databaser som ska säkerhetskopieras.

    Anteckning

    För att en databas som stöds ska visas i den här listan måste dess anslutningssträng finnas i avsnittet Anslutningssträngar på sidan Konfiguration för din app.

    MySQL-databaser i appen säkerhetskopieras alltid utan konfiguration. Om du gör inställningar för MySQL-databaser i appen manuellt, till exempel lägga till anslutningssträngar, kanske säkerhetskopieringarna inte fungerar korrekt.

  4. Klicka på Konfigurera.

    När lagringskontot och containern har konfigurerats kan du när som helst initiera en säkerhetskopiering på begäran. Säkerhetskopieringar på begäran behålls på obestämd tid.

  5. Längst upp på sidan Säkerhetskopior väljer du Säkerhetskopiera nu.

    Skärmbild som visar hur du gör en säkerhetskopiering på begäran.

    Den anpassade säkerhetskopian visas i listan med en förloppsindikator. Om det misslyckas med ett fel kan du välja radobjektet för att se felmeddelandet.

Konfigurera anpassade schemalagda säkerhetskopieringar

  1. På sidan Konfigurera anpassade säkerhetskopior väljer du Ange schema.

  2. Konfigurera säkerhetskopieringsschemat efter behov och välj Konfigurera.

Säkerhetskopiera och återställa en länkad databas

Anpassade säkerhetskopior kan innehålla länkade databaser. Gör följande för att se till att säkerhetskopian innehåller en länkad databas:

  1. Kontrollera att den länkade databasen stöds.
  2. Skapa en anslutningssträng som pekar på databasen. En databas anses vara "länkad" till din app när det finns en giltig anslutningssträng för den i appens konfiguration.
  3. Följ stegen i Skapa en anpassad säkerhetskopia för att välja den länkade databasen på fliken Avancerat .

Så här återställer du en databas som ingår i en anpassad säkerhetskopia:

  1. Följ stegen i Återställ en säkerhetskopia.
  2. I Avancerade alternativ väljer du Inkludera databas.

Felsökningsinformation finns i Varför säkerhetskopieras inte min länkade databas.

Konfigurera partiella säkerhetskopieringar

Partiella säkerhetskopieringar stöds för anpassade säkerhetskopior (inte för automatiska säkerhetskopieringar). Ibland vill du inte säkerhetskopiera allt i din app. Några exempel:

  • Du konfigurerar veckovisa säkerhetskopior av din app som innehåller statiskt innehåll som aldrig ändras, till exempel gamla blogginlägg eller bilder.
  • Din app har över 10 GB innehåll (det är det maximala belopp som du kan säkerhetskopiera åt gången).
  • Du vill inte säkerhetskopiera loggfilerna.

Om du vill undanta mappar och filer från att lagras i dina framtida säkerhetskopior skapar du en _backup.filter fil i %HOME%\site\wwwroot appens mapp . Ange listan över filer och mappar som du vill undanta i den här filen.

Tips

Du kan komma åt dina filer genom att gå till https://<app-name>.scm.azurewebsites.net/DebugConsole. Logga in på ditt Azure-konto om du uppmanas till det.

Identifiera de mappar som du vill undanta från dina säkerhetskopior. Du vill till exempel filtrera bort den markerade mappen och filerna.

Skärmbild som visar filer och mappar som ska undantas från säkerhetskopior.

Skapa en fil med namnet _backup.filter och placera föregående lista i filen, men ta bort roten %HOME%. Lista en katalog eller fil per rad. Innehållet i filen bör därför vara:

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

Ladda upp _backup.filter filen till katalogen på D:\home\site\wwwroot\ din plats med ftp eller någon annan metod. Om du vill kan du skapa filen direkt med Kudu DebugConsole och infoga innehållet där.

Kör säkerhetskopior på samma sätt som normalt, anpassade på begäran eller anpassade schemalagda. Alla filer och mappar som anges i _backup.filter undantas från framtida säkerhetskopior.

Anteckning

_backup.filter ändrar hur en återställning fungerar. Utan _backup.filtertar återställningen av en säkerhetskopia bort alla befintliga filer i appen och ersätter dem med filerna i säkerhetskopian. Med _backup.filterlämnas allt innehåll i appens filsystem som ingår i _backup.filter som det är (tas inte bort).

Så här lagras säkerhetskopior

När du har gjort en eller flera säkerhetskopior för din app visas säkerhetskopiorna på sidan Containrar för ditt lagringskonto och din app. I lagringskontot består varje säkerhetskopia av en.zip fil som innehåller säkerhetskopieringsdata och en .xml fil som innehåller ett manifest för filinnehållet .zip . Du kan packa upp och bläddra bland dessa filer om du vill komma åt dina säkerhetskopior utan att faktiskt utföra en appåterställning.

Databassäkerhetskopian för appen lagras i roten för .zip-filen. För SQL Database är detta en BACPAC-fil (inget filnamnstillägg) och kan importeras. Information om hur du skapar en databas i Azure SQL Database baserat på BACPAC-exporten finns i Importera en BACPAC-fil för att skapa en databas i Azure SQL Database.

Varning

Om du ändrar någon av filerna i containern websitebackups kan säkerhetskopieringen bli ogiltig och kan därför inte återställas.

Felmeddelanden

På sidan Säkerhetskopieringar visas status för varje säkerhetskopia. Om du vill få logginformation om en misslyckad säkerhetskopiering väljer du radobjektet i listan. Använd följande tabell för att felsöka säkerhetskopieringen. Om felet inte dokumenteras i tabellen öppnar du en supportbegäran.

Fel Åtgärda
Lagringsåtkomsten misslyckades. Ta bort säkerhetskopieringsschemat och konfigurera om det. Eller konfigurera om lagringen för säkerhetskopiering.
Storleken på webbplatsen + databasen överskrider {0} GB-gränsen för säkerhetskopior. Innehållsstorleken är {1} GB. Undanta vissa filer från säkerhetskopian eller ta bort databasdelen av säkerhetskopian och använd externt erbjudna säkerhetskopior i stället.
Ett fel uppstod vid anslutning till databasen {0} på servern {1}: Autentisering som värd för "{1}" för användarens< användarnamn> med metoden "mysql_native_password" misslyckades med meddelandet: Okänd databas "<db-name>" Uppdatera databasanslutningssträngen.
Det går inte att lösa {0}. {1} (CannotResolveStorageAccount) Ta bort säkerhetskopieringsschemat och konfigurera om det.
Inloggningen misslyckades för användaren .{0} Uppdatera databasanslutningssträngen.
Skapa en databaskopia av {0} ({1}) utlöste ett undantag. Det gick inte att skapa en databaskopia. Använd en administrativ användare i anslutningssträngen.
Serverns huvudnamn<> kan inte komma åt databasens "huvudnamn" under den aktuella säkerhetskontexten. Det går inte att öppna databasen "master" som begärdes vid inloggningen. Inloggningen misslyckades. Inloggningen misslyckades för användarens namn<>. Använd en administrativ användare i anslutningssträngen.
Ett nätverksrelaterat eller instansspecifikt fel uppstod när en anslutning upprättades till SQL Server. Servern hittades inte eller var inte tillgänglig. Verifiera att instansnamnet är korrekt och att SQL Server är konfigurerat att tillåta fjärranslutningar. (provider: provider för namngivna pipes, fel: 40 – Det gick inte att öppna en anslutning till SQL Server). Kontrollera att anslutningssträngen är giltig. Tillåt appens utgående IP-adresser i databasserverinställningarna.
Det går inte att öppna serverns "<namn>" som begärdes vid inloggningen. Inloggningen misslyckades. Kontrollera att anslutningssträngen är giltig.
Obligatoriska parametrar saknas för giltig signatur för delad åtkomst. Ta bort säkerhetskopieringsschemat och konfigurera om det.
SSL-anslutning krävs. Please specify SSL options and retry. när du försöker ansluta. SSL-anslutning till Azure Database for MySQL och Azure Database for PostgreSQL stöds inte för databassäkerhetskopior. Använd den interna säkerhetskopieringsfunktionen i respektive databas i stället.

Automatisera med skript

Du kan automatisera säkerhetskopieringshanteringen med skript med hjälp av Azure CLI eller Azure PowerShell.

Exempel finns i:

Vanliga frågor och svar

Är säkerhetskopieringarna inkrementella uppdateringar eller fullständiga säkerhetskopior?

Varje säkerhetskopia är en fullständig offlinekopia av din app, inte en inkrementell uppdatering.

Stöder Azure Functions automatiska säkerhetskopieringar?

Automatiska säkerhetskopieringar är tillgängliga i förhandsversion för Azure Functions på dedikerade (App Service)Standard- eller Premium-nivåer. Funktionsappar på prisnivåerna Förbrukning eller Elastic Premium stöds inte för automatiska säkerhetskopieringar.

Vad ingår i en automatisk säkerhetskopiering?

I följande tabell visas vilket innehåll som säkerhetskopieras i en automatisk säkerhetskopiering:

Inställningar Återställd?
Windows-appar: Allt appinnehåll under %HOME% katalogen
Linux-appar: Allt appinnehåll under /home katalogen
Anpassade containrar (Windows och Linux): Innehåll i beständig lagring
Yes
Innehållet i paketet run-from-ZIP No
Innehåll från valfri anpassad monterad Azure-lagring, till exempel från en Azure Files resurs. No

I följande tabell visas vilken appkonfiguration som återställs när du väljer att återställa appkonfigurationen:

Inställningar Återställd?
Interna logginställningar, inklusive Azure Storage-kontot och containerinställningarna Yes
Application Insights-konfiguration Yes
Hälsokontroll Yes
Nätverksfunktioner, till exempel privata slutpunkter, hybridanslutningar och integrering av virtuella nätverk No
Autentisering No
Hanterade identiteter No
Anpassade domäner No
TLS/SSL No
Skala ut No
Diagnostik med Azure Monitor No
Aviseringar och mått No
Säkerhetskopiering No
Associerade distributionsplatser No
Alla länkade databaser som har stöd för anpassad säkerhetskopiering No

Vad ingår i en anpassad säkerhetskopia?

En anpassad säkerhetskopia (säkerhetskopiering på begäran eller schemalagd säkerhetskopiering) innehåller allt innehåll och all konfiguration som ingår i en automatisk säkerhetskopiering, plus alla länkade databaser, upp till den tillåtna maximala storleken.

Varför säkerhetskopieras inte min länkade databas?

Länkade databaser säkerhetskopieras endast för anpassade säkerhetskopior, upp till den tillåtna maximala storleken. Om den maximala säkerhetskopieringsstorleken (10 GB) eller den maximala databasstorleken (4 GB) överskrids misslyckas säkerhetskopieringen. Här följer några vanliga orsaker till varför den länkade databasen inte säkerhetskopieras:

  • Säkerhetskopieringar av TLS-aktiverade Azure Database for MySQL stöds inte. Om en säkerhetskopia har konfigurerats stöter du på säkerhetskopieringsfel.
  • Säkerhetskopieringar av TLS-aktiverade Azure Database for PostgreSQL stöds inte. Om en säkerhetskopia har konfigurerats stöter du på säkerhetskopieringsfel.
  • MySQL-databaser i appen säkerhetskopieras automatiskt utan konfiguration. Om du gör manuella inställningar för MySQL-databaser i appen, till exempel lägga till anslutningssträngar, kanske säkerhetskopieringarna inte fungerar korrekt.

Vad händer om säkerhetskopieringsstorleken överskrider det tillåtna maxvärdet?

Det går inte att återställa automatiska säkerhetskopieringar om storleken på säkerhetskopian överskrider den maximala storleken. På samma sätt misslyckas anpassade säkerhetskopieringar om den maximala säkerhetskopieringsstorleken eller den maximala databasstorleken överskrids. För att minska lagringsstorleken kan du till exempel flytta filer som loggar, bilder, ljud och videor till Azure Storage.

Kan jag använda ett lagringskonto som har säkerhetsfunktioner aktiverade?

Följande säkerhetsfunktioner i Azure Storage stöds inte för anpassade säkerhetskopieringar:

Hur gör jag för att återställa till en app i en annan prenumeration?

  1. Skapa en anpassad säkerhetskopia till en Azure Storage-container.
  2. Ladda ned zip-filen för säkerhetskopiering till den lokala datorn.
  3. På sidan Säkerhetskopieringar för målappen väljer du Återställ på den översta menyn.
  4. I Säkerhetskopieringsinformation väljer du Lagring i Källa.
  5. Välj önskat lagringskonto.
  6. I Zip-fil väljer du Ladda upp fil.
  7. I Namn väljer du Bläddra och väljer den nedladdade ZIP-filen.
  8. Konfigurera resten av avsnitten som i Återställa en säkerhetskopia.

Hur gör jag för att återställa till en app i samma prenumeration men i en annan region?

Stegen är desamma som i Hur gör jag för att återställa till en app i en annan prenumeration.

Nästa steg

Azure Blob Storage dokumentation