Aracılığıyla paylaş


PostgreSQL için Azure Veritabanı yedeklemesi hakkında

Azure Backup ve Azure Veritabanı Hizmetleri, yedeklemeleri 10 yıla kadar saklayan PostgreSQL için Azure Veritabanı sunucuları için kurumsal sınıf bir yedekleme çözümü oluşturmak üzere bir araya geldi. Çözüm, uzun süreli saklamanın yanı sıra aşağıdaki özellikleri de sunar:

  • Müşteri tarafından tek tek veritabanı düzeyinde zamanlanmış ve isteğe bağlı yedeklemeler denetlendi.
  • Herhangi bir PostgreSQL sunucusuna veya herhangi bir blob depolama alanına veritabanı düzeyinde geri yüklemeler.
  • Tüm işlemlerin ve işlerin merkezi olarak izlenmesi.
  • Yedeklemeler, ayrı güvenlik ve hata etki alanlarında depolanır. Kaynak sunucu veya abonelik herhangi bir durumda tehlikeye girerse yedeklemeler Backup kasasında (Azure Backup yönetilen depolama hesaplarında) güvende kalır.
  • pg_dump kullanımı, geri yüklemelerde daha fazla esneklik sağlar. Bu, veritabanı sürümleri arasında geri yüklemenize yardımcı olur

Bu çözümü bağımsız olarak veya Azure PostgreSQL tarafından sunulan ve 35 güne kadar bekletme sağlayan yerel yedekleme çözümüne ek olarak kullanabilirsiniz. Yerel çözüm, en son yedeklemelerden kurtarmak istediğinizde olduğu gibi operasyonel kurtarma işlemleri için uygundur. Azure Backup çözümü, uyumluluk gereksinimleriniz ve daha ayrıntılı ve esnek yedekleme/geri yükleme konusunda size yardımcı olur.

Not

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır ve 28 Mart 2025'e kadar kullanımdan kaldırılması planlanmaktadır.

Şu anda üretim sunucularını barındıran bir PostgreSQL için Azure Veritabanı - Tek Sunucu hizmetiniz varsa, PostgreSQL için Azure Veritabanı - Tek Sunucunuzu PostgreSQL için Azure Veritabanı geçirebileceğinizi bildirmek PostgreSQL için Azure Veritabanı - Esnek Sunucu.

PostgreSQL için Azure Veritabanı - Esnek Sunucu, Azure Backup tarafından sunulan kurumsal sınıf yedekleme çözümüyle veritabanı yönetimi işlevleri ve yapılandırma ayarları üzerinde daha ayrıntılı denetim ve esneklik için tasarlanmış, tam olarak yönetilen üretime hazır> bir veritabanı hizmetidir. PostgreSQL için Azure Veritabanı - Esnek Sunucu hakkında daha fazla bilgi için PostgreSQL için Azure Veritabanı - Esnek Sunucu adresini ziyaret edin.

Yedekleme işlemi

  1. Yedekleme yöneticisi olarak yedeklemeyi planladığınız Azure PostgreSQL veritabanlarını belirtebilirsiniz. Ayrıca, belirtilen veritabanlarına bağlanmak için gereken kimlik bilgilerini depolayan Azure anahtar kasasının ayrıntılarını da belirtebilirsiniz. Bu kimlik bilgileri, Azure anahtar kasasında veritabanı yöneticisi tarafından güvenli bir şekilde dağıtılır.
  2. Ardından yedekleme hizmeti, belirtilen PostgreSQL sunucusuyla kimlik doğrulaması yapmak ve veritabanlarını yedeklemek için uygun izinlere sahip olup olmadığını doğrular.
  3. Azure Backup, korumalı PostgreSQL sunucusuyla iletişim kurmak için içinde bir yedekleme uzantısı yüklü bir çalışan rolü (VM) oluşturur. Bu uzantı bir koordinatör ve PostgreSQL eklentisinden oluşur. Koordinatör yedekleme ve geri yükleme gibi çeşitli işlemler için iş akışlarını tetikler ve eklenti gerçek veri akışını yönetir.
  4. Zamanlanan zamanda koordinatör eklentiyle iletişim kurar ve pg_dump (özel) kullanarak PostgreSQL sunucusundan yedekleme verilerinin akışını başlatmasını sağlar.
  5. Eklenti, verileri doğrudan Azure Backup yönetilen depolama hesaplarına (Backup kasası tarafından maskelenmiş) gönderir ve hazırlama konumu ihtiyacını ortadan kaldırır. Veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir ve Azure Backup hizmeti tarafından depolama hesaplarında depolanır.

Yedekleme işlemini gösteren diyagram.

PostgreSQL sunucusuyla Azure Backup kimlik doğrulaması

Azure Backup, Azure tarafından sunulan katı güvenlik yönergelerini izler; yedeklenecek kaynak üzerindeki izinler varsayılır ve kullanıcı tarafından açıkça verilmesi gerekir.

