Sdílet prostřednictvím


Co je záloha databáze Azure pro PostgreSQL?

Azure Backup a databázové služby Azure se spojily a vytvořily řešení zálohování na podnikové úrovni pro servery Azure Database for PostgreSQL, které uchovávají zálohy po dobu až 10 let. Kromě dlouhodobého uchovávání nabízí řešení následující možnosti:

  • Plánované zálohování a zálohování na vyžádání na jednotlivých úrovních databáze řízené zákazníkem.
  • Obnovení na úrovni databáze na libovolném serveru Azure Database for PostgreSQL nebo na libovolné úložiště typu blob.
  • Centrální monitorování všech operací a úloh.
  • Ukládání záloh v samostatných doménách zabezpečení a poruch. Pokud dojde k ohrožení zabezpečení zdrojového serveru nebo předplatného, zálohy zůstanou v trezoru Služby Azure Backup v bezpečí (v účtech úložiště spravovaném službou Azure Backup).
  • Použití pg_dump pro větší flexibilitu při obnovení. Můžete provést obnovení napříč verzemi databáze.

Toto řešení můžete použít nezávisle nebo kromě nativního řešení zálohování v Azure PostgreSQL, které nabízí uchovávání až na 35 dnů. Nativní řešení je vhodné pro provozní obnovení, jako je například obnovení z nejnovějších záloh. Řešení Azure Backup vám pomůže s vašimi potřebami dodržování předpisů a poskytuje podrobnější a flexibilnější možnosti zálohování a obnovení.

Změny trezorovaných záloh pro jednoúčelové servery PostgreSQL

Možnost nasazení jednoúčelového serveru pro Službu Azure Database for PostgreSQL byla vyřazena 28. března 2025. V tomto datu se změny implementovaly na jednoúčelové servery Azure Backup for PostgreSQL. Přečtěte si více o odchodu do důchodu.

Azure Backup poskytuje řešení dodržování předpisů a odolnosti, včetně trezorovaných záloh a dlouhodobého uchovávání bodů obnovení. 28. března 2025 se projevily následující změny:

  • Konfigurace zálohování není povolená pro nové úlohy jednoúčelového serveru PostgreSQL.
  • Všechny naplánované úlohy zálohování jsou trvale ukončeny.
  • Vytvoření nových zásad zálohování nebo úprav stávajících zásad pro tuto úlohu není možné.

V datu vyřazení se naplánované úlohy zálohování pro jednoúčelové databáze PostgreSQL trvale zastavily. Nemůžete vytvořit žádné nové body obnovení.

Vaše stávající zálohy jednoúčelové databáze PostgreSQL se ale uchovávají v souladu se zásadami zálohování. Body obnovení budou odstraněny až po uplynutí doby uchovávání. Pokud chcete zachovat body obnovení po neomezenou dobu nebo je odstranit před vypršením jejich doby uchovávání, přečtěte si konzolu Centra provozní kontinuity Azure.

Změny ve fakturaci

Od 31. března 2025 se vám už neúčtuje poplatek za ochranu databází jednoúčelového serveru PostgreSQL. Ale poplatek za ukládání záloh stále platí. Pokud se chcete vyhnout poplatkům za úložiště, odstraňte všechny body obnovení z Centra provozní kontinuity Azure.

Poznámka:

Azure Backup uchovává poslední bod obnovení i po uplynutí doby uchovávání. Tato funkce zajišťuje, že máte přístup k poslednímu bodu obnovení pro budoucí použití. Poslední bod obnovení můžete odstranit jenom ručně. Pokud chcete odstranit poslední bod obnovení a vyhnout se poplatku za úložiště, zastavte ochranu databáze.

Změny v procesu obnovení

Jednoúčelové databáze PostgreSQL můžete obnovit pomocí funkce Obnovit jako soubory. Pak potřebujete ručně vytvořit nový flexibilní server PostgreSQL z obnovených souborů.

Poznámka:

Možnost Obnovit jako databázi se od 28. března 2025 nepodporuje, ale obnovení jako soubory se stále podporuje.

