다음을 통해 공유


Azure Database for PostgreSQL 백업 복원

이 문서에서는 데이터베이스를 Azure Backup에서 백업한 Azure PostgreSQL 서버로 복원하는 방법을 설명합니다.

서비스에 대상 서버에 대한 적절한 사용 권한 세트가 있는 경우 자격 증명 모음의 동일한 지역 내에 있지만 다른/동일한 구독의 모든 Azure PostgreSQL 서버로 데이터베이스를 복원할 수 있습니다.

Azure PostgreSQL 데이터베이스 복원

  1. 백업 자격 증명 모음 - >백업 인스턴스로 이동합니다. 데이터베이스를 선택하고 복원을 클릭합니다.

    데이터베이스를 선택 및 복원하는 프로세스를 보여 주는 스크린샷

    또는 백업 센터에서 이 페이지로 이동할 수 있습니다.

  2. 복구 지점 선택 페이지에서 선택한 백업 인스턴스에 사용할 수 있는 모든 전체 백업 목록에 있는 복구 지점을 선택합니다. 기본적으로 최신 복구 지점을 선택합니다.

    복구 지점을 선택하는 프로세스를 보여 주는 스크린샷

    복원 지점이 보관 계층에 있는 경우 복원하기 전에 복구 지점을 리하이드레이션해야 합니다. 리하이드레이션에 필요한 다음과 같은 추가 매개 변수를 제공합니다.

    • 리하이드레이션 우선 순위: 기본값은 표준입니다.
    • 리하이드레이션 기간: 최대 리하이드레이션 기간은 30일이고 최소 리하이드레이션 기간은 10일입니다. 기본값은 15일입니다. 복구 지점은 이 기간 동안 백업 데이터 저장소에 저장됩니다.
  3. 복원 매개 변수 페이지에서 복원 유형으로 데이터베이스로 복원 또는 파일로 복원 중 하나를 선택합니다.

    • 데이터베이스로 복원

      대상 서버는 원본 서버와 같을 수 있습니다. 그러나 원래 데이터베이스를 덮어쓰는 것은 지원되지 않습니다. 모든 구독의 서버에서 선택할 수 있지만 자격 증명 모음과 동일한 지역에서 선택할 수 있습니다.

      1. Key Vault 및 비밀 선택 드롭다운 목록에서 대상 서버에 연결할 자격 증명을 저장하는 자격 증명 모음을 선택합니다.

      2. 검토 + 복원을 선택하여 서비스에 대상 서버에 대한 복원 권한이 있는지 확인하기 위한 유효성 검사를 트리거합니다. 이러한 사용 권한은 수동으로 부여해야 합니다.

      복원 유형으로 데이터베이스로 복원을 선택한 경우를 보여 주는 스크린샷

Important

키 자격 증명 모음을 통해 자격 증명을 선택한 DB 사용자는 복원된 데이터베이스에 대한 모든 권한을 가지며 기존 DB 사용자 경계가 재정의됩니다. 예를 들어 백업된 데이터베이스에 DB 사용자별 사용 권한/제약 조건(예: DB 사용자 A는 몇 개의 테이블에 액세스할 수 있고, DB 사용자 B는 몇 개의 다른 테이블에 액세스할 수 있음)이 있는 경우 복원 후에는 이러한 권한이 유지되지 않습니다. 이러한 권한을 유지하려면 파일로 복원을 사용하고 관련 스위치와 함께 pg_restore 명령을 사용합니다.

  • 파일로 복원: 백업 파일을 대상 스토리지 계정(blob)에 덤프합니다.

    모든 구독의 스토리지 계정에서 선택할 수 있지만 자격 증명 모음과 동일한 지역에서 선택할 수 있습니다.

    1. 대상 컨테이너 선택 드롭다운 목록에서 선택한 스토리지 계정에 대해 필터링된 컨테이너 중 하나를 선택합니다.
    2. 검토 + 복원을 선택하여 백업 서비스에 대상 스토리지 계정에 대한 복원 권한이 있는지 확인하기 위한 유효성 검사를 트리거합니다.

    복원 유형으로 파일로 복원을 선택한 경우를 보여 주는 스크린샷

  1. 복원 작업을 제출하고 백업 작업에서 트리거된 작업을 추적합니다.

    백업 작업에서 추적된 트리거된 작업을 보여 주는 스크린샷