Anahtar kasası tabanlı kimlik doğrulama modeli

Azure Backup hizmetinin her yedeklemeyi alırken Azure PostgreSQL'e bağlanması gerekir. Veritabanına karşılık gelen 'kullanıcı adı + parola' (veya bağlantı dizesi) bu bağlantıyı yapmak için kullanılırken, bu kimlik bilgileri Azure Backup ile depolanmaz. Bunun yerine, bu kimlik bilgilerinin Azure anahtar kasasında veritabanı yöneticisi tarafından gizli dizi olarak güvenli bir şekilde dağıtılması gerekir. kimlik bilgilerini yönetmek ve döndürmek iş yükü yöneticisinin sorumluluğundadır; Azure Backup, yedeklemeyi almak için anahtar kasasından en son gizli dizi ayrıntılarını çağırır.

İş yükünü veya veritabanı akışını gösteren diyagram.

Azure PostgreSQL veritabanı yedeklemesi için gereken izin kümesi

  1. Backup kasasının MSI'sine aşağıdaki erişim izinlerini verin:

    • Azure PostgreSQL sunucusunda okuyucu erişimi.
    • Azure anahtar kasasında Key Vault Gizli Dizileri Kullanıcısı (veya gizli dizileri alma, listeleme) erişimi.
  2. Ağ görüş hattı erişimi:

    • Azure PostgreSQL sunucusu – Azure hizmetlerine erişime izin ver bayrağının Evet olarak ayarlanması gerekir.
    • Anahtar kasası – Güvenilen Microsoft hizmetleri bayrağının Evet olarak ayarlanmasına izin ver.
  3. Veritabanı kullanıcısının veritabanındaki yedekleme ayrıcalıkları

Not

Hedeflenen kaynaklarda 'yazma' erişiminiz varsa (yedekleme yöneticisi) tek bir tıklamayla yedekleme akışı yapılandırma içinde bu izinleri verebilir veya gerekli izinlere sahip değilseniz (birden çok kişi söz konusu olduğunda) bir ARM şablonu kullanabilirsiniz.

Azure PostgreSQL veritabanı geri yüklemesi için gereken izin kümesi

Geri yükleme izinleri, yedekleme için gereken izinlere benzer ve hedef PostgreSQL sunucusu ve ilgili anahtar kasası üzerinde izin vermeniz gerekir. Yedekleme akışını yapılandırmanın aksine, bu izinleri satır içi olarak verme deneyimi şu anda kullanılamıyor. Bu nedenle, Postgres sunucusuna ve ilgili anahtar kasasına el ile erişim vermeniz gerekir.

Ayrıca, veritabanı kullanıcısının (anahtar kasasında depolanan kimlik bilgilerine karşılık gelen) veritabanında aşağıdaki geri yükleme ayrıcalıklarına sahip olduğundan emin olun:

  • ALTER USER kullanıcı adı CREATEDB;
  • Rol azure_pg_admin veritabanı kullanıcısına atayın.

Microsoft Entra ID tabanlı kimlik doğrulama modeli

Daha önce tamamen Microsoft Entra Id'yi temel alan farklı bir kimlik doğrulama modeli başlatmıştık. Ancak artık yapılandırma sürecini kolaylaştıran yeni anahtar kasası tabanlı kimlik doğrulama modelini (yukarıda açıklandığı gibi) alternatif bir seçenek olarak sunuyoruz.

Bu kimlik doğrulama modelini kullanmak üzere otomatik bir betik ve ilgili yönergeleri almak için bu belgeyi indirin. Azure PostgreSQL sunucusuna yedekleme ve geri yükleme için uygun bir izin kümesi verir.

Not

Tüm yeni yapılandırma koruması yalnızca yeni anahtar kasası kimlik doğrulama modeliyle gerçekleşir. Ancak, Microsoft Entra ID tabanlı kimlik doğrulaması ile koruma yapılandırılan tüm mevcut yedekleme örnekleri varolmaya devam eder ve düzenli yedeklemeler alınır. Bu yedeklemeleri geri yüklemek için Microsoft Entra Id tabanlı kimlik doğrulamasını izlemeniz gerekir.

Azure PostgreSQL sunucusunda ve anahtar kasasında el ile erişim izni verme

Azure Backup için gereken tüm erişim izinlerini vermek için aşağıdaki bölümlere bakın:

Azure PostgreSQL sunucusunda erişim izinleri

  1. Azure PostgreSQL sunucusunda Backup kasasının MSI Okuyucu erişimini ayarlayın.

    Azure PostgreSQL sunucusunda Backup kasasının M S I Okuyucu erişimini ayarlama seçeneğini gösteren ekran görüntüsü.

  2. Azure PostgreSQL sunucusunda ağ görüş hattı erişimi: 'Azure hizmetlerine erişime izin ver' bayrağını 'Evet' olarak ayarlayın.

    Azure PostgreSQL sunucusunda ağ görüş hattı erişimini ayarlama seçeneğini gösteren ekran görüntüsü.

