Udostępnij za pośrednictwem


Co to jest kopia zapasowa usługi Azure Database for PostgreSQL?

Usługi Azure Backup i Azure Database łączą się w celu utworzenia rozwiązania do tworzenia kopii zapasowych klasy korporacyjnej dla serwerów usługi Azure Database for PostgreSQL, które przechowuje kopie zapasowe przez maksymalnie 10 lat. Oprócz długoterminowego przechowywania rozwiązanie oferuje następujące możliwości:

  • Kontrolowane przez klienta, zaplanowane i tworzone na żądanie kopie zapasowe na poziomie poszczególnych baz danych.
  • Przywracanie na poziomie bazy danych do dowolnego serwera usługi Azure Database for PostgreSQL lub dowolnego typu magazynu BLOB.
  • Centralne monitorowanie wszystkich operacji i zadań.
  • Przechowywanie kopii zapasowych w oddzielnych domenach zabezpieczeń i błędów. Jeśli bezpieczeństwo serwera źródłowego lub subskrypcji zostanie naruszone, kopie zapasowe pozostaną bezpieczne w magazynie usługi Azure Backup (na zarządzanych kontach magazynu usługi Azure Backup).
  • Korzystanie z pg_dump dla większej elastyczności przy przywracaniu. Można przywrócić dane na różnych wersjach bazy danych.

To rozwiązanie można użyć niezależnie lub oprócz natywnego rozwiązania do tworzenia kopii zapasowych w usłudze Azure PostgreSQL, które oferuje przechowywanie przez maksymalnie 35 dni. Rozwiązanie natywne jest odpowiednie dla operacji odzyskiwania, na przykład w przypadku odzyskiwania po najnowszych kopiach zapasowych. Rozwiązanie Azure Backup ułatwia spełnienie wymagań dotyczących zgodności i zapewnia bardziej szczegółową i elastyczną funkcję tworzenia/przywracania kopii zapasowych.

Zmiany w magazynowanych kopiach zapasowych dla pojedynczych serwerów PostgreSQL

Opcja wdrożenia pojedynczego serwera dla usługi Azure Database for PostgreSQL została wycofana 28 marca 2025 r. W tej dacie wprowadzono zmiany na pojedynczych serwerach usługi Azure Backup for PostgreSQL. Dowiedz się więcej o przejściu na emeryturę.

Usługa Azure Backup zapewnia rozwiązania zapewniające zgodność i odporność, w tym archiwizowane kopie zapasowe i długoterminowe przechowywanie punktów przywracania. 28 marca 2025 r. wprowadzono następujące zmiany:

  • Konfiguracja kopii zapasowej nie jest dozwolona dla nowych obciążeń serwera PostgreSQL w wersji single-server.
  • Wszystkie zaplanowane zadania tworzenia kopii zapasowej zostaną trwale przerwane.
  • Tworzenie nowych zasad tworzenia kopii zapasowych lub modyfikowanie istniejących dla tego obciążenia nie jest możliwe.

W dniu wycofania zaplanowane zadania tworzenia kopii zapasowej dla baz danych pojedynczego serwera PostgreSQL zostały trwale zatrzymane. Nie można utworzyć żadnych nowych punktów przywracania.

Jednak istniejące kopie zapasowe bazy danych PostgreSQL na jednym serwerze są zachowywane zgodnie z zasadami tworzenia kopii zapasowych. Punkty przywracania zostaną usunięte dopiero po wygaśnięciu okresu przechowywania. Aby zachować punkty przywracania na czas nieokreślony lub usunąć je przed wygaśnięciem okresu przechowywania, zobacz konsolę Centrum ciągłości działania platformy Azure.

Zmiany w rozliczeniach

Od 31 marca 2025 r. opłata za chronione wystąpienia (PI) nie jest już naliczana za ochronę baz danych PostgreSQL na maszynie pojedynczego serwera. Ale opłata za przechowywanie kopii zapasowych nadal ma zastosowanie. Aby uniknąć opłaty za magazyn, usuń wszystkie punkty przywracania z Centrum ciągłości działania platformy Azure.

Uwaga