참고 항목

Azure Database for PostgreSQL에 대한 보관 지원은 제한된 공개 미리 보기로 제공됩니다.

대상 스토리지 계정의 복원 사용 권한

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

  1. 스토리지 계정 ->액세스 제어 ->역할 할당 추가로 이동합니다.

  2. 백업 자격 증명 모음 MSI에 대한 역할 드롭다운 목록에서 Storage Blob 데이터 기여자 역할을 선택합니다.

    Azure Portal을 사용하여 스토리지 계정 컨테이너에 액세스할 수 있는 권한을 백업 자격 증명 모음 MSI에 부여하는 프로세스를 보여 주는 스크린샷

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

az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id

담당자 매개 변수를 자격 증명 모음 MSI의 애플리케이션 ID 및 범위 매개 변수로 바꿔 특정 컨테이너를 참조합니다. 자격 증명 모음 MSI의 애플리케이션 ID를 얻으려면 애플리케이션 유형 아래에서 모든 애플리케이션을 선택합니다. 자격 증명 모음 이름을 검색하고 애플리케이션 ID를 복사합니다.

자격 증명 모음 MSI의 애플리케이션 ID를 가져오는 프로세스를 보여 주는 스크린샷

자격 증명 모음의 애플리케이션 ID를 복사하는 프로세스를 보여 주는 스크린샷

지역 간 데이터베이스 복원

복원 옵션 중 하나인 CRR(지역 간 복원)을 사용하면 Azure 쌍으로 연결된 지역인 보조 지역에서 Azure Database for PostgreSQL 서버를 복원할 수 있습니다.

고려 사항

보조 지역의 백업 인스턴스 보기

CRR이 사용하도록 설정되면 보조 지역에서 백업 인스턴스를 볼 수 있습니다.

  1. Azure Portal에서 Backup Vault>Backup 인스턴스로 이동합니다.

  2. 필터를 인스턴스 지역 == 보조 지역으로 선택합니다.

    보조 지역을 인스턴스 지역으로 선택하는 방법을 보여 주는 스크린샷

    참고 항목

    CRR 기능을 지원하는 백업 관리 유형만 나열됩니다. 현재 PostgreSQL 서버의 보조 지역으로 주 지역 데이터를 복원하는 것만 지원됩니다.

보조 지역의 복원

보조 지역 복원 환경은 주 지역 복원과 유사합니다.

복원 구성 창에서 세부 정보를 구성하여 복원을 구성하는 경우 보조 지역 매개 변수만 제공하라는 메시지가 표시됩니다. 따라서 자격 증명 모음이 이미 보조 지역에 있어야 하며 보조 지역의 자격 증명 모음에 PostgreSQL 서버를 등록해야 합니다. 

다음 단계를 수행합니다.

  1. Backup 인스턴스 이름을 선택하여 세부 정보를 봅니다.

  2. 보조 지역으로 복원을 선택합니다.

    보조 지역으로 복원하는 방법을 보여 주는 스크린샷

  3. 복원 지점, 지역 및 리소스 그룹을 선택합니다.

  4. 복원을 선택합니다.

    참고 항목

    • 데이터 전송 단계에서 복원이 트리거된 후에는 복원 작업을 취소할 수 없습니다.
    • 지역 간 복원 작업을 수행하는 데 필요한 역할/액세스 수준은 구독의 백업 운영자 역할과 원본 및 대상 가상 머신의 기여자(쓰기) 권한입니다. 백업 작업을 보기 위해 구독에서 필요한 최소 권한은 백업 읽기 권한자입니다.
    • 보조 지역에서 사용할 수 있는 백업 데이터의 RPO는 12시간입니다. 따라서 CRR을 켜면 보조 지역의 RPO는 12시간 + 로그 빈도 기간(최소 15분으로 설정할 수 있음)입니다.

보조 지역 복원 작업 모니터링

  1. Azure Portal에서 모니터링 + 보고>백업 작업으로 이동합니다.

  2. 보조 지역의 작업을 보려면 보조 지역에 대한 인스턴스 영역을 필터링합니다.

    보조 지역에서 작업을 보는 방법을 보여 주는 스크린샷

다음 단계

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