Azure Backup kullanarak PostgreSQL veritabanı yedekleme sorunlarını giderme

Bu makalede, Azure PostgreSQL veritabanlarını Azure Backup ile yedeklemeye yönelik sorun giderme bilgileri sağlanır.

UserErrorMSIMissingPermissions

Yedeklemek veya geri yüklemek istediğiniz PG sunucusunda Backup Vault MSI Okuma erişimi verin.

Azure Backup, PostgreSQL veritabanına güvenli bağlantı kurmak için Yönetilen Hizmet Kimliği (MSI) kimlik doğrulama modelini kullanır. Bu, yedekleme kasasının yalnızca kullanıcı tarafından açıkça izin verilen kaynaklara erişeceği anlamına gelir.

Sistem MSI'sı, oluşturma sırasında kasaya otomatik olarak atanır. Bu kasa MSI'ye veritabanlarını yedeklemek istediğiniz PostgreSQL sunucularına erişim vermeniz gerekir.

Adımlar:

  1. Postgres sunucusunda Erişim Denetimi (IAM) bölmesine gidin.

    Access Control pane

  2. Rol atamaları ekle'yi seçin.

    Screenshot to add role assignment.

  3. Açılan sağ bağlam bölmesine aşağıdakileri girin:

    • Rol: Açılan listeden Okuyucu rolünü seçin.
    • Erişim atama: Açılan listede Kullanıcı, grup veya hizmet sorumlusu seçeneğini belirleyin.
    • Seçin: Bu sunucuyu ve veritabanlarını yedeklemek istediğiniz Yedekleme kasasının adını girin.

    Screenshot showing how to select role.

UserErrorBackupUserAuthFailed

Microsoft Entra Id ile kimlik doğrulaması yapabilecek bir veritabanı yedekleme kullanıcısı oluşturun:

Bu hata PostgreSQL sunucusu için Microsoft Entra yöneticisinin olmamasından veya Microsoft Entra Id kullanarak kimlik doğrulaması yapabilecek bir yedekleme kullanıcısının olmamasından kaynaklanabilir.

Adımlar:

İşletim sistemi sunucusuna bir Active Directory Yönetici ekleyin:

Bu adım, parola yerine Microsoft Entra Kimliği ile kimlik doğrulaması yapabilecek bir kullanıcı aracılığıyla veritabanına bağlanmak için gereklidir. PostgreSQL için Azure Veritabanı'daki Microsoft Entra Yönetici kullanıcısının rolü azure_ad_admin. Yalnızca azure_ad_admin bir rol, Microsoft Entra Kimliği ile kimlik doğrulaması yapabilecek yeni veritabanı kullanıcıları oluşturabilir.

  1. Sunucu görünümünün sol gezinti bölmesindeki Active Directory Yönetici sekmesine gidin ve kendinizi (veya başka birini) Active Directory yöneticisi olarak ekleyin.

    Screenshot showing how to set Active Directory admin.

  2. AD yöneticisi kullanıcı ayarını kaydettiğinizden emin olun.

    Screenshot showing how to save Active Directory admin user setting.

İzin verme adımlarını tamamlamak için gerçekleştirmeniz gereken adımların listesi için bu belgeye bakın.

UserErrorMissingNetworkSecurityPermissions

Sunucu görünümünde Azure hizmetlerine erişime izin ver bayrağını etkinleştirerek ağ görüş hattı oluşturun. Sunucu görünümünde, Bağlan ion güvenlik bölmesinin altında Azure hizmetlerine erişime izin ver bayrağını Evet olarak ayarlayın.

Not

Bu bayrağı etkinleştirmeden önce Genel ağ erişimini reddet bayrağını Hayır olarak ayarladığınızdan emin olun.

Screenshot showing how to allow access to Azure services.

UserErrorContainerNotAccessible

