PostgreSQL yedeklemesi için Azure Veritabanı (önizleme) hakkında

Azure Yedekleme ve Azure Veritabanı Hizmetleri, 10 yıl süreyle yedekleri bulunan PostgreSQL sunucuları için Azure Veritabanı için kurumsal sınıf bir yedek çözümü oluşturmak için bir araya geldi. Uzun süreli bekletmenin yanı sıra, çözüm aşağıdaki özellikleri de sunar:

  • Müşteri tarafından tek tek veritabanı düzeyinde zamanlanmış ve isteğe bağlı yedeklemeler denetlenmektedir.
  • Veritabanı düzeyindeki tüm PostgreSQL sunucusuna veya herhangi bir blob depolama alanına geri yükleme.
  • Tüm işlemleri ve işleri merkezi olarak izleme.
  • Yedeklemeler, ayrı güvenlik ve hata etki alanlarında depolanır. Herhangi bir durumda kaynak sunucu veya aboneliğin güvenliği ihlal edilmişse, yedekler Yedek kasada güvende kalır (Azure Yedekleme yönetilen depolama hesaplarında).
  • E-pg_dump kullanımı geri yüklemelerde daha fazla esneklik sağlar. Bu, veritabanı sürümleri arasında geri yüklemenizi sağlar

Bu çözümü bağımsız olarak veya Azure PostgreSQL tarafından sunulan ve 35 gün boyunca bekletme özelliği sunan yerel yedekleme çözümünün yanı sıra kullanabilirsiniz. En son yedeklerden ne zaman kurtarmak istediğiniz gibi işlem kurtarmaları için yerel çözüm daha uygun olur. Azure Yedekleme çözümü, uyumluluk ihtiyaçlarını daha ayrıntılı ve esnek yedekleme/geri yükleme ile size yardımcı olur.

Destek matrisi

Destek Ayrıntılar
Desteklenen dağıtımlar PostgreSQL için Azure Veritabanı - Tek Sunucu
Desteklenen Azure bölgeleri Doğu ABD, Doğu ABD 2, Orta ABD, Güney Orta ABD, Batı ABD, Batı ABD 2, Batı Orta ABD, Brezilya Güney, Kanada Merkezi, Kuzey Avrupa, Batı Avrupa, İngiltere Güney, Birleşik Krallık Batı, Batı Merkezi, İsviçre Kuzey, İsviçre Batı, Doğu Asya, Güneydoğu Asya, Japonya Doğu, Japonya Batı, Kore Merkezi, Kore Güney, Hindistan Merkezi, Avustralya Doğu, Avustralya Merkezi, Avustralya Merkezi, Orta 2, BAE Kuzey
Desteklenen Azure PostgreSQL sürümleri 9.5, 9.6, 10, 11

Özellikte dikkate alınacak noktalar ve sınırlamalar

  • Tüm işlemler yalnızca Azure portaldan destekler.
  • En büyük veritabanı boyutu için önerilen sınır 400 GB'tır.
  • Bölgeler arası yedekleme desteklenmiyor. Bu nedenle, Azure PostgreSQL sunucusunu başka bir bölgedeki bir kasaya destek olayasınız. Benzer şekilde, yalnızca kasayla aynı bölgede bulunan bir sunucuya yedek olarak geri yükleyebilirsiniz. Ancak, abonelikler arası yedeklemeyi ve geri yüklemeyi destekliyoruz.
  • Yalnızca veriler geri yükleme sırasında kurtarılabilir; "roller" geri yüklenir.
  • Önizlemede, çözümü yalnızca test ortamınız üzerinde çalıştırmanızı öneririz.