Azure Key Vault'ta erişim izinleri (PostgreSQL sunucusuyla ilişkili)

  1. Azure anahtar kasasında Backup kasasının MSI Anahtar Kasası Gizli Dizileri Kullanıcı (veya gizli dizileri alma, listeleme ) erişimini ayarlayın. İzinleri atamak için rol atamalarını veya erişim ilkelerini kullanabilirsiniz. Yardımcı olmadığı için her iki seçeneği de kullanarak iznin eklenmesi gerekmez.

    • Azure rol tabanlı erişim denetimi (Azure RBAC) yetkilendirmesini (yani İzin modeli Azure rol tabanlı erişim denetimi olarak ayarlanır) kullanarak:

      • Erişim denetimi altında, yedekleme kasasının MSI Anahtar Kasası Gizli Dizilerine anahtar kasasında Kullanıcı erişimi verin. Bu rolü taşıyanlar gizli dizileri okuyabilir.
      • Uygulamalara Azure RBAC kullanarak Azure anahtar kasasına erişme izni verme.

    Gizli kullanıcı erişimi sağlama seçeneğini gösteren ekran görüntüsü.

    Yedekleme kasasının M S I Key Vault Gizli Dizilerine anahtar kasasında Kullanıcı erişimi verme seçeneğini gösteren ekran görüntüsü.

    • Erişim ilkelerini kullanma (yani İzin modeli, Kasa erişim ilkesi olarak ayarlanır):

      • Gizli diziler üzerinde Alma ve Listeleme izinlerini ayarlayın.
      • Azure Key Vault erişim ilkesi atama hakkında bilgi edinin

      İzin modeli kullanılarak izin verme seçeneğinin Kasa erişim ilkesi modeli olarak ayarlandığını gösteren ekran görüntüsü.

  2. Anahtar kasasında ağ görüş hattı erişimi: Güvenilen Microsoft hizmetleri izin ver bayrağını Evet olarak ayarlayın.

    Anahtar kasasında Ağ görüş hattı erişimi için Güvenilen Microsoft hizmetleri izin ver bayrağının evet olarak ayarlanmasını gösteren ekran görüntüsü.

Veritabanı kullanıcısının veritabanındaki yedekleme ayrıcalıkları

PG yönetici aracında aşağıdaki sorguyu çalıştırın (kullanıcı adını veritabanı kullanıcı kimliğiyle değiştirin):

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$

Not

Yedeklemenin zaten yapılandırılmış olduğu bir veritabanı UserErrorMissingDBPermissions ile başarısız oluyorsa sorunu çözme konusunda yardım için lütfen bu sorun giderme kılavuzuna bakın.

PG yönetici aracını kullanma

Henüz yapmadıysanız PG yönetici aracını indirin. Bu araç aracılığıyla Azure PostgreSQL sunucusuna bağlanabilirsiniz. Ayrıca, bu sunucuya veritabanları ve yeni kullanıcılar ekleyebilirsiniz.

P G yönetici aracını kullanarak Azure PostgreSQL sunucusuna bağlanma işlemini gösteren ekran görüntüsü.

Seçtiğiniz bir adla yeni sunucu oluşturun. Konak adını/adresi, Azure portalındaki Azure PostgreSQL kaynak görünümünde görüntülenen Sunucu adıyla aynı şekilde girin.

P G yönetici aracını kullanarak yeni sunucu oluşturma seçeneğini gösteren ekran görüntüsü.

Sunucu adıyla aynı Ana bilgisayar adını veya adres adını girme seçeneğini gösteren ekran görüntüsü.

Bağlantının geçmesi için geçerli istemci kimliği adresini Güvenlik duvarı kurallarına eklediğinizden emin olun.

Geçerli istemci I D adresini Güvenlik duvarı kurallarına ekleme işlemini gösteren ekran görüntüsü.

Sunucuya yeni veritabanları ve veritabanı kullanıcıları ekleyebilirsiniz. Veritabanı kullanıcıları için yeni bir Oturum Açma/Grup Rolleri' ekleyin. Oturum açılabilir mi? seçeneğinin Evet olarak ayarlandığından emin olun.

Sunucuya yeni veritabanları ve veritabanı kullanıcıları ekleme işlemini gösteren ekran görüntüsü.

Veritabanı kullanıcıları için yeni oturum açma veya grup rolü ekleme işlemini gösteren ekran görüntüsü.

Oturum açabilir seçeneğinin doğrulanmasının Evet olarak ayarlandığını gösteren ekran görüntüsü.

Sonraki adımlar

yedeklemeyi PostgreSQL için Azure Veritabanı