Dosya olarak geri yüklerken depolama hesabı kapsayıcısına geri yükleme izni

  1. Backup kasası MSI'ye Azure portalını kullanarak depolama hesabı kapsayıcılarına erişme izni verin.

    1. Depolama Hesabı ->Erişim Denetimi ->Rol ataması ekle'ye gidin.
    2. Backup kasası MSI'sine Depolama Blob Veri Katkıda Bulunanı rolü atayın.

    Screenshot showing the process to assign Storage Blob Data Contributor role.

  2. Alternatif olarak, Azure CLI az role assignment create komutunu kullanarak geri yüklemekte olduğunuz belirli kapsayıcı için ayrıntılı izinler verin.

    az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id
    
    1. assignee parametresini kasanın MSI'sinin Uygulama Kimliği ve kapsayıcınıza başvurmak için kapsam parametresiyle değiştirin.

    2. Kasa MSI'sinin Uygulama Kimliğini almak için Uygulama türü altında Tüm uygulamalar'ıseçin:

      Screenshot showing how to select All Applications.

    3. Kasa adını arayın ve Uygulama Kimliğini kopyalayın:

      Screenshot showing how to search for vault name.

UserErrorDBUserAuthFailed

Azure Backup hizmeti, veritabanına veritabanı kullanıcısı olarak erişmek için anahtar kasasında belirtilen kimlik bilgilerini kullanır. yedekleme yapılandırması sırasında ilgili anahtar kasası ve gizli dizi sağlanır. Anahtar kasasında gizli dizi değerinin parçası olarak depolanan kimlik bilgilerinin geçerli olduğundan emin olun. Belirtilen veritabanı kullanıcısının oturum açma erişimi olduğundan emin olun.

UserErrorInvalidSecret

Azure Backup hizmeti, veritabanına veritabanı kullanıcısı olarak erişmek için anahtar kasasında belirtilen kimlik bilgilerini kullanır. yedekleme yapılandırması sırasında ilgili anahtar kasası ve gizli dizi sağlanır. Belirtilen gizli dizi adının anahtar kasasında bulunduğundan emin olun.

UserErrorMissingDBPermissions

Azure Backup hizmeti, veritabanına veritabanı kullanıcısı olarak erişmek için anahtar kasasında belirtilen kimlik bilgilerini kullanır. yedekleme yapılandırması sırasında ilgili anahtar kasası ve gizli dizi sağlanır. Bu yedekleme örneğiyle ilişkili anahtar kasası, yedekleme örneğine erişip JSON görünümü seçilerek bulunabilir. Aşağıdaki ekran görüntüsünde gösterildiği gibi datasourceAuthCredentials bölümünde key-vault adını ve gizli dizi ayrıntılarını görürsünüz.

Screenshot showing how to search for key vault by using secret name.

UserErrorSecretValueInUnsupportedFormat

Azure Backup hizmeti, veritabanına veritabanı kullanıcısı olarak erişmek için anahtar kasasında belirtilen kimlik bilgilerini kullanır. yedekleme yapılandırması sırasında ilgili anahtar kasası ve gizli dizi sağlanır. Ancak gizli dizi değeri Azure Backup tarafından desteklenen bir biçimde değildir. Burada belgelendiği gibi desteklenen biçimi denetleyin.

UserErrorInvalidSecretStore

Azure Backup hizmeti, veritabanına veritabanı kullanıcısı olarak erişmek için anahtar kasasında belirtilen kimlik bilgilerini kullanır. yedekleme yapılandırması sırasında ilgili anahtar kasası ve gizli dizi sağlanır. Verilen anahtar kasasının mevcut olduğundan ve yedekleme hizmetine burada belgelendiği gibi erişim verildiğinden emin olun.

UserErrorMissingPermissionsOnSecretStore

Azure Backup hizmeti, veritabanına veritabanı kullanıcısı olarak erişmek için anahtar kasasında belirtilen kimlik bilgilerini kullanır. yedekleme yapılandırması sırasında ilgili anahtar kasası ve gizli dizi sağlanır. Burada belirtildiği gibi yedekleme kasasının MSI'sine anahtar kasasına erişim verildiğine emin olun.

UserErrorDBNotFound

Veritabanının ve ilgili sunucunun mevcut olduğundan emin olun.

UserErrorDatabaseNameAlreadyInUse

Geri yüklenen veritabanı için verilen ad zaten var ve bu nedenle geri yükleme işlemi başarısız oldu. Geri yükleme işlemini farklı bir adla yeniden deneyin.

UserErrorServer Bağlan ionClosed

Sunucu bağlantıyı beklenmedik bir şekilde kapattığı için işlem başarısız oldu. İşlemi yeniden deneyin ve hata devam ederse lütfen Microsoft Desteği başvurun.

Sonraki adımlar

PostgreSQL için Azure Veritabanı yedeklemesi hakkında