Yedekleme işlemi

  1. Yedek yönetici olarak, yedeklemek istediğiniz Azure PostgreSQL veritabanlarını belirtebilirsiniz. Ayrıca, belirtilen veritabanına/veritabanına bağlanmak için gereken kimlik bilgilerini depolar Azure anahtar kasasının ayrıntılarını da belirtebilirsiniz. Bu kimlik bilgileri, veritabanı yöneticisi tarafından Azure anahtar kasasında güvenli bir şekilde depolanır.
  2. Ardından yedekleme hizmeti, belirtilen PostgreSQL sunucusuyla kimlik doğrulaması yapmak ve veritabanlarını yedeklemek için uygun izinlere sahip olup olduğunu doğrular.
  3. Azure Yedekleme, korumalı PostgreSQL sunucusuyla iletişim kurmak için yedek uzantısı yüklenmiş bir çalışan rolünü (VM) verir. Bu uzantı bir ve PostgreSQL eklentilerinden oluşur. Bu tetik, 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, eklenti, PostgreSQL sunucusundan pg_dump (özel)kullanarak yedek verilerin akışını başlatmak için eklentiyle iletişim kurar.
  5. Eklenti, verileri doğrudan Azure Yedekleme tarafından yönetilen depolama hesaplarına gönderir (Yedek kasa tarafından maskelenmiş olarak), hazırlama konumu ihtiyacı ortadan kaldırmak için kullanılır. Veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir ve Azure Yedekleme hizmeti tarafından depolama hesaplarında depolanır.

Diagram showing the backup process.

PostgreSQL sunucusuyla Azure Backup kimlik doğrulaması

Azure Yedekleme, Azure tarafından sıkı güvenlik yönergelerini izler; kaynak üzerinde destek verilecek izinler varsayılır ve kullanıcı tarafından açıkça verilmesi gerekmez.

Anahtar kasa tabanlı kimlik doğrulama modeli

Azure Yedekleme hizmetinin, her yedeklemeyi alırken Azure PostgreSQL'ye bağlanması gerekir. Bu bağlantıyı oluşturmak için veritabanına karşılık gelen 'kullanıcı adı + parola' (veya bağlantı dizesi) kullanılırken, bu kimlik bilgileri Azure Yedekleme ile depolanmış değildir. Bunun yerine, bu kimlik bilgileri veritabanı yöneticisi tarafından Azure anahtar kasasında gizli olarak güvenli bir şekilde ekli olmalıdır. Kimlik bilgilerini yönetmek ve döndürmek iş yükü yöneticisinin sorumluluğundadır; Azure Yedek, yedeklemeyi almak için kilit kasadan en yeni gizli ayrıntıları arar.

Diagram showing the workload or database flow.

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

  1. Yedek kasanın MSI'sı için aşağıdaki erişim izinlerini verin:

    • Azure PostgreSQL sunucusunda okuyucu erişimi.
    • Anahtar Kasası Secrets Kullanıcı (ya da almak, liste sırrı) Azure anahtar kasasında erişim.
  2. Ağ göz erişim çizgisi:

    • Azure PostgreSQL sunucusu – Azure hizmetlerine erişime izin ver bayrağının Evet olarak ayarlanır.
    • Anahtar kasa – Güvenilir güvenlik Microsoft hizmetleri Evet olarak ayar olmasına izin ver.
  3. Veritabanı kullanıcının veritabanındaki yedekleme ayrıcalıkları

Not

Gerekli izinlere sahip değilseniz (yedek yönetici) hedefli kaynaklara 'yazma' erişiminiz varsa veya gerekli izinlere sahip değilseniz (birden çok kişi katıldığında) bir ARM şablonu kullanıyorsanız, bu izinleri tek tıklamayla yapılandırma yedekleme akışı içinde veebilirsiniz.

Azure PostgreSQL veritabanını geri yükleme için gereken İzinler Kümesi

Geri yükleme izinleri, yedekleme için gerekenlere benzer ve hedef PostgreSQL sunucusunda ve ona karşılık gelen anahtar kasasında izinler verebilirsiniz. Yedekleme akışını yapılandırmadan farklı olarak, bu izinlere satır içi izinler atama deneyimi şu anda kullanılamıyor. Bu nedenle, Postgres sunucusunda ve buna karşılık gelen anahtar kasada erişimi el ile vermelisiniz.

