Azure Portal에서 복제본에 사용하려는 Azure Database for PostgreSQL 유연한 서버 인스턴스를 선택합니다.
개요 대화 상자에서 PostgreSQL 버전(예: 15.4)을 확인합니다. 또한 주 복제본이 배포된 지역(예: East US)도 확인합니다.
서버 사이드바의 설정 아래에서 컴퓨팅 + 스토리지를 선택합니다.
다음 설정을 검토하고 적어둡니다.
컴퓨팅 계층, 프로세서, 크기(예: Standard_D4ads_v5)
스토리지
스토리지 크기(예: 128GB)
자동 증가
고가용성
사용/사용 안 함
가용성 영역 설정
백업 설정
보존 기간
중복 옵션
설정에서 네트워킹을 선택합니다.
네트워크 설정을 검토합니다.
참고 항목
이 가이드에서 제공하는 명령은 Azure CLI 버전 2.56.0 이상에 적용됩니다. 이러한 명령을 성공적으로 실행하는 데 필요한 버전 또는 이후 버전이 설치되어 있는지 확인합니다. 명령줄 인터페이스에서 az --version을 실행하여 현재 Azure CLI 버전을 확인할 수 있습니다. Azure CLI를 최신 버전으로 업데이트하려면 Azure CLI 설명서에서 제공하는 지침을 따르세요.
Azure PostgreSQL 유연한 서버의 구성 및 현재 상태를 보려면 az postgres flexible-server show 명령을 사용합니다. 이 명령은 지정된 서버에 대한 자세한 정보를 제공합니다.
az postgres flexible-server show \
--resource-group <resource-group> \
--name <server-name>
<resource-group> 및 <server-name>을 특정 리소스 그룹 및 보려는 서버 이름으로 바꿉니다.
Azure Database for PostgreSQL 유연한 서버의 서버 구성에 대한 정보를 가져오려면 특히 스토리지 자동 증가 또는 프라이빗 링크와 같은 최근에 도입된 기능에 대한 설정을 확인하려면 최신 2023-06-01-preview API 버전을 사용해야 합니다. GET 요청은 다음과 같이 형식이 지정됩니다.
{subscriptionId}, {resourceGroupName} 및 {serverName}을 각각 Azure 구독 ID, 리소스 그룹 이름 및 검토하려는 주 서버의 이름으로 바꿉니다. 이 요청을 통해 주 서버의 구성 세부 정보에 액세스하여 읽기 복제본을 만들기 위해 올바르게 설정되도록 할 수 있습니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{replicaserverName}?api-version=2022-12-01
여기서는 {subscriptionId}, {resourceGroupName} 및 {replicaserverName}을 각각 특정 Azure 구독 ID, 리소스 그룹 이름 및 원하는 읽기 복제본 이름으로 바꿔야 합니다.
읽기 복제본을 만든 후에는 서버 API별 복제본 목록을 사용하여 HTTP GET 요청을 시작해 주 복제본의 복제본인 모든 서버의 속성을 가져올 수 있습니다.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{sourceserverName}/replicas?api-version=2022-12-01
여기서는 {subscriptionId}, {resourceGroupName} 및 {sourceserverName}을 각각 특정 Azure 구독 ID, 리소스 그룹 이름 및 주 복제본에 할당한 이름으로 바꿔야 합니다.
복제본을 승격하는 동안 발생하는 문제를 방지하려면 주 복제본에 적용하기 전에 먼저 해당 복제본에서 max_connections, max_prepared_transactions, max_locks_per_transaction, max_wal_senders, max_worker_processes 서버 매개 변수를 지속적으로 변경합니다.
가상 엔드포인트 만들기
참고 항목
추가, 편집 또는 제거와 같은 가상 엔드포인트와 관련된 모든 작업은 주 서버의 컨텍스트에서 실행됩니다.
<resource-group>, <primary-name>, <virtual-endpoint-name> 및 <replica-name>을 특정 값으로 바꿉니다.
Azure의 REST API를 사용하여 가상 엔드포인트를 만들려면 HTTP PUT 요청을 사용합니다. 요청은 다음과 같습니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{sourceserverName}/virtualendpoints/{virtualendpointName}?api-version=2023-06-01-preview
페이지 위쪽에 판독기 및 기록기 엔드포인트와 이러한 엔드포인트에서 가리키는 서버의 이름이 모두 표시됩니다.
가상 엔드포인트의 세부 정보는 list 또는 show 명령을 사용하여 볼 수 있습니다. 주 복제본 쌍당 하나의 가상 엔드포인트만 허용되는 경우 두 명령 모두에서 동일한 결과를 생성합니다.
list 명령을 사용하는 방법의 예제는 다음과 같습니다.
az postgres flexible-server virtual-endpoint list \
--resource-group <resource-group> \
--server-name <server-name>
<server-name>을 주 서버 이름으로 바꾸고, <resource-group>을 리소스 그룹 이름으로 바꿉니다.
show 명령을 사용하는 방법은 다음과 같습니다.
az postgres flexible-server virtual-endpoint show \
--name <virtual-endpoint-name>
--resource-group <resource-group> \
--server-name <server-name>
이 명령에서 <virtual-endpoint-name>, <server-name> 및 <resource-group>을 해당 이름으로 바꿉니다. <server-name>은 주 서버의 이름입니다.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{sourceserverName}/virtualendpoints?api-version=2023-06-01-preview
여기서 {sourceserverName}은 가상 엔드포인트를 관리하는 주 서버의 이름이어야 합니다.
가상 엔드포인트를 가리키도록 애플리케이션 수정
새 가상 엔드포인트(예: corp-pg-001.writer.postgres.database.azure.com 및 corp-pg-001.reader.postgres.database.azure.com)를 사용하도록 Azure Database for PostgreSQL 유연한 서버 인스턴스를 사용하는 모든 애플리케이션을 수정합니다.
Azure Portal에서 주 Azure Database for PostgreSQL 유연한 서버 인스턴스를 선택합니다.
서버 메뉴의 설정 아래에서 복제를 선택합니다.
서버 아래에서 복제본에 대한 승격 아이콘을 선택합니다.
대화 상자에서 작업이 주 서버로 승격인지 확인합니다.
데이터 동기화에 대해 계획됨 - 승격 전 데이터 동기화가 선택되어 있는지 확인합니다.
승격을 선택하여 프로세서를 시작합니다. 완료되면 역할이 반대로 바뀌어 복제본이 주 복제본이 되고 주 복제본이 복제본의 역할을 맡습니다.
복제본을 Azure PostgreSQL 유연한 서버의 주 서버로 승격하는 경우 az postgres flexible-server replica promote 명령을 사용합니다. 이 프로세스는 복제본 서버를 주 서버로 작동하도록 승격하고 현재 주 서버를 복제본 역할로 강등하는 데 필수적입니다. 명령에서 --promote-mode switchover 및 --promote-option planned를 지정합니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{replicaserverName}?api-version=2022-12-01
주 서버 및 다른 복제본과 구분할 수 있도록 {replicaserverName}에 대한 고유한 이름을 선택합니다.
Azure Portal에서 Azure Database for PostgreSQL 유연한 서버 주 서버를 선택합니다.
서버 사이드바에 있는 서버 메뉴의 설정 아래에서 복제를 선택합니다.
서버 아래에서 독립 서버로 승격하려는 복제본에 대한 승격 아이콘을 선택합니다.
대화 상자에서 작업이 독립 서버로 승격하고 복제에서 제거합니다. 이 작업은 주 서버에 영향을 주지 않습니다인지 확인합니다.
데이터 동기화에 대해 계획됨 - 승격 전 데이터 동기화가 선택되어 있는지 확인합니다.
승격을 선택합니다. 그러면 프로세스가 시작됩니다. 완료되면 서버는 더 이상 주 서버의 복제본이 아닙니다.
Azure PostgreSQL 유연한 서버에서 복제본을 승격하는 경우 기본 동작은 복제본을 독립 서버로 승격하는 것입니다. 프로모션은 standalone 모드가 기본적으로 가정되므로 이 작업은 --promote-mode 옵션을 지정하지 않고 az postgres flexible-server replica promote 명령을 사용하여 수행됩니다.
이 명령에서 <resource-group> 및 <replica-server-name>을 특정 리소스 그룹 이름과 만든 첫 번째 복제본 서버의 이름(더 이상 가상 엔드포인트의 일부가 아님)으로 바꿉니다.
복제본은 PATCH 요청을 사용하여 독립 실행형 서버로 승격할 수 있습니다. 첫 번째 JSON 본문을 사용하여 PATCH 요청을 지정된 Azure 관리 REST API URL에 보냅니다. 여기서 PromoteMode는 standalone으로 설정되고, PromoteOption는 planned로 설정됩니다. ReplicationRole을 None으로 설정하는 두 번째 JSON 본문 형식은 더 이상 사용되지 않지만 이전 버전과의 호환성을 위해 여기서 계속 언급됩니다.
페이지 위쪽에서 Virtual endpoints 섹션을 찾습니다. 엔드포인트 이름 옆에 있는 3점(메뉴 옵션)으로 이동하여 확장하고, Delete를 선택합니다.
삭제 확인 대화 상자가 표시됩니다. "이 작업은 가상 엔드포인트 virtualendpointName을(를) 삭제합니다. 이러한 도메인을 사용하여 연결된 모든 클라이언트는 액세스 권한을 잃을 수 있습니다."라는 경고가 표시됩니다. 함축된 의미를 인정하고, 삭제를 클릭하여 확인합니다.
최대 물리적 복제 지연 메트릭은 주 서버와 가장 오래 지연되는 복제본 간의 바이트 지연을 보여줍니다.
Azure Portal에서 주 서버를 선택합니다.
메트릭을 선택합니다. 메트릭 창에서 최대 물리적 복제 지연을 선택합니다.
집계에 대해 최대를 선택합니다.
읽기 복제본 지연 메트릭
읽기 복제본 지연 메트릭은 복제본에서 마지막으로 재생된 트랜잭션 이후의 시간을 보여 줍니다. 주 서버에서 트랜잭션이 발생하지 않으면 이 지연 시간이 메트릭에 반영됩니다. 예를 들어 주 서버에서 트랜잭션이 발생하지 않고 마지막 트랜잭션이 5초 전에 재생된 경우 읽기 복제본 지연에 5초 지연 시간이 표시됩니다.