Proces zálohování

  1. Jako správce zálohování můžete zadat databáze PostgreSQL, které chcete zálohovat. Můžete také zadat podrobnosti služby Azure Key Vault, ve které jsou uložené přihlašovací údaje potřebné pro připojení k zadaným databázím. Správce databáze bezpečně tyto přihlašovací údaje zasadí do služby Key Vault.

  2. Služba Azure Backup ověří, že má příslušná oprávnění k ověření pomocí zadaného serveru Azure Database for PostgreSQL a k zálohování svých databází.

  3. Azure Backup spustí pracovní roli (virtuální počítač), ve kterém je nainstalováno záložní rozšíření, k ochraně serveru Azure Database for PostgreSQL. Toto rozšíření se skládá z koordinátoru a modulu plug-in PostgreSQL. Koordinátor aktivuje pracovní postupy pro různé operace, jako je zálohování a obnovení. Modul plug-in spravuje skutečný tok dat.

  4. V naplánovaném čase koordinátor dá modulu plug-in pokyn, aby spustil streamování zálohovaných dat ze serveru Azure Database for PostgreSQL pomocí pg_dump (vlastní).

  5. Modul plug-in odesílá data přímo do účtů spravovaného úložiště Azure Backup (maskovaných trezorem Služby Azure Backup) a eliminuje potřebu přípravného umístění. Data se šifrují prostřednictvím klíčů spravovaných Microsoftem. Služba Azure Backup ukládá data v účtech úložiště.

Diagram znázorňující proces zálohování

Ověřování Azure Backup pomocí serveru Azure Database for PostgreSQL

Azure Backup dodržuje přísné pokyny zabezpečení z Azure. Oprávnění k zálohovanému prostředku nejsou předpokládána. Uživatel musí tato oprávnění explicitně udělit.

Model ověřování na základě služby Key Vault

Služba Azure Backup se musí připojit k serveru Azure Database for PostgreSQL při každém zálohování. I když se k tomuto připojení používá uživatelské jméno a heslo (nebo připojovací řetězec), které odpovídají databázi, nejsou tyto přihlašovací údaje uložené ve službě Azure Backup. Místo toho musí správce databáze bezpečně zasadit tyto přihlašovací údaje ve službě Azure Key Vault jako tajný klíč.

Správce úloh zodpovídá za správu a obměně přihlašovacích údajů. Azure Backup vyžaduje nejnovější tajné informace z trezoru klíčů pro vytvoření zálohy.

Diagram znázorňující tok úlohy nebo databáze

Oprávnění potřebná pro zálohování databáze PostgreSQL

  1. Udělte spravované identitě trezoru Služby Azure Backup následující přístupová oprávnění:

    • Přístup čtenáře na serveru Azure Database for PostgreSQL.
    • Uživatelský přístup k tajným kódům služby Key Vault ve službě Key Vault (získání a výpis oprávnění k tajným kódům)
  2. Nastavit přístup k síti s přímou viditelností na:

    • Azure Database for PostgreSQL server: Nastavte Povolit přístup ke službám Azure na Ano.
    • Key Vault: Nastavte možnost Povolit důvěryhodné služby Microsoftu na ano.
  3. Nastavte zálohovací oprávnění uživatele databáze k databázi.

Poznámka:

Tato oprávnění můžete udělit v rámci nakonfigurovaného toku zálohování jediným kliknutím, pokud jako správce zálohování máte přístup k zápisu k požadovaným prostředkům. Pokud nemáte požadovaná oprávnění (pokud je zapojeno více osob), použijte šablonu Azure Resource Manageru.

Oprávnění potřebná k obnovení databáze PostgreSQL

Oprávnění k obnovení se podobají těm, které potřebujete k zálohování. Musíte ručně udělit oprávnění na cílovém serveru Azure Database for PostgreSQL a odpovídajícím trezoru klíčů. Na rozdíl od toku konfigurace zálohování není možnost udělení těchto oprávnění přímo aktuálně dostupná.

Ujistěte se, že má uživatel databáze (odpovídající přihlašovacím údajům uloženým v trezoru klíčů) následující oprávnění k obnovení databáze:

  • Přiřaďte ALTER USER uživatelské jméno uživatele CREATEDB.
  • Přiřaďte roli azure_pg_admin databázovému uživateli.

Model ověřování založený na Microsoft Entra ID

Předchozí model ověřování byl zcela založen na ID Microsoft Entra. Model ověřování založený na službě Key Vault (jak je vysvětleno výše) je nyní k dispozici jako alternativní možnost pro usnadnění procesu konfigurace.