Usługa Azure Backup zachowuje ostatni punkt przywracania nawet po wygaśnięciu okresu przechowywania. Ta funkcja zapewnia dostęp do ostatniego punktu przywracania z myślą o przyszłym użyciu. Ostatni punkt przywracania można usunąć tylko ręcznie. Jeśli chcesz usunąć ostatni punkt odtworzenia i uniknąć opłaty za przechowywanie, zatrzymaj ochronę bazy danych.

Zmiany w procesie przywracania

Bazy danych PostgreSQL na jednym serwerze można przywrócić za pomocą polecenia Przywróć jako pliki. Następnie należy ręcznie utworzyć nowy serwer elastyczny PostgreSQL z przywróconych plików.

Uwaga

Opcja Przywróć jako bazę danych nie jest obsługiwana od 28 marca 2025 r., ale przywracanie jako pliki jest nadal obsługiwane.

Proces tworzenia kopii zapasowej

  1. Jako administrator kopii zapasowej możesz określić bazy danych PostgreSQL, których kopię zapasową chcesz utworzyć. Można również określić szczegóły usługi Azure Key Vault, która przechowuje poświadczenia wymagane do nawiązania połączenia z określonymi bazami danych. Administrator bazy danych bezpiecznie umieszcza te poświadczenia w usłudze Key Vault.

  2. Usługa Azure Backup sprawdza, czy ma odpowiednie uprawnienia do uwierzytelniania za pomocą określonego serwera usługi Azure Database for PostgreSQL i tworzenia kopii zapasowych baz danych.

  3. Usługa Azure Backup uruchamia rolę procesu roboczego (maszynę wirtualną) z zainstalowanym w nim rozszerzeniem kopii zapasowej w celu komunikowania się z chronionym serwerem usługi Azure Database for PostgreSQL. To rozszerzenie składa się z koordynatora i wtyczki PostgreSQL. Koordynator wyzwala przepływy pracy dla różnych operacji, takich jak tworzenie kopii zapasowych i przywracanie. Wtyczka zarządza rzeczywistym przepływem danych.

  4. W ustalonym czasie koordynator poleca wtyczce rozpoczęcie przesyłania strumieniowego danych kopii zapasowej z serwera Azure Database for PostgreSQL za pomocą pg_dump (niestandardowego).

  5. Wtyczka wysyła dane bezpośrednio do zarządzanych kont magazynowych Azure Backup (ukrytych za pomocą skarbca Azure Backup), eliminując konieczność posiadania lokalizacji tymczasowej. Dane są szyfrowane za pomocą kluczy zarządzanych przez firmę Microsoft. Usługa Azure Backup przechowuje dane na kontach magazynowania.

Diagram przedstawiający proces tworzenia kopii zapasowej.

Uwierzytelnianie usługi Azure Backup za pomocą serwera usługi Azure Database for PostgreSQL

Usługa Azure Backup jest zgodna ze ścisłymi wytycznymi dotyczącymi zabezpieczeń platformy Azure. Nie zakłada się uprawnień do tworzenia kopii zapasowej zasobu. Użytkownik musi jawnie nadać te uprawnienia.

Model uwierzytelniania oparty na usłudze Key Vault

Usługa Azure Backup musi nawiązać połączenie z serwerem usługi Azure Database for PostgreSQL podczas wykonywania każdej kopii zapasowej. Chociaż nazwa użytkownika i hasło (lub parametry połączenia), które odpowiadają bazie danych, są używane do nawiązywania tego połączenia, te poświadczenia nie są przechowywane w usłudze Azure Backup. Zamiast tego administrator bazy danych musi bezpiecznie zaszyć te poświadczenia w usłudze Azure Key Vault jako sekret.

Administrator obciążenia pracą jest odpowiedzialny za zarządzanie poświadczeniami i ich rotację. Usługa Azure Backup wymaga najnowszych danych tajnych z magazynu kluczy w celu utworzenia kopii zapasowej.

Diagram przedstawiający przepływ obciążenia lub bazy danych.

