Azure Backup 및 Azure 데이터베이스 서비스는 최대 10년 동안 백업을 유지하는 Azure Database for PostgreSQL 서버에 대한 엔터프라이즈급 백업 솔루션을 빌드하기 위해 함께 모입니다. 이 솔루션은 장기 보존 외에도 다음과 같은 기능을 제공합니다.
- 개별 데이터베이스 수준에서 고객이 제어하는 예약 및 온디맨드 백업.
- 데이터베이스 수준의 복원은 모든 Azure Database for PostgreSQL 서버 또는 모든 유형의 Blob 스토리지로 수행됩니다.
- 모든 운영 및 작업에 대한 중앙 모니터링.
- 백업은 별도의 보안 및 장애 도메인에 저장합니다. 원본 서버 또는 구독이 침해된 경우 백업은 Azure Backup 관리 스토리지 계정의 Azure Backup 보관소에 안전하게 유지됩니다.
-
pg_dump
을(를) 사용하여 복원을 더욱 유연하게 할 수 있습니다. 데이터베이스 버전 간에 복원할 수 있습니다.
최대 35일 동안 보존을 제공하는 Azure PostgreSQL의 네이티브 백업 솔루션 외에도 이 솔루션을 독립적으로 사용할 수 있습니다. 네이티브 솔루션은 최신 백업에서 복구하려는 경우와 같은 작업 복구에 적합합니다. Azure Backup 솔루션은 규정 준수 요구 사항을 충족하는 데 도움이 되며 보다 세분화되고 유연한 백업/복원 기능을 제공합니다.
PostgreSQL 단일 서버에 대한 보관된 백업 변경 내용
Azure Database for PostgreSQL에 대한 단일 서버 배포 옵션은 2025년 3월 28일에 사용 중지되었습니다. 해당 날짜에 Azure Backup for PostgreSQL 단일 서버에 대한 변경 내용이 구현되었습니다. 퇴직에 대해 자세히 알아보세요.
Azure Backup은 금고 백업과 복원 지점의 장기 보존을 포함하여 규정 준수 및 복원력 솔루션을 제공합니다. 2025년 3월 28일에 다음과 같은 변경 내용이 적용되었습니다.
- 새 PostgreSQL 단일 서버 워크로드에는 백업 구성이 허용되지 않습니다.
- 예약된 모든 백업 작업은 영구적으로 중단됩니다.
- 새 백업 정책을 만들거나 이 워크로드에 대한 기존 백업 정책을 수정할 수 없습니다.
사용 중지 날짜에 PostgreSQL 단일 서버 데이터베이스에 대한 예약된 백업 작업이 영구적으로 중지되었습니다. 새 복원 지점을 만들 수 없습니다.
그러나 기존 PostgreSQL 단일 서버 데이터베이스 백업은 백업 정책에 따라 유지됩니다. 복원 지점은 보존 기간이 만료된 후에만 삭제됩니다. 복원 지점을 무기한 보존하거나 보존 기간이 만료되기 전에 삭제하려면 Azure Business Continuity Center 콘솔을 참조하세요.
청구 변경 내용
2025년 3월 31일부터 PostgreSQL 단일 서버 데이터베이스를 보호하기 위한 PI(Protected Instance) 요금이 더 이상 청구되지 않습니다. 그러나 백업 저장 비용은 여전히 적용됩니다. 스토리지 비용을 방지하려면 Azure 비즈니스 연속성 센터에서 모든 복원 지점을 삭제합니다.
참고
Azure Backup은 보존 기간이 만료된 후에도 마지막 복원 지점을 유지합니다. 이 기능을 사용하면 나중에 사용할 수 있도록 마지막 복원 지점에 액세스할 수 있습니다. 마지막 복원 지점만 수동으로 삭제할 수 있습니다. 마지막 복원 지점을 삭제하고 스토리지 비용을 방지하려면 데이터베이스 보호를 중지합니다.
복원 변경 내용
‘파일로 복원’ 기능을 사용하여 PostgreSQL 단일 서버 데이터베이스를 복원할 수 있습니다. 그런 다음 복원된 파일에서 새 PostgreSQL 유연한 서버를 수동으로 만들어야 합니다.
참고
데이터베이스로 복원 옵션은 2025년 3월 28일부터 지원되지 않지만 파일로 복원은 계속 지원됩니다.
백업 프로세스
백업 관리자는 백업하려는 PostgreSQL 데이터베이스를 지정할 수 있습니다. 지정된 데이터베이스에 연결하는 데 필요한 자격 증명을 저장하는 Azure Key Vault의 세부 정보를 지정할 수도 있습니다. 데이터베이스 관리자는 Key Vault에서 이러한 자격 증명을 안전하게 시드합니다.
Azure Backup 서비스는 지정된 Azure Database for PostgreSQL 서버로 인증하고 해당 데이터베이스를 백업할 수 있는 적절한 권한이 있음을 확인합니다.
Azure Backup은 백업 확장이 설치된 작업자 역할(가상 머신)을 스핀업하여 보호된 Azure Database for PostgreSQL 서버와 통신합니다. 이 확장은 코디네이터와 PostgreSQL 플러그 인으로 구성됩니다. 코디네이터는 백업 및 복원과 같은 다양한 작업에 대한 워크플로를 트리거합니다. 플러그 인은 실제 데이터 흐름을 관리합니다.
예약된 시간에 코디네이터는 (사용자 지정)을 사용하여
pg_dump
Azure Database for PostgreSQL 서버에서 백업 데이터 스트리밍을 시작하도록 플러그 인에 지시합니다.플러그 인은 데이터를 Azure Backup 관리 스토리지 계정(Azure Backup 자격 증명 모음으로 마스킹)으로 직접 전송하므로 준비 위치가 필요하지 않습니다. 데이터는 Microsoft 관리형 키를 통해 암호화됩니다. Azure Backup 서비스는 스토리지 계정에 데이터를 저장합니다.
Azure Database for PostgreSQL 서버를 사용한 Azure Backup 인증
Azure Backup은 Azure의 엄격한 보안 지침을 따릅니다. 백업할 리소스에 대한 사용 권한은 가정되지 않습니다. 사용자는 명시적으로 해당 권한을 부여해야 합니다.
Key Vault 기반 인증 모델
Azure Backup 서비스는 각 백업을 수행하는 동안 Azure Database for PostgreSQL 서버에 연결해야 합니다. 데이터베이스에 해당하는 사용자 이름 및 암호(또는 연결 문자열)가 이 연결을 만드는 데 사용되지만 이러한 자격 증명은 Azure Backup과 함께 저장되지 않습니다. 대신 데이터베이스 관리자는 Azure Key Vault에서 이러한 자격 증명을 비밀로 안전하게 시드해야 합니다.
워크로드 관리자는 자격 증명 관리 및 회전을 담당합니다. Azure Backup은 키 자격 증명 모음에서 가장 최근의 비밀 세부 정보를 호출하여 백업을 수행합니다.
PostgreSQL 데이터베이스 백업에 필요한 권한
Azure Backup 자격 증명 모음의 관리 ID에 다음 액세스 권한을 부여합니다.
- Azure Database for PostgreSQL 서버에 대한 읽기 권한자 액세스 권한입니다.
- Key Vault 비밀 사용자의 Key Vault에 대한 액세스(비밀에 대한 가져오기 및 목록보기 권한).
네트워크 가시성 액세스를 설정하려면 다음을 수행합니다.
- Azure Database for PostgreSQL 서버: Azure 서비스에 대한 액세스 허용을예로 설정합니다.
- Key Vault: 신뢰할 수 있는 Microsoft 서비스 허용을예로 설정합니다.
데이터베이스에 대한 데이터베이스 사용자의 백업 권한을 설정합니다.
참고
백업 관리자로서 의도한 리소스에 대한 쓰기 권한이 있는 경우 한 번의 클릭으로 구성 백업 흐름 내에서 이러한 권한을 부여할 수 있습니다. 필요한 권한이 없는 경우(여러 가상 사용자가 관련된 경우) Azure Resource Manager 템플릿을 사용합니다.
PostgreSQL 데이터베이스 복원에 필요한 권한
복원 권한은 백업에 필요한 권한과 유사합니다. 대상 Azure Database for PostgreSQL 서버 및 해당 키 자격 증명 모음에 대한 권한을 수동으로 부여해야 합니다. 구성 백업 흐름과 달리 이러한 권한을 인라인으로 부여하는 환경은 현재 사용할 수 없습니다.
데이터베이스 사용자(키 자격 증명 모음에 저장된 자격 증명에 해당)에 데이터베이스에 대해 다음과 같은 복원 권한이 있는지 확인합니다.
-
ALTER USER
사용자 이름을CREATEDB
에 할당합니다. - 데이터베이스 사용자에게 역할을
azure_pg_admin
할당합니다.
Microsoft Entra ID 기반 인증 모델
이전 인증 모델은 전적으로 Microsoft Entra ID를 기반으로 했습니다. 앞에서 설명한 대로 Key Vault 기반 인증 모델을 구성 프로세스를 용이하게 하는 대체 옵션으로 사용할 수 있습니다.
Microsoft Entra ID 기반 인증 모델을 사용하는 자동화된 스크립트 및 관련 지침을 가져오려면 이 문서를 다운로드합니다. 백업 및 복원을 위해 Azure Database for PostgreSQL 서버에 적절한 사용 권한 집합을 부여합니다.
참고
새로 구성된 모든 보호는 새 Key Vault 인증 모델에서만 발생합니다. 그러나 Microsoft Entra ID 기반 인증을 통해 구성된 보호가 있는 모든 기존 백업 인스턴스는 계속 존재하며 정기적인 백업을 수행합니다. 이러한 백업을 복원하려면 Microsoft Entra ID 기반 인증을 따라야 합니다.
Azure Database for PostgreSQL 서버와 Key Vault에서 수동으로 액세스 권한을 부여하는 단계
Azure Backup에 필요한 모든 액세스 권한을 부여하려면 다음 단계를 사용합니다.
Azure Database for PostgreSQL 서버에 대한 액세스 권한
Azure Database for PostgreSQL 서버에서 관리 ID를 위한 Azure Backup 볼트의 읽기 접근 권한을 설정하십시오.
Azure 서비스에 대한 액세스 허용을 예로 설정하여 Azure Database for PostgreSQL 서버에서 네트워크 가시권 액세스를 설정합니다.
키 볼트에 대한 액세스 권한
키 자격 증명 모음의 관리 ID에 대한 Azure Backup 자격 증명 모음의 Key Vault 비밀 사용자 액세스를 설정합니다(비밀에 대한 Get 및 List 권한). 권한을 할당하기 위해 역할 할당 또는 액세스 정책을 사용할 수 있습니다. 두 옵션을 모두 사용하여 권한을 추가할 필요가 없습니다. 이는 도움이 되지 않기 때문입니다.
Azure RBAC(Azure 역할 기반 액세스 제어) 권한 부여를 사용하려면 다음을 수행합니다.
액세스 정책에서 권한 모델을Azure 역할 기반 액세스 제어로 설정합니다.
액세스 제어(IAM)에서 키 자격 증명 모음의 관리 ID에 대한 Azure Backup 자격 증명 모음의 Key Vault 비밀 사용자 액세스 권한을 부여합니다. 그 역할을 맡은 사람은 비밀을 읽을 수 있습니다.
자세한 내용은 Azure 역할 기반 액세스 제어를 사용하여 Key Vault 키, 인증서 및 비밀에 대한 액세스 제공을 참조하세요.
액세스 정책을 사용하려면 다음을 수행합니다.
- 액세스 정책에서 권한 모델을 자격 증명 모음 액세스 정책으로 설정합니다.
- 비밀에 대한 가져오기 및 나열 권한을 설정합니다.
자세한 내용은 Key Vault 액세스 정책 할당(레거시)을 참조하세요.
신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 우회하도록 허용 을 설정하여 키 자격 증명 모음에 대한 네트워크 가시권 액세스를 예로 설정합니다.
데이터베이스에 대한 데이터베이스 사용자의 백업 권한
pgAdmin 도구에서 다음 쿼리를 실행합니다. 데이터베이스 사용자 ID로 바꿉니다 username
.
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$
참고
이미 백업을 구성한 데이터베이스가 실패 UserErrorMissingDBPermissions
하는 경우 문제 해결에 도움이 필요하면 이 문제 해결 가이드 를 참조하세요.
pgAdmin 도구 사용
아직 없는 경우 pgAdmin 도구를 다운로드합니다. 이 도구를 통해 Azure Database for PostgreSQL 서버에 연결할 수 있습니다. 또한 데이터베이스 및 새 사용자를 이 서버에 추가할 수 있습니다.
원하는 이름으로 새 서버를 만듭니다. 호스트 이름/주소를 입력합니다. Azure Portal의 Azure PostgreSQL 리소스 보기에 표시되는 서버 이름 값과 동일합니다.
연결을 통과하기 위해 현재 클라이언트 ID 주소를 방화벽 규칙에 추가해야 합니다.
새 데이터베이스 및 데이터베이스 사용자를 서버에 추가할 수 있습니다. 데이터베이스 사용자의 경우 로그인/그룹 역할을 선택하여 역할을 추가합니다. 로그인할 수 있나요?예로 설정되어 있는지 확인합니다.