다음을 통해 공유


Azure Database for PostgreSQL - 유연한 서버의 읽기 복제본에 대한 가상 엔드포인트

적용 대상: Azure Database for PostgreSQL - 유연한 서버

가상 엔드포인트는 읽기-쓰기 및 읽기 전용 수신기 엔드포인트로, Azure Database for PostgreSQL 유연한 서버 인스턴스의 현재 역할에 관계없이 일관성을 유지합니다. 즉, 역할 변경 후 엔드포인트가 자동으로 올바른 인스턴스를 가리키기 때문에 주 서버로 승격 작업을 수행한 후 애플리케이션의 연결 문자열을 업데이트할 필요가 없습니다.

추가, 편집, 제거에 관계없이 가상 엔드포인트와 관련된 모든 작업은 주 서버의 컨텍스트에서 수행됩니다. Azure Portal의 기본 서버 페이지에서 이러한 엔드포인트를 관리합니다. 마찬가지로 CLI, REST API 또는 기타 유틸리티와 같은 도구를 사용하는 경우 명령 및 작업은 엔드포인트 관리를 위해 주 서버를 대상으로 합니다.

가상 엔드포인트는 두 가지 유형의 연결점을 제공합니다.

기록기 엔드포인트(읽기/쓰기): 이 엔드포인트는 항상 현재 주 서버를 가리킵니다. 사용자가 트리거하는 승격 작업에 관계없이 쓰기 작업이 올바른 서버로 전달되도록 합니다. 이 엔드포인트는 복제본을 가리키도록 변경할 수 없습니다.

읽기 전용 엔드포인트: 사용자가 읽기 복제본 또는 주 서버를 가리키도록 이 엔드포인트를 구성할 수 있습니다. 그러나 한 번에 하나의 서버만 대상으로 지정할 수 있습니다. 여러 서버 간의 부하 분산은 지원되지 않습니다. 승격 전후에 관계없이 언제든지 이 엔드포인트에 대한 대상 서버를 조정할 수 있습니다.

참고 항목

주 서버 및 해당 복제본 중 하나당 하나의 쓰기 권한자와 하나의 읽기 전용 엔드포인트만 만들 수 있습니다.

가상 엔드포인트 및 승격 동작

승격 작업이 발생할 경우 이러한 엔드포인트의 동작은 예측 가능한 상태로 유지됩니다. 아래 섹션에서는 이러한 엔드포인트가 주 서버로 승격독립 서버로 승격 시나리오에 어떻게 반응하는지 자세히 설명합니다.

가상 엔드포인트 원래 대상 ‘주 서버로 승격’이 트리거될 때의 동작 ‘독립 서버로 승격’이 트리거될 때의 동작
기록기 엔드포인트 기본 항목 새로운 주 서버를 가리킵니다. 변경되지 않고 그대로 유지됩니다.
읽기 전용 엔드포인트 복제본 새 복제본(이전 주 복제본)을 가리킵니다. 주 서버를 가리킵니다.
읽기 전용 엔드포인트 기본 항목 지원되지 않습니다. 변경되지 않고 그대로 유지됩니다.

‘주 서버로 승격’이 트리거될 때의 동작

  • 기록기 엔드포인트: 이 엔드포인트는 역할 스위치를 반영하여 새 주 서버를 가리키도록 업데이트됩니다.
  • 읽기 전용 엔드포인트
    • 읽기 전용 엔드포인트가 복제본을 가리키는 경우: 승격 작업 후에 읽기 전용 엔드포인트는 새 복제본(이전 주 복제본)을 가리킵니다.
    • 읽기 전용 엔드포인트가 주 엔드포인트를 가리키는 경우: 승격이 올바르게 작동하려면 승격하려는 서버에서 읽기 전용 엔드포인트를 가리켜야 합니다. 이 경우 주 복제본을 가리키는 것은 지원되지 않으며 승격하기 전에 복제본을 가리키도록 다시 구성해야 합니다.

‘독립 서버로 승격하고 복제에서 제거’가 트리거되는 경우의 동작

  • 기록기 엔드포인트: 이 엔드포인트는 변경되지 않습니다. 주 역할을 보유하여 서버로 트래픽을 계속 전달합니다.
  • 읽기 전용 엔드포인트
    • 읽기 전용 엔드포인트가 복제본을 가리키는 경우: 읽기 전용 엔드포인트가 승격된 복제본에서 주 서버를 가리키도록 리디렉션됩니다.
    • 읽기 전용 엔드포인트가 주 엔드포인트를 가리키는 경우: 읽기 전용 엔드포인트는 변경되지 않고 동일한 서버를 계속 가리킵니다.

PITR(지정 시간 복구) 또는 스냅샷 복원 중 일관된 호스트 이름에 가상 엔드포인트 사용

이 섹션에서는 Azure Database for PostgreSQL - 유연한 서버의 가상 엔드포인트를 사용하여 PITR(지정 시간 복구) 또는 스냅샷 복원 중에 일관된 호스트 이름을 유지하여 애플리케이션 연결 문자열이 변경되지 않도록 하는지 방법을 설명합니다. 아래 단계를 따릅니다.

  1. 주 서버에 가상 엔드포인트 추가:

    • Azure Portal에서 주 서버 인스턴스로 이동합니다.
    • 복제 탭으로 이동하고 가상 엔드포인트에서 가상 엔드포인트 추가를 클릭합니다.
    • 일관된 호스트 이름(예: mydb-virtual-endpoint.postgres.database.azure.com)으로 가상 엔드포인트를 구성합니다.
    • 구성을 저장합니다.
    • 연결 문자열에서 이 가상 엔드포인트를 사용하도록 애플리케이션을 업데이트합니다.
  2. PITR(지정 시간 복원) 또는 스냅샷 복원 수행:

    • 복구 시작:
      • 주 서버의 Backups 섹션으로 이동합니다.
      • 적절한 복원 옵션(PITR 또는 snapshot)을 선택하고 원하는 시점을 지정합니다.
    • 가상 엔드포인트 업데이트:
      • 새 인스턴스가 만들어지면 이전 주 서버 복제 탭으로 다시 이동합니다.
      • 원래 주 서버에서 가상 엔드포인트를 제거합니다. 가상 엔드포인트를 제거하려면 이전 주 복제본이 succeeded 상태여야 합니다.
      • 새로 만든 서버에 동일한 가상 엔드포인트를 추가합니다.
  3. 유효성 검사:

    • 애플리케이션이 가상 엔드포인트를 사용하여 연결하는지 확인하고 복구 후 데이터베이스 작업을 확인합니다.