Tworzenie kopii zapasowej i przywracanie aplikacji w Azure App Service
W Azure App Service można łatwo przywrócić kopie zapasowe aplikacji. Możesz również tworzyć niestandardowe kopie zapasowe na żądanie lub konfigurować zaplanowane niestandardowe kopie zapasowe. Kopię zapasową można przywrócić, zastępując istniejącą aplikację, przywracając do nowej aplikacji lub miejsca. W tym artykule przedstawiono sposób przywracania kopii zapasowej i tworzenia niestandardowych kopii zapasowych.
Tworzenie i przywracanie kopii zapasowych w warstwieStandardowa, Premium, Izolowana. Aby uzyskać więcej informacji na temat skalowania App Service planu korzystania z wyższej warstwy, zobacz Skalowanie aplikacji w górę na platformie Azure.
Automatyczne a niestandardowe kopie zapasowe
Istnieją dwa typy kopii zapasowych w App Service. Automatyczne kopie zapasowe tworzone dla aplikacji regularnie, o ile są w obsługiwanej warstwie cenowej. Niestandardowe kopie zapasowe wymagają konfiguracji początkowej i mogą być tworzone na żądanie lub zgodnie z harmonogramem. W poniższej tabeli przedstawiono różnice między dwoma typami.
| Automatyczne kopie zapasowe | Niestandardowe kopie zapasowe | |
|---|---|---|
| Warstwy cenowe | Standardowa, Premium. | Standardowa, Premium, Izolowana. |
| Wymagana konfiguracja | Nie. | Tak. |
| Rozmiar kopii zapasowej | 30 GB. | 10 GB, z których 4 GB może być połączoną bazą danych. |
| Połączona baza danych | Nie utworzono kopii zapasowej. | Można utworzyć kopię zapasową następujących połączonych baz danych: SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL, MySQL w aplikacji. |
| Wymagane konto magazynu | Nie. | Tak. |
| Częstotliwość wykonywania kopii zapasowych | Co godzinę, nie można skonfigurować. | Można skonfigurować. |
| Przechowywanie | 30 dni, których nie można skonfigurować. | 0–30 dni lub czas nieokreślony. |
| Do pobrania | Nie. | Tak, jako obiekty blob usługi Azure Storage. |
| Częściowe kopie zapasowe | Nieobsługiwane. | Obsługiwane. |
Przywracanie kopii zapasowej
Uwaga
App Service zatrzymuje docelową aplikację lub miejsce docelowe podczas przywracania kopii zapasowej. Aby zminimalizować przestój aplikacji produkcyjnej, najpierw przywróć kopię zapasową do miejsca wdrożenia , a następnie zamień na środowisko produkcyjne.
Na stronie zarządzania aplikacjami w Azure Portal w menu po lewej stronie wybierz pozycję Kopie zapasowe. Na stronie Kopie zapasowe znajduje się lista wszystkich automatycznych i niestandardowych kopii zapasowych aplikacji oraz ich stan.
Wybierz kopię zapasową do przywrócenia, klikając link Przywróć .
Sekcja Szczegóły kopii zapasowej jest automatycznie wypełniana.
Określ miejsce docelowe przywracania w obszarze Wybierz miejsce docelowe. Aby przywrócić do nowej aplikacji, wybierz pozycję Utwórz nową w polu App Service. Aby przywrócić do nowego miejsca wdrożenia, wybierz pozycję Utwórz nowy w polu Miejsce wdrożenia .
Jeśli wybierzesz istniejące miejsce, wszystkie istniejące dane w systemie plików zostaną wymazane i zastąpione. Miejsce produkcyjne ma taką samą nazwę jak nazwa aplikacji.
Konfigurację lokacji można przywrócić w obszarze Opcje zaawansowane.
Kliknij przycisk Przywróć.
Tworzenie niestandardowej kopii zapasowej
Na stronie zarządzania aplikacjami w Azure Portal w menu po lewej stronie wybierz pozycję Kopie zapasowe.
W górnej części strony Kopie zapasowe wybierz pozycję Konfiguruj niestandardowe kopie zapasowe.
W obszarze Konto magazynu wybierz istniejące konto magazynu (w tej samej subskrypcji) lub wybierz pozycję Utwórz nowe. Zrób to samo w przypadku kontenera.
Aby utworzyć kopię zapasową połączonych baz danych, wybierz pozycję Dalej: Zaawansowane>uwzględnij bazę danych i wybierz bazy danych do utworzenia kopii zapasowej.
Uwaga
Aby obsługiwana baza danych pojawiła się na tej liście, jej parametry połączenia muszą istnieć w sekcji Parametry połączenia na stronie Konfiguracja aplikacji.
Kopie zapasowe baz danych MySQL w aplikacji są zawsze tworzone bez żadnej konfiguracji. Jeśli ręcznie ustawisz ustawienia baz danych MySQL w aplikacji, takie jak dodawanie parametrów połączenia, kopie zapasowe mogą nie działać poprawnie.
Kliknij przycisk Konfiguruj.
Po skonfigurowaniu konta magazynu i kontenera możesz w dowolnym momencie zainicjować kopię zapasową na żądanie. Kopie zapasowe na żądanie są przechowywane na czas nieokreślony.
W górnej części strony Kopie zapasowe wybierz pozycję Utwórz kopię zapasową teraz.
Niestandardowa kopia zapasowa jest wyświetlana na liście ze wskaźnikiem postępu. Jeśli wystąpi błąd, możesz wybrać element wiersza, aby wyświetlić komunikat o błędzie.
Konfigurowanie niestandardowych zaplanowanych kopii zapasowych
Na stronie Konfigurowanie niestandardowych kopii zapasowych wybierz pozycję Ustaw harmonogram.
Skonfiguruj harmonogram tworzenia kopii zapasowych zgodnie z potrzebami i wybierz pozycję Konfiguruj.
Konfigurowanie częściowych kopii zapasowych
Częściowe kopie zapasowe są obsługiwane w przypadku niestandardowych kopii zapasowych. Czasami nie chcesz tworzyć kopii zapasowych wszystkich elementów w aplikacji. Oto kilka przykładów:
- Konfigurujesz cotygodniowe kopie zapasowe aplikacji zawierającej zawartość statyczną, która nigdy się nie zmienia, na przykład stare wpisy w blogu lub obrazy.
- Aplikacja ma ponad 10 GB zawartości (jest to maksymalna ilość, którą można utworzyć naraz).
- Nie chcesz tworzyć kopii zapasowych plików dziennika.
Aby wykluczyć foldery i pliki z przechowywania w przyszłych kopiach zapasowych, utwórz _backup.filter plik w %HOME%\site\wwwroot folderze aplikacji. Określ listę plików i folderów, które chcesz wykluczyć w tym pliku.
Porada
Aby uzyskać dostęp do plików, przejdź do https://<app-name>.scm.azurewebsites.net/DebugConsolefolderu . Jeśli zostanie wyświetlony monit, zaloguj się do konta platformy Azure.
Zidentyfikuj foldery, które chcesz wykluczyć z kopii zapasowych. Na przykład chcesz odfiltrować wyróżniony folder i pliki.
Utwórz plik o nazwie _backup.filter i umieść poprzednią listę w pliku, ale usuń katalog główny %HOME%. Wyświetl jeden katalog lub plik w wierszu. Zawartość pliku powinna być następująca:
\site\wwwroot\Images\brand.png
\site\wwwroot\Images\2014
\site\wwwroot\Images\2013
Przekaż _backup.filter plik do D:\home\site\wwwroot\ katalogu witryny przy użyciu protokołu FTP lub innej metody. Jeśli chcesz, możesz utworzyć plik bezpośrednio przy użyciu narzędzia Kudu DebugConsole i wstawić tam zawartość.
Uruchamianie kopii zapasowych w taki sam sposób, jak zwykle, niestandardowe harmonogramy na żądanie lub niestandardowe. Wszystkie pliki i foldery określone w programie _backup.filter są wykluczone z przyszłych kopii zapasowych.
Uwaga
_backup.filter zmienia sposób działania przywracania. Bez _backup.filterfunkcji przywracanie kopii zapasowej usuwa wszystkie istniejące pliki w aplikacji i zastępuje je plikami w kopii zapasowej. W przypadku programu _backup.filterdowolna zawartość w systemie plików aplikacji, która jest uwzględniona w _backup.filter pliku, jest pozostawiona jako (nie została usunięta).
Jak są przechowywane kopie zapasowe
Po utworzeniu co najmniej jednej kopii zapasowej aplikacji kopie zapasowe są widoczne na stronie Kontenery konta magazynu i aplikacji. Na koncie magazynu każda kopia zapasowa składa się z.zip pliku zawierającego dane kopii zapasowej i .xml pliku zawierającego .zip manifest zawartości pliku. Możesz rozpakować i przeglądać te pliki, jeśli chcesz uzyskać dostęp do kopii zapasowych bez faktycznego wykonania przywracania aplikacji.
Kopia zapasowa bazy danych aplikacji jest przechowywana w katalogu głównym pliku .zip. W przypadku SQL Database jest to plik BACPAC (bez rozszerzenia pliku) i można go zaimportować. Aby utworzyć bazę danych w usłudze Azure SQL Database na podstawie eksportu BACPAC, zobacz Importowanie pliku BACPAC w celu utworzenia bazy danych w usłudze Azure SQL Database.
Ostrzeżenie
Zmiana dowolnego pliku w kontenerze witryn internetowych może spowodować, że kopia zapasowa stanie się nieprawidłowa, a zatem nie można jej przywrócić.
Komunikaty o błędach
Na stronie Kopie zapasowe zostanie wyświetlony stan każdej kopii zapasowej. Aby uzyskać szczegóły dziennika dotyczące nieudanej kopii zapasowej, wybierz element wiersza na liście. Poniższa tabela ułatwia rozwiązywanie problemów z kopią zapasową. Jeśli błąd nie został udokumentowany w tabeli, otwórz bilet pomocy technicznej.
| Błąd | Wprowadzanie poprawek |
|---|---|
| Dostęp do magazynu nie powiodł się. | Usuń harmonogram tworzenia kopii zapasowych i skonfiguruj ją ponownie. Możesz też ponownie skonfigurować magazyn kopii zapasowych. |
| Rozmiar witryny internetowej i bazy danych przekracza {0} limit GB kopii zapasowych. Rozmiar zawartości to {1} GB. | Wyklucz niektóre pliki z kopii zapasowej lub usuń część bazy danych kopii zapasowej i użyj zamiast tego oferowanych zewnętrznie kopii zapasowych. |
| Wystąpił błąd podczas nawiązywania połączenia z bazą danych {0} na serwerze {1}: Uwierzytelnianie do hosta "{1}" dla użytkownika "<username>" przy użyciu metody "mysql_native_password" nie powiodło się z komunikatem: Nieznana baza danych "<db-name>" | Zaktualizuj parametry połączenia bazy danych. |
| Nie można rozpoznać {0}. {1} (CannotResolveStorageAccount) | Usuń harmonogram tworzenia kopii zapasowej i skonfiguruj go ponownie. |
| Logowanie użytkownika "{0}" nie powiodło się. | Zaktualizuj parametry połączenia bazy danych. |
| Tworzenie kopii {0} bazy danych ({1}) zgłosiło wyjątek. Nie można utworzyć kopii bazy danych. | Użyj użytkownika administracyjnego w parametrach połączenia. |
| Główna nazwa<> serwera nie może uzyskać dostępu do bazy danych "master" w bieżącym kontekście zabezpieczeń. Nie można otworzyć bazy danych "master" żądanej przez identyfikator logowania. Logowanie nie powiodło się. Logowanie użytkownika "<name>" nie powiodło się. | Użyj użytkownika administracyjnego w parametrach połączenia. |
| Podczas nawiązywania połączenia z serwerem SQL wystąpił błąd dotyczący sieci lub wystąpienia. Serwer nie został znaleziony lub był niedostępny. Sprawdź, czy nazwa wystąpienia jest prawidłowa oraz czy program SQL Server skonfigurowano tak, aby zezwalał na połączenia zdalne. (dostawca: dostawca nazwanych potoków, błąd: 40 — nie można nawiązać połączenia z programem SQL Server). | Sprawdź, czy parametry połączenia są prawidłowe. Zezwalaj na wychodzące adresy IP aplikacji w ustawieniach serwera bazy danych. |
| Nie można otworzyć serwera "<name>" żądanego przez identyfikator logowania. Logowanie nie powiodło się. | Sprawdź, czy parametry połączenia są prawidłowe. |
| Brak obowiązkowych parametrów dla prawidłowego sygnatury dostępu współdzielonego. | Usuń harmonogram tworzenia kopii zapasowej i skonfiguruj go ponownie. |
| wymagane połączenie SSL. Określ opcje protokołu SSL i spróbuj ponownie. podczas próby nawiązania połączenia. | Łączność SSL z Azure Database for MySQL i Azure Database for PostgreSQL nie jest obsługiwana w przypadku kopii zapasowych bazy danych. Zamiast tego użyj natywnej funkcji tworzenia kopii zapasowej w odpowiedniej bazie danych. |
Automatyzowanie przy użyciu skryptów
Zarządzanie kopiami zapasowymi można zautomatyzować za pomocą skryptów przy użyciu interfejsu wiersza polecenia platformy Azure lub Azure PowerShell.
Aby zapoznać się z przykładami, zobacz:
Często zadawane pytania
- Czy kopie zapasowe są aktualizacjami przyrostowymi, czy kompletnymi kopiami zapasowymi?
- Czy Azure Functions obsługuje automatyczne kopie zapasowe?
- Co znajduje się w automatycznej kopii zapasowej?
- Co znajduje się w niestandardowej kopii zapasowej?
- Dlaczego nie utworzono kopii zapasowej połączonej bazy danych?
- Co się stanie, jeśli rozmiar kopii zapasowej przekroczy dozwoloną maksymalną wartość?
- Czy mogę użyć konta magazynu z włączonymi funkcjami zabezpieczeń?
- ## Jak mogę przywrócić aplikację w innej subskrypcji?
Czy kopie zapasowe są aktualizacjami przyrostowymi, czy kompletnymi kopiami zapasowymi?
Każda kopia zapasowa jest kompletną kopią w trybie offline aplikacji, a nie przyrostową aktualizacją.
Czy Azure Functions obsługuje automatyczne kopie zapasowe?
Automatyczne kopie zapasowe są dostępne w wersji zapoznawczej dla Azure Functions w dedykowanych warstwach (App Service)Standardowa lub Premium. Aplikacje funkcji w warstwach cenowych Consumption lub Elastic Premium nie są obsługiwane w przypadku automatycznych kopii zapasowych.
Co znajduje się w automatycznej kopii zapasowej?
W poniższej tabeli przedstawiono kopię zapasową zawartości w ramach automatycznej kopii zapasowej:
| Ustawienia | Przywrócone? |
|---|---|
Aplikacje systemu Windows: cała zawartość aplikacji w katalogu %HOME%Aplikacje systemu Linux: cała zawartość aplikacji w katalogu /homeKontenery niestandardowe (Windows i Linux): zawartość w magazynie trwałym |
Tak |
| Zawartość pakietu run-from-ZIP | Nie |
| Zawartość z dowolnego niestandardowego zainstalowanego magazynu platformy Azure | Nie |
W poniższej tabeli przedstawiono, która konfiguracja aplikacji jest przywracana po wybraniu opcji przywrócenia konfiguracji aplikacji:
| Ustawienia | Przywrócone? |
|---|---|
| Natywne ustawienia dziennika, w tym ustawienia konta usługi Azure Storage i kontenera | Tak |
| Konfiguracja usługi Application Insights | Tak |
| Kontrola kondycji | Tak |
| Funkcje sieci, takie jak prywatne punkty końcowe, połączenia hybrydowe i integracja sieci wirtualnej | Nie |
| Authentication | Nie |
| Tożsamości zarządzane | Nie |
| Niestandardowe domeny | Nie |
| TLS/SSL | Nie |
| Skalowanie w poziomie | Nie |
| Diagnostyka za pomocą usługi Azure Monitor | Nie |
| Alerty i metryki | Nie |
| Tworzenie kopii zapasowych | Nie |
| Skojarzone miejsca wdrożenia | Nie |
| Dowolna połączona baza danych obsługującą niestandardową kopię zapasową | Nie |
Co zawiera niestandardowa kopia zapasowa?
Niestandardowa kopia zapasowa (kopia zapasowa na żądanie lub zaplanowana kopia zapasowa) obejmuje całą zawartość i konfigurację zawartą w automatycznej kopii zapasowej oraz dowolną połączoną bazę danych do dozwolonego maksymalnego rozmiaru.
Dlaczego nie utworzono kopii zapasowej połączonej bazy danych?
Kopie zapasowe połączonych baz danych są tworzone tylko dla niestandardowych kopii zapasowych, maksymalnie do dozwolonego rozmiaru. Jeśli maksymalny rozmiar kopii zapasowej (10 GB) lub maksymalny rozmiar bazy danych (4 GB) zostanie przekroczony, tworzenie kopii zapasowej zakończy się niepowodzeniem. Oto kilka typowych powodów, dla których połączona baza danych nie jest tworzona:
- Kopie zapasowe Azure Database for MySQL z włączonym protokołem TLS nie są obsługiwane. Jeśli skonfigurowano kopię zapasową, wystąpią błędy tworzenia kopii zapasowej.
- Kopie zapasowe Azure Database for PostgreSQL z włączonym protokołem TLS nie są obsługiwane. Jeśli skonfigurowano kopię zapasową, wystąpią błędy tworzenia kopii zapasowej.
- Bazy danych MySQL w aplikacji są automatycznie tworzone bez żadnej konfiguracji. Jeśli ustawisz ustawienia ręczne dla baz danych MySQL w aplikacji, takich jak dodawanie parametrów połączenia, kopie zapasowe mogą nie działać poprawnie.
Co się stanie, jeśli rozmiar kopii zapasowej przekroczy dozwoloną wartość maksymalną?
Nie można przywrócić automatycznych kopii zapasowych, jeśli rozmiar kopii zapasowej przekracza maksymalny rozmiar. Podobnie niestandardowe kopie zapasowe kończą się niepowodzeniem w przypadku przekroczenia maksymalnego rozmiaru kopii zapasowej lub maksymalnego rozmiaru bazy danych. Aby zmniejszyć rozmiar magazynu, rozważ przeniesienie plików, takich jak dzienniki, obrazy, dźwięk i wideo do usługi Azure Storage, na przykład.
Czy mogę użyć konta magazynu z włączonymi funkcjami zabezpieczeń?
Następujące funkcje zabezpieczeń w usłudze Azure Storage nie są obsługiwane w przypadku niestandardowych kopii zapasowych:
- Używanie konta magazynu z włączoną zaporą jako miejsca docelowego kopii zapasowych nie jest obsługiwane. Jeśli skonfigurowano kopię zapasową, wystąpią niepowodzenia tworzenia kopii zapasowej.
- Używanie prywatnego konta magazynu z włączoną obsługą punktu końcowego na potrzeby tworzenia kopii zapasowych i przywracania nie jest obsługiwane.
Jak mogę przywracanie do aplikacji w innej subskrypcji?
- Utwórz niestandardową kopię zapasową w kontenerze usługi Azure Storage.
- Pobierz plik ZIP kopii zapasowej na komputer lokalny.
- Na stronie Kopie zapasowe aplikacji docelowej wybierz pozycję Przywróć w górnym menu.
- W obszarze Szczegóły kopii zapasowej wybierz pozycję Magazyn w polu Źródło.
- Wybierz preferowane konto magazynu.
- W obszarze Plik zip wybierz pozycję Przekaż plik.
- W polu Nazwa wybierz pozycję Przeglądaj i wybierz pobrany plik ZIP.
- Skonfiguruj pozostałe sekcje, takie jak w temacie Przywracanie kopii zapasowej.