Buna ek olarak, veritabanı kullanıcılarının (anahtar kasada 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ıya attayabilirsiniz.

Azure Active Directory tabanlı kimlik doğrulama modeli

Daha önce tamamen Azure Active Directory (Azure AD) tabanlı başka bir kimlik doğrulama modeli başlatmıştık. Bununla birlikte, şimdi yapılandırma işlemini kolaylaştıran alternatif bir seçenek olarak yeni anahtar kasa tabanlı kimlik doğrulama modelini (yukarıda açıklanmıştır) sağlıyoruz.

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

Not

Tüm yeni yapılandırma koruması, yalnızca yeni anahtar kasası kimlik doğrulama modeliyle take the new key vault authentication model. Bununla birlikte, Azure AD tabanlı kimlik doğrulamasıyla yapılandırılmış mevcut tüm yedek örnekleri var olmaya devam eder ve düzenli yedeklemeler alınır. Bu yedeklemeleri geri yüklemek için Azure AD tabanlı kimlik doğrulamasını takip edin.

Azure PostgreSQL sunucusuna ve Anahtar kasasına el ile erişim izni ver

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

Azure PostgreSQL sunucusundaKimlik İzinleri

  1. Azure PostgreSQL sunucusunda Yedek kasanın MSI Okuyucu erişimini ayarlayın.

    Screenshot showing the option to set Backup vault’s MSI Reader access on the Azure PostgreSQL server.

  2. Azure PostgreSQL sunucusunda görme ağı erişimi: 'Azure hizmetleri için erişime izin ver' bayrağını 'Evet' olarak ayarlayın.

    Screenshot showing the option to set network line of sight access on the Azure PostgreSQL server.

Azure Anahtar kasası üzerinde Erişim İzinleri (PostgreSQL sunucusuyla ilişkili)

  1. Azure anahtar kasasında Yedek kasanın MSI Anahtar Kasa Sırrı Kullanıcısı'nın (veya liste sırrı) erişimini ayarlayın. İzinleri atamak için rol atamalarını veya erişim ilkelerini kullanabilirsiniz. Her iki seçeneği de kullanarak izin eklemek gerekmez çünkü bu işe yardımcı olmaz.

    Screenshot showing the option to provide secret user access.

    Screenshot showing the option to grant the backup vault’s MSI Key Vault Secrets User access on the key vault.

  2. Anahtar kasada görme erişimi için ağ satırı: Güvenilir postalara izin ver Microsoft hizmetleri bayrağını Evet olarak ayarlayın.

    Screenshot showing to set the Allow trusted Microsoft services flag to yes for Network line of sight access on the key vault.

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

AŞAĞıDAKI sorguyu PG yönetici aracında ç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$

PG yönetici aracını kullanma

Daha önce yüklemedıyseniz 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 da eklersiniz.

Screenshot showing the process to connect to Azure PostgreSQL server using PG admin tool.

Yeni sunucuyu istediğiniz adla oluşturun. Azure portalda Azure PostgreSQL kaynak görünümünde görüntülenen Sunucu adı ile aynı Ana bilgisayar adı/adres adını girin.

Screenshot showing the option to create new server using PG admin tool.

Screenshot showing the option to enter the Host name or address name same as the Server name.

Bağlantının gideceği Güvenlik Duvarı kuralları'nın geçerli istemci kimliği adresini eklemeye emin olun.

Screenshot showing the process to add the current client ID address to the Firewall rules.

Sunucuya yeni veritabanları ve veritabanı kullanıcıları ekleme. Veritabanı kullanıcıları için yeni bir Oturum Aç/Grup Rolleri 'ekleyin. Oturum açasın mı? için Evet ayarlanır.

Screenshot showing the process to add new databases and database users to the server.

Screenshot showing the process to add a new login or group role for database users.

Screenshot showing the verification of the can login option is set to Yes.

Sonraki adımlar

PostgreSQL yedeklemesi için Azure Veritabanı