Azure Backup을 사용하여 PostgreSQL 데이터베이스 백업 문제 해결

이 문서에서는 Azure Backup를 사용하여 Azure PostgreSQL 데이터베이스를 백업하기 위한 문제 해결 정보를 제공합니다.

UserErrorMSIMissingPermissions

백업하거나 복원할 PG 서버에서 백업 자격 증명 모음 MSI에 읽기 액세스 권한을 부여합니다.

PostgreSQL 데이터베이스에 대한 보안 연결을 설정하기 위해 Azure Backup은 MSI(관리 서비스 ID) 인증 모델을 사용합니다. 즉, 백업 자격 증명 모음은 사용자가 명시적으로 권한을 부여한 리소스에만 액세스할 수 있습니다.

시스템 MSI는 생성 시 자격 증명 모음에 자동으로 할당됩니다. 데이터베이스를 백업하려는 PostgreSQL 서버에 대한 액세스 권한을 이 자격 증명 모음 MSI에 부여해야 합니다.

단계:

  1. Postgres server에서 Access Control(IAM) 창으로 이동합니다.

    Access Control pane

  2. 역할 할당 추가를 선택합니다.

    Screenshot to add role assignment.

  3. 열리는 오른쪽 컨텍스트 창에서 다음을 입력합니다.

    • 역할: 드롭다운 목록에서 읽기 권한자 역할을 선택합니다.
    • 액세스 할당: 드롭다운 목록에서 사용자, 그룹 또는 서비스 주체 옵션을 선택합니다.
    • 선택: 이 서버 및 해당 데이터베이스를 백업하려는 백업 자격 증명 모음 이름을 입력합니다.

    Screenshot showing how to select role.

UserErrorBackupUserAuthFailed

Microsoft Entra ID로 인증할 수 있는 데이터베이스 백업 사용자를 만듭니다.

이 오류는 PostgreSQL 서버에 대한 Microsoft Entra 관리자가 없거나 Microsoft Entra ID를 사용하여 인증할 수 있는 백업 사용자가 없을 때 발생할 수 있습니다.

단계:

OSS 서버에 Active Directory 관리자를 추가합니다.

암호 대신 Microsoft Entra ID로 인증할 수 있는 사용자를 통해 데이터베이스에 연결하려면 이 단계가 필요합니다. Azure Database for PostgreSQL의 Microsoft Entra 관리 사용자는 azure_ad_admin 역할을 갖게 됩니다. azure_ad_admin 역할만 Microsoft Entra ID로 인증할 수 있는 새 데이터베이스 사용자를 만들 수 있습니다.

  1. 서버 보기의 왼쪽 탐색 창에 있는 Active Directory 관리자 탭으로 이동하고 자신(또는 다른 사용자)을 Active Directory 관리자로 추가합니다.

    Screenshot showing how to set Active Directory admin.

  2. AD 관리 사용자 설정을 저장해야 합니다.

    Screenshot showing how to save Active Directory admin user setting.

권한 부여 단계를 완료하기 위해 수행해야 하는 단계 목록은 이 문서를 참조하세요.

UserErrorMissingNetworkSecurityPermissions

서버 보기에서 Azure 서비스에 대한 액세스 허용 플래그를 사용하여 네트워크 시야를 설정합니다. 서버 보기의 연결 보안 창에서 Azure 서비스에 대한 액세스 허용 플래그를 로 설정합니다.

참고 항목

이 플래그를 활성화하기 전에 공용 네트워크 액세스 거부 플래그를 아니요로 설정해야 합니다.

Screenshot showing how to allow access to Azure services.

UserErrorContainerNotAccessible

