Azure Database for PostgreSQL - 유연한 서버의 읽기 복제본에 대한 가상 엔드포인트
적용 대상: Azure Database for PostgreSQL - 유연한 서버
가상 엔드포인트는 읽기-쓰기 및 읽기 전용 수신기 엔드포인트로, Azure Database for PostgreSQL 유연한 서버 인스턴스의 현재 역할에 관계없이 일관성을 유지합니다. 즉, 역할 변경 후 엔드포인트가 자동으로 올바른 인스턴스를 가리키기 때문에 주 서버로 승격 작업을 수행한 후 애플리케이션의 연결 문자열을 업데이트할 필요가 없습니다.
추가, 편집, 제거에 관계없이 가상 엔드포인트와 관련된 모든 작업은 주 서버의 컨텍스트에서 수행됩니다. Azure Portal의 기본 서버 페이지에서 이러한 엔드포인트를 관리합니다. 마찬가지로 CLI, REST API 또는 기타 유틸리티와 같은 도구를 사용하는 경우 명령 및 작업은 엔드포인트 관리를 위해 주 서버를 대상으로 합니다.
가상 엔드포인트는 두 가지 유형의 연결점을 제공합니다.
기록기 엔드포인트(읽기/쓰기): 이 엔드포인트는 항상 현재 주 서버를 가리킵니다. 사용자가 트리거하는 승격 작업에 관계없이 쓰기 작업이 올바른 서버로 전달되도록 합니다. 이 엔드포인트는 복제본을 가리키도록 변경할 수 없습니다.
읽기 전용 엔드포인트: 사용자가 읽기 복제본 또는 주 서버를 가리키도록 이 엔드포인트를 구성할 수 있습니다. 그러나 한 번에 하나의 서버만 대상으로 지정할 수 있습니다. 여러 서버 간의 부하 분산은 지원되지 않습니다. 승격 전후에 관계없이 언제든지 이 엔드포인트에 대한 대상 서버를 조정할 수 있습니다.
참고 항목
주 서버 및 해당 복제본 중 하나당 하나의 쓰기 권한자와 하나의 읽기 전용 엔드포인트만 만들 수 있습니다.
가상 엔드포인트 및 승격 동작
승격 작업이 발생할 경우 이러한 엔드포인트의 동작은 예측 가능한 상태로 유지됩니다. 아래 섹션에서는 이러한 엔드포인트가 주 서버로 승격 및 독립 서버로 승격 시나리오에 어떻게 반응하는지 자세히 설명합니다.
가상 엔드포인트 | 원래 대상 | ‘주 서버로 승격’이 트리거될 때의 동작 | ‘독립 서버로 승격’이 트리거될 때의 동작 |
---|---|---|---|
기록기 엔드포인트 | 기본 항목 | 새로운 주 서버를 가리킵니다. | 변경되지 않고 그대로 유지됩니다. |
읽기 전용 엔드포인트 | 복제본 | 새 복제본(이전 주 복제본)을 가리킵니다. | 주 서버를 가리킵니다. |
읽기 전용 엔드포인트 | 기본 항목 | 지원되지 않습니다. | 변경되지 않고 그대로 유지됩니다. |
‘주 서버로 승격’이 트리거될 때의 동작
- 기록기 엔드포인트: 이 엔드포인트는 역할 스위치를 반영하여 새 주 서버를 가리키도록 업데이트됩니다.
- 읽기 전용 엔드포인트
- 읽기 전용 엔드포인트가 복제본을 가리키는 경우: 승격 작업 후에 읽기 전용 엔드포인트는 새 복제본(이전 주 복제본)을 가리킵니다.
- 읽기 전용 엔드포인트가 주 엔드포인트를 가리키는 경우: 승격이 올바르게 작동하려면 승격하려는 서버에서 읽기 전용 엔드포인트를 가리켜야 합니다. 이 경우 주 복제본을 가리키는 것은 지원되지 않으며 승격하기 전에 복제본을 가리키도록 다시 구성해야 합니다.
‘독립 서버로 승격하고 복제에서 제거’가 트리거되는 경우의 동작
- 기록기 엔드포인트: 이 엔드포인트는 변경되지 않습니다. 주 역할을 보유하여 서버로 트래픽을 계속 전달합니다.
- 읽기 전용 엔드포인트
- 읽기 전용 엔드포인트가 복제본을 가리키는 경우: 읽기 전용 엔드포인트가 승격된 복제본에서 주 서버를 가리키도록 리디렉션됩니다.
- 읽기 전용 엔드포인트가 주 엔드포인트를 가리키는 경우: 읽기 전용 엔드포인트는 변경되지 않고 동일한 서버를 계속 가리킵니다.
PITR(지정 시간 복구) 또는 스냅샷 복원 중 일관된 호스트 이름에 가상 엔드포인트 사용
이 섹션에서는 Azure Database for PostgreSQL - 유연한 서버의 가상 엔드포인트를 사용하여 PITR(지정 시간 복구) 또는 스냅샷 복원 중에 일관된 호스트 이름을 유지하여 애플리케이션 연결 문자열이 변경되지 않도록 하는지 방법을 설명합니다. 아래 단계를 따릅니다.
주 서버에 가상 엔드포인트 추가:
- Azure Portal에서 주 서버 인스턴스로 이동합니다.
- 복제 탭으로 이동하고 가상 엔드포인트에서 가상 엔드포인트 추가를 클릭합니다.
- 일관된 호스트 이름(예:
mydb-virtual-endpoint.postgres.database.azure.com
)으로 가상 엔드포인트를 구성합니다. - 구성을 저장합니다.
- 연결 문자열에서 이 가상 엔드포인트를 사용하도록 애플리케이션을 업데이트합니다.
PITR(지정 시간 복원) 또는 스냅샷 복원 수행:
- 복구 시작:
- 주 서버의 Backups 섹션으로 이동합니다.
- 적절한 복원 옵션(
PITR
또는snapshot
)을 선택하고 원하는 시점을 지정합니다.
- 가상 엔드포인트 업데이트:
- 새 인스턴스가 만들어지면 이전 주 서버 복제 탭으로 다시 이동합니다.
- 원래 주 서버에서 가상 엔드포인트를 제거합니다. 가상 엔드포인트를 제거하려면 이전 주 복제본이
succeeded
상태여야 합니다. - 새로 만든 서버에 동일한 가상 엔드포인트를 추가합니다.
- 복구 시작:
유효성 검사:
- 애플리케이션이 가상 엔드포인트를 사용하여 연결하는지 확인하고 복구 후 데이터베이스 작업을 확인합니다.