Uprawnienia wymagane do tworzenia kopii zapasowej bazy danych PostgreSQL

  1. Przyznaj następujące uprawnienia dostępu zarządzanej tożsamości usługi Azure Backup.

    • Dostęp czytelnika do serwera bazy danych Azure PostgreSQL.
    • Dostęp użytkownika do wpisów tajnych usługi Key Vault (uprawnienia uzyskiwania i wyświetlania listy wpisów tajnych w usłudze Key Vault).
  2. Ustaw dostęp do sieci na:

    • Serwer usługi Azure Database for PostgreSQL: ustaw opcję Zezwalaj na dostęp do usług platformy Azure na wartość Tak.
    • Key Vault: ustaw opcję Zezwalaj zaufanym usługom firmy Microsoft na Tak.
  3. Ustaw uprawnienia kopii zapasowej użytkownika bazy danych w bazie danych.

Uwaga

Możesz przyznać te uprawnienia w ramach przepływu konfigurowania kopii zapasowej jednym kliknięciem, jeśli jako administrator kopii zapasowej masz dostęp do zapisu dla zamierzonych zasobów. Jeśli nie masz wymaganych uprawnień (jeśli zaangażowanych jest wiele osób), użyj szablonu usługi Azure Resource Manager.

Uprawnienia wymagane do przywracania bazy danych PostgreSQL

Uprawnienia do przywracania są podobne do tych, które są potrzebne do tworzenia kopii zapasowej. Musisz ręcznie udzielić uprawnień na docelowym serwerze usługi Azure Database for PostgreSQL i odpowiednim magazynie kluczy. W przeciwieństwie do przepływu konfigurowania kopii zapasowej możliwość udzielania tych uprawnień bezpośrednio jest obecnie niedostępna.

Upewnij się, że użytkownik bazy danych (odpowiadający poświadczeniom, które są przechowywane w magazynie kluczy) ma następujące uprawnienia przywracania na bazie danych:

  • ALTER USER Przypisz nazwę użytkownika .CREATEDB
  • Przypisz rolę azure_pg_admin do użytkownika bazy danych.

Model uwierzytelniania oparty na Microsoft Entra ID

Wcześniejszy model uwierzytelniania był całkowicie oparty na identyfikatorze Entra firmy Microsoft. Model uwierzytelniania oparty na usłudze Key Vault (jak wyjaśniono wcześniej) jest teraz dostępny jako alternatywna opcja ułatwienia procesu konfiguracji.

Aby uzyskać zautomatyzowany skrypt i powiązane instrukcje dotyczące korzystania z modelu uwierzytelniania opartego na identyfikatorze Entra firmy Microsoft, pobierz ten dokument. Udziela odpowiedniego zestawu uprawnień do serwera usługi Azure Database for PostgreSQL na potrzeby tworzenia kopii zapasowych i przywracania.

Uwaga

Cała nowo skonfigurowana ochrona odbywa się tylko przy użyciu nowego modelu uwierzytelniania usługi Key Vault. Jednak wszystkie obecne instancje kopii zapasowych z zabezpieczeniem skonfigurowanym za pomocą uwierzytelniania opartego na Microsoft Entra ID będą nadal istnieć i będą regularnie wykonywane. Aby przywrócić te kopie zapasowe, należy postępować zgodnie z uwierzytelnianiem opartym na identyfikatorze Firmy Microsoft.

Kroki ręcznego udzielania dostępu na serwerze usługi Azure Database for PostgreSQL i w magazynie kluczy

Aby udzielić wszystkich uprawnień dostępu wymaganych przez usługę Azure Backup, wykonaj następujące kroki.

Uprawnienia dostępu na serwerze usługi Azure Database for PostgreSQL

  1. Ustaw dostęp czytelnika magazynu usługi Azure Backup dla tożsamości zarządzanej na serwerze usługi Azure Database for PostgreSQL.

    Zrzut ekranu przedstawiający opcję ustawienia dostępu czytelnika MSI skarbca Azure Backup na serwerze Azure Database for PostgreSQL.

  2. Ustaw dostęp do sieci na serwerze usługi Azure Database for PostgreSQL, ustawiając opcję Zezwalaj na dostęp do usług platformy Azure na wartość Tak.

    Zrzut ekranu przedstawiający opcję ustawiania dostępu do sieci na serwerze usługi Azure Database for PostgreSQL.