Pokud chcete získat automatizovaný skript a související pokyny pro použití modelu ověřování založeného na ID společnosti Microsoft, stáhněte si tento dokument. Udělí příslušnou sadu oprávnění k serveru Azure Database for PostgreSQL pro zálohování a obnovení.

Poznámka:

Všechna nově nakonfigurovaná ochrana probíhá pouze s novým modelem ověřování služby Key Vault. Všechny existující instance zálohování s ochranou nakonfigurovanou prostřednictvím ověřování založeného na ID Microsoftu však budou i nadále existovat a budou se provádět pravidelné zálohy. Pokud chcete tyto zálohy obnovit, musíte postupovat podle ověřování založeného na ID microsoftu Entra.

Postup ručního udělení přístupu na serveru Azure Database for PostgreSQL a v trezoru klíčů

Pokud chcete udělit všechna přístupová oprávnění, která Azure Backup potřebuje, použijte následující postup.

Přístupová oprávnění na serveru Azure Database for PostgreSQL

  1. Nastavte přístup čtenáře trezoru služby Azure Backup pro spravovanou identitu na serveru Azure Database for PostgreSQL.

    Snímek obrazovky znázorňující možnost nastavení přístupu M I Reader trezoru služby Azure Backup na serveru Azure Database for PostgreSQL

  2. Nastavte přístup k síti na serveru Azure Database for PostgreSQL nastavením Povolit přístup ke službám Azure na ano.

    Snímek obrazovky znázorňující možnost nastavit přístup k síti na serveru Azure Database for PostgreSQL

Přístupová oprávnění k trezoru klíčů

  1. Nastavte pro spravovanou identitu v trezoru klíčů přístup uživatele tajných klíčů trezoru služby Azure Backup (získat a zobrazit oprávnění k tajným kódům). K přiřazení oprávnění můžete použít přiřazení rolí nebo zásady přístupu. Oprávnění nemusíte přidávat pomocí obou možností, protože to nepomůže.

  2. Nastavte přístup k síti v trezoru klíčů nastavením Povolit důvěryhodným službám Microsoftu obejít tuto bránu firewall? na Ano.

    Snímek obrazovky znázorňující výběr možnosti povolit důvěryhodným službám Microsoftu přístup k trezoru klíčů v rámci přímé viditelnosti v síti

Oprávnění k zálohování uživatele databáze v databázi

V nástroji pgAdmin spusťte následující dotaz. Nahraďte username ID uživatele databáze.

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$

Poznámka:

Pokud u databáze, pro kterou jste již nakonfigurovali zálohování, dochází k selhání UserErrorMissingDBPermissions, projděte si tohoto průvodce odstraňováním potíží a požádejte o pomoc s řešením problému.

Použití nástroje pgAdmin

Pokud nástroj pgAdmin ještě nemáte, stáhněte si ho. Pomocí tohoto nástroje se můžete připojit k serveru Azure Database for PostgreSQL. Na tento server můžete také přidat databáze a nové uživatele.

Snímek obrazovky znázorňující proces připojení k serveru Azure Database for PostgreSQL pomocí nástroje pro správu P G

Vytvořte nový server s názvem podle vašeho výběru. Zadejte název nebo adresu hostitele. Je to stejné jako hodnota názvu serveru zobrazená v zobrazení prostředků Azure PostgreSQL na webu Azure Portal.

Snímek obrazovky znázorňující možnosti pro vytvoření nového serveru pomocí nástroje pro správu P G

Snímek obrazovky znázorňující zobrazení prostředků Azure PostgreSQL na webu Azure Portal, včetně názvu serveru

Ujistěte se, že přidáte aktuální adresu ID klienta do pravidel firewallu pro připojení, aby bylo možné provést spojení.

Snímek obrazovky znázorňující odkaz pro přidání aktuální adresy ID klienta do pravidel brány firewall

Na server můžete přidat nové databáze a uživatele databáze. Pro databázové uživatele vyberte Přihlášení/Skupinová role pro přidání rolí. Ujistěte se, že Možnost přihlášení je nastavena na Ano.

Snímek obrazovky znázorňující výběry nabídek pro přidání nových databází a uživatelů databáze na server

Snímek obrazovky znázorňující výběry nabídek pro přidání nové přihlašovací role nebo role skupiny pro uživatele databáze

Snímek obrazovky znázorňující přepínač pro povolení přihlášení na hodnotu Ano