파일로 복원할 때 스토리지 계정 컨테이너에 복원할 수 있는 권한

  1. 백업 자격 증명 모음 MSI에 Azure Portal 사용하여 스토리지 계정 컨테이너에 액세스할 수 있는 권한을 부여합니다.

    1. 스토리지 계정 ->액세스 제어 ->역할 할당 추가로 이동합니다.
    2. 스토리지 Blob 데이터 기여자 역할을 Backup 자격 증명 모음 MSI에 할당합니다.

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

  2. 또는 Azure CLI az role assignment create 명령을 사용하여 복원하려는 특정 컨테이너에 대해 세부적인 권한을 부여합니다.

    az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id
    
    1. 담당자 매개 변수를 자격 증명 모음 MSI의 애플리케이션 ID 및 범위 매개 변수로 바꿔 특정 컨테이너를 참조합니다.

    2. 자격 증명 모음 MSI의 애플리케이션 ID를 얻으려면 애플리케이션 유형 아래에서 모든 애플리케이션을 선택합니다.

      Screenshot showing how to select All Applications.

    3. 자격 증명 모음 이름을 검색하고 애플리케이션 ID를 복사합니다.

      Screenshot showing how to search for vault name.

UserErrorDBUserAuthFailed

Azure Backup 서비스는 키 자격 증명 모음에 언급된 자격 증명을 사용하여 데이터베이스 사용자로 데이터베이스에 액세스합니다. 관련 키 자격 증명 모음 및 비밀은 백업 구성 중에 제공됩니다. 키 자격 증명 모음에 비밀 값의 일부로 저장된 자격 증명이 유효한지 확인합니다. 지정된 데이터베이스 사용자에게 로그인 액세스 권한이 있는지 확인합니다.

UserErrorInvalidSecret

Azure Backup 서비스는 키 자격 증명 모음에 언급된 자격 증명을 사용하여 데이터베이스 사용자로 데이터베이스에 액세스합니다. 관련 키 자격 증명 모음 및 비밀은 백업 구성 중에 제공됩니다. 지정된 비밀 이름이 키 자격 증명 모음에 있는지 확인합니다.

UserErrorMissingDBPermissions

Azure Backup 서비스는 키 자격 증명 모음에 언급된 자격 증명을 사용하여 데이터베이스 사용자로 데이터베이스에 액세스합니다. 관련 키 자격 증명 모음 및 비밀은 백업 구성 중에 제공됩니다. 이 백업 인스턴스와 연결된 키 자격 증명 모음은 백업 인스턴스에 액세스하고 JSON 보기를 선택하여 찾을 수 있습니다. 아래 스크린샷과 같이 datasourceAuthCredentials 섹션 아래에 나열된 키 자격 증명 모음 이름과 비밀 세부 정보를 볼 수 있습니다.

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

UserErrorSecretValueInUnsupportedFormat

Azure Backup 서비스는 키 자격 증명 모음에 언급된 자격 증명을 사용하여 데이터베이스 사용자로 데이터베이스에 액세스합니다. 관련 키 자격 증명 모음 및 비밀은 백업 구성 중에 제공됩니다. 그러나 비밀 값은 Azure Backup에서 지원하는 형식이 아닙니다. 여기에 설명된 지원 형식을 확인합니다.

UserErrorInvalidSecretStore

Azure Backup 서비스는 키 자격 증명 모음에 언급된 자격 증명을 사용하여 데이터베이스 사용자로 데이터베이스에 액세스합니다. 관련 키 자격 증명 모음 및 비밀은 백업 구성 중에 제공됩니다. 지정된 키 자격 증명 모음이 있고 여기에 설명된 대로 백업 서비스에 액세스 권한이 부여되었는지 확인합니다.

UserErrorMissingPermissionsOnSecretStore

Azure Backup 서비스는 키 자격 증명 모음에 언급된 자격 증명을 사용하여 데이터베이스 사용자로 데이터베이스에 액세스합니다. 관련 키 자격 증명 모음 및 비밀은 백업 구성 중에 제공됩니다. 여기에 설명된 대로 백업 자격 증명 모음의 MSI에 키 자격 증명 모음에 대한 액세스 권한이 부여되었는지 확인합니다.

UserErrorDBNotFound

데이터베이스 및 관련 서버가 존재하는지 확인합니다.

UserErrorDatabaseNameAlreadyInUse

복원된 데이터베이스에 지정된 이름이 이미 존재하므로 복원 작업이 실패했습니다. 다른 이름으로 복원 작업을 다시 시도합니다.

UserErrorServerConnectionClosed

서버가 예기치 않게 연결을 종료했기 때문에 작업이 실패했습니다. 작업을 다시 시도하고 오류가 계속되면 Microsoft 지원에 문의합니다.

다음 단계

Azure Database for PostgreSQL 백업 정보