Uprawnienia dostępu do magazynu kluczy

  1. Ustaw dostęp użytkownika wpisów tajnych w Key Vault magazynu Azure Backup dla tożsamości zarządzanej w magazynie kluczy, udzielając jej uprawnień do pobierania i wymieniania wpisów tajnych. Aby przypisać uprawnienia, możesz użyć przypisań ról lub zasad dostępu. Nie musisz dodawać uprawnień przy użyciu obu opcji, ponieważ nie pomaga.

  2. Ustaw dostęp do sieci w magazynie kluczy, ustawiając opcję Zezwalaj zaufanym usługom firmy Microsoft na pominięcie tej zapory ogniowej? na Tak.

    Zrzut ekranu przedstawiający wybranie opcji zezwalania zaufanym usługom firmy Microsoft na dostęp do sieci w magazynie kluczy.

Uprawnienia kopii zapasowej użytkownika bazy danych w bazie danych

Uruchom następujące zapytanie w narzędziu pgAdmin . Zastąp username element identyfikatorem użytkownika bazy danych.

DO $do$
DECLARE
sch text;
BEGIN
EXECUTE format('grant connect on database %I to %I', current_database(), 'username');
FOR sch IN select nspname from pg_catalog.pg_namespace
LOOP
EXECUTE format($$ GRANT USAGE ON SCHEMA %I TO username $$, sch);
EXECUTE format($$ GRANT SELECT ON ALL TABLES IN SCHEMA %I TO username $$, sch);
EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON TABLES TO username $$, sch);
EXECUTE format($$ GRANT SELECT ON ALL SEQUENCES IN SCHEMA %I TO username $$, sch);
EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON SEQUENCES TO username $$, sch);
END LOOP;
END;
$do$

Uwaga

Jeśli baza danych, dla której skonfigurowano już kopię zapasową kończy się niepowodzeniem, zapoznaj się z UserErrorMissingDBPermissionstym przewodnikiem rozwiązywania problemów, aby uzyskać pomoc w rozwiązaniu problemu.

Korzystanie z narzędzia pgAdmin

Pobierz narzędzie pgAdmin , jeśli jeszcze go nie masz. Połączenie z serwerem usługi Azure Database for PostgreSQL można nawiązać za pomocą tego narzędzia. Ponadto można dodawać bazy danych i nowych użytkowników do tego serwera.

Zrzut ekranu przedstawiający proces nawiązywania połączenia z serwerem usługi Azure Database for PostgreSQL przy użyciu narzędzia administracyjnego P G.

Utwórz nowy serwer z wybraną nazwą. Wprowadź nazwę/adres hosta. Jest taka sama jak wartość nazwa serwera wyświetlana w widoku zasobów usługi Azure PostgreSQL w witrynie Azure Portal.

Zrzut ekranu przedstawiający opcje tworzenia nowego serwera przy użyciu narzędzia administracyjnego P G.

Zrzut ekranu przedstawiający widok zasobów usługi Azure PostgreSQL w witrynie Azure Portal, w tym nazwę serwera.

Upewnij się, że do reguł zapory dla połączenia zostanie dodany aktualny adres identyfikacyjny klienta, aby połączenie mogło zostać nawiązane.

Zrzut ekranu przedstawiający link umożliwiający dodanie bieżącego adresu ID klienta do reguł zapory.

Do serwera można dodawać nowe bazy danych i użytkowników bazy danych. W przypadku użytkowników bazy danych wybierz pozycję Logowanie/Rola grupy , aby dodać role. Upewnij się, że opcja Czy można się zalogować? ma wartość Tak.

Zrzut ekranu przedstawiający opcje menu umożliwiające dodawanie nowych baz danych i użytkowników bazy danych do serwera.

Zrzut ekranu przedstawiający opcje menu służące do dodawania nowej roli logowania lub grupy dla użytkowników bazy danych.

Zrzut ekranu przedstawiający przełącznik zezwalający na logowanie ustawiony na wartość Tak.