이 문서에서는 Azure Portal을 사용하여 백업한 Azure Database for PostgreSQL 서버로 데이터베이스를 복원하는 방법을 설명합니다. Azure PowerShell, Azure CLI 및 REST API를 사용하여 PostgreSQL 데이터베이스를 복원할 수도 있습니다.
데이터베이스는 대상 서버에 대한 적절한 권한 집합이 서비스에 부여된 경우, 동일한 구독 내 또는 다른 구독의 Azure Database for PostgreSQL 서버로 복원할 수 있습니다. 단, 복원 대상 서버는 동일한 지역 내의 저장소에 속해야 합니다.
PostgreSQL 데이터베이스 복원
Azure Portal에서 백업 저장소>백업 인스턴스로 이동합니다. 데이터베이스를 선택한 다음 복원을 선택합니다.
또는 복원력에서 이 페이지로 이동하면 됩니다.
복원 지점 선택 탭의 선택한 백업 인스턴스에 사용할 수 있는 모든 전체 백업 목록에서 복구 지점을 선택합니다. 기본적으로 최신 복구 지점이 선택됩니다.
복원 지점이 보관 계층에 있는 경우 복원하기 전에 복구 지점을 리하이드레이션해야 합니다. 재수화에 필요한 다음 추가 매개변수를 제공하세요.
- 리하일레이션 우선 순위: 기본값은 표준입니다.
- 재수화 기간: 최대 재수화 기간은 30일이며, 최소 재수화 기간은 10일입니다. 기본값은 15일입니다. 복구 지점은 이 기간 동안 백업 데이터 저장소에 저장됩니다.
참고
Azure Database for PostgreSQL에 대한 보관 지원은 제한된 미리 보기로 제공됩니다.
복원 매개 변수 탭에서 다음 복원 유형 중 하나를 선택합니다.
데이터베이스로 복원: 대상 서버는 원본 서버와 동일할 수 있습니다. 그러나 원래 데이터베이스를 덮어쓰는 것은 지원되지 않습니다. 모든 구독의 서버 중에서 선택할 수 있지만, 해당 볼트와 동일한 지역 내의 서버여야 합니다.
대상 서버 인증에 사용할 키 볼트를 선택하세요에서 대상 서버 연결 자격 증명이 저장된 볼트를 선택하세요.
검토 및 복원을 선택하여 서비스에 대상 서버에 대한 복원 권한이 있는지 확인하는 유효성 검사를 트리거합니다. 이러한 사용 권한은 수동으로 부여해야 합니다.
중요합니다
키 자격 증명 모음을 통해 자격 증명을 선택한 데이터베이스 사용자에게는 복원된 데이터베이스에 대한 모든 권한이 있습니다. 기존 데이터베이스 사용자 경계가 재정의됩니다.
백업된 데이터베이스에 사용자별 사용 권한 또는 제약 조건이 있는 경우(예: 한 데이터베이스 사용자가 몇 개의 테이블에 액세스할 수 있고 다른 데이터베이스 사용자가 몇 개의 다른 테이블에 액세스할 수 있는 경우) 복원 후에는 이러한 권한이 유지되지 않습니다. 이러한 사용 권한을 유지하려면 파일로 복원을 사용하고 관련 스위치와
pg_restore함께 명령을 사용합니다.파일로 복원: 저장소 계정은 모든 구독에서 선택할 수 있지만, 해당 저장소와 동일한 지역에 위치해야 합니다.
- 대상 컨테이너 드롭다운 목록에서 선택한 스토리지 계정에 대해 필터링된 컨테이너 중 하나를 선택합니다.
- 검토 + 복원을 선택하여 백업 서비스에 대상 스토리지 계정에 대한 복원 권한이 있는지 확인하는 유효성 검사를 트리거합니다.
복원 작업을 제출한 다음 백업 작업 창에서 트리거된 작업을 추적합니다.
대상 스토리지 계정의 복원 사용 권한
백업 자격 증명 모음의 관리 ID 권한을 할당하여 스토리지 계정 컨테이너에 액세스하려면 다음 단계를 수행합니다.
Azure Portal에서 스토리지 계정>액세스 제어(IAM)로 이동한 다음 추가를 선택합니다.
역할 할당 추가 창의 역할 드롭다운 목록에서 백업 볼트의 관리 ID에 대한 저장소 블롭 데이터 기여자 역할을 선택합니다.
또는 Azure CLI az role assignment create 명령을 사용하여 복원하려는 특정 컨테이너에 대해 세분화된 권한을 부여합니다.
az role assignment create --assignee $VaultMSI_AppId --role "Storage Blob Data Contributor" --scope $id
assignee 매개변수의 값을 볼트의 관리형 ID의 애플리케이션 ID로 대체하세요. 매개 변수 값은 scope 특정 컨테이너를 참조하세요. 볼트의 관리형 ID에 대한 애플리케이션 ID를 확인하려면 애플리케이션 유형 아래에서 모든 애플리케이션을 선택하세요. 볼트 이름을 검색하고 애플리케이션 ID 값을 복사하세요.
지역 간 데이터베이스 복원
지역 간 복원 옵션을 사용하여 Azure와 쌍을 이루는 보조 지역에서 Azure Database for PostgreSQL 서버를 복원할 수 있습니다.
지역 간 복원 사용을 시작하기 전에 이러한 중요한 고려 사항을 읽어 보세요. 기능이 사용하도록 설정되어 있는지 확인하려면 지역 간 복원 구성을 참조하세요.
보조 지역의 백업 인스턴스 보기
지역 간 복원을 사용하는 경우 보조 지역의 백업 인스턴스를 볼 수 있습니다.
Azure Portal에서 Backup Vault>Backup 인스턴스로 이동합니다.
필터를 인스턴스 지역 == 보조 지역으로 선택하세요.
참고
지역 간 복원 기능을 지원하는 백업 관리 유형만 나열됩니다. 현재 Azure Database for PostgreSQL 서버에서는 주 지역 데이터를 보조 지역으로 복원하는 것만 지원됩니다.
보조 지역에서 복원
보조 지역에서 복원하는 환경은 주 지역에서 복원하는 환경과 비슷합니다.
복원 구성 창에서 복원을 구성하도록 세부 정보를 구성하는 경우 보조 지역 매개 변수만 제공하라는 메시지가 표시됩니다. 볼트는 이미 보조 지역에 존재해야 하며, Azure Database for PostgreSQL 서버는 보조 지역의 볼트에 등록되어야 합니다.
다음 단계를 수행하세요.
참고
- 데이터 전송 단계에서 복원이 시작된 후에는 복원 작업을 취소할 수 없습니다.
- 지역 간 복원 작업을 수행하는 데 필요한 역할/액세스 수준은 구독의 Backup 운영자 역할이며 원본 및 대상 가상 머신에 대한 기여자(쓰기) 액세스입니다. 백업 작업을 보려면, 백업 리더 권한이 구독에서 최소한으로 필요합니다.
- 보조 지역에서 사용할 수 있는 백업 데이터에 대한 RPO(복구 지점 목표)는 12시간입니다. Cross Region Restore를 활성화하면 보조 지역의 RPO는 12시간 + 로그 생성 주기 기간입니다. 로그 빈도 기간은 최소 15분으로 설정할 수 있습니다.
보조 지역의 복원 작업 모니터링
Azure Portal에서 모니터링 + 백업 작업 보고>로 이동합니다.
인스턴스 지역을 보조 지역으로 필터링하여 보조 지역의 작업을 봅니다.