다음을 통해 공유


Azure Database for PostgreSQL 유연한 서버에서 리소스 스케일링

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

Azure Database for PostgreSQL 유연한 서버는 수직 및 수평 스케일링 옵션을 모두 지원합니다.

수직 스케일링: 인스턴스 할당 CPU 수와 메모리를 늘리는 등 Azure Database for PostgreSQL 유연한 서버 인스턴스에 더 많은 리소스를 추가하여 수직으로 스케일링할 수 있습니다. 인스턴스의 네트워크 처리량은 CPU 및 메모리에 대해 선택한 값에 따라 달라집니다.

Azure Database for PostgreSQL 유연한 서버 인스턴스를 만든 후 독립적으로 다음을 변경할 수 있습니다.

  • CPU(vCore)
  • 스토리지 양
  • 백업 보존 기간

vCore 수는 스케일 업 또는 다운할 수 있지만 스토리지 크기는 늘릴 수만 있습니다. 백업 보존 기간을 7일에서 35일로 스케일 업 또는 다운할 수도 있습니다. 리소스는 Azure Portal 또는 Azure CLI와 같은 여러 도구를 사용하여 스케일링할 수 있습니다.

참고 항목

스토리지 크기를 늘리면 더 작은 스토리지 크기로 돌아갈 수 없습니다.

수평 스케일링: 읽기 복제본을 만들어 수평으로 스케일링할 수 있습니다. 읽기 복제본을 사용하면 읽기 워크로드를 별도의 Azure Database for PostgreSQL 유연한 서버 인스턴스로 스케일링할 수 있습니다. 주 인스턴스의 성능 및 가용성에는 영향을 주지 않습니다.

VCore 수 또는 컴퓨팅 계층을 변경하면 새 서버 유형을 적용하기 위해 인스턴스가 다시 시작됩니다. 이 시간 동안 시스템은 새 서버 유형으로 전환됩니다. 새 연결을 설정할 수 없으며, 커밋되지 않은 모든 트랜잭션이 롤백됩니다.

서버를 다시 시작하는 데 걸리는 전체 시간은 다시 시작할 때 크래시 복구 프로세스 및 데이터베이스 작업에 따라 달라집니다. 다시 시작에는 일반적으로 1분 이하가 걸리지만 몇 분 정도 걸릴 수 있습니다. 시간은 다시 시작 시 트랜잭션 작업에 따라 달라집니다.

애플리케이션이 컴퓨팅 스케일링 중에 발생할 수 있는 진행 중인 트랜잭션 손실에 민감한 경우 트랜잭션 다시 시도 패턴을 구현하는 것이 좋습니다.

스토리지를 스케일링해도 대부분의 경우 서버를 다시 시작할 필요가 없습니다. 마찬가지로 백업 보존 기간을 변경하는 작업은 온라인 작업입니다. 다시 시작 시간을 개선하려면 사용량이 많지 않은 시간 동안 스케일링 작업을 수행하는 것이 좋습니다. 이렇게 하면 데이터베이스 서버를 다시 시작하는 데 필요한 시간이 줄어듭니다.

NZDT

거의 0에 가까운 가동 중지 시간 스케일링은 스토리지 및 컴퓨팅 계층을 수정할 때 가동 중지 시간을 최소화하도록 설계된 기능입니다. vCore 수를 수정하거나 컴퓨팅 계층을 변경하면 서버가 새 구성을 적용하기 위해 다시 시작됩니다. 이렇게 새 서버로 전환하는 중에는 새로운 연결을 설정할 수 없습니다.

일반적으로 이 프로세스는 정기적인 스케일링을 통해 2~10분 정도 걸릴 수 있습니다. 0에 가까운 새 가동 중지 시간 스케일링 기능을 사용하면 이 기간이 30초 미만으로 줄어듭니다. 리소스 스케일링 동안 가동 중지 시간이 감소하면 데이터베이스 인스턴스의 전체 가용성이 향상됩니다.

작동 방식

스케일링 시나리오에서 Azure Database for PostgreSQL 유연한 서버 인스턴스를 업데이트할 때 업데이트된 구성을 사용하여 서버(VM)의 새 복사본을 만듭니다. 현재 복사본과 동기화하고 30초 중단으로 새 복사본으로 전환합니다. 그런 다음 이전 서버를 사용 중지합니다. 이 프로세스는 모두 추가 비용 없이 발생합니다.

이 프로세스를 통해 가동 중지 시간을 최소화하고 비용 효율성을 보장하면서 원활한 업데이트를 수행할 수 있습니다. 이 스케일링 프로세스는 스토리지 및 컴퓨팅 계층을 변경할 때 트리거됩니다. 이 기능은 비 HA 서버에서만 사용할 수 있으며 모든 Azure 지역에서 사용하도록 설정됩니다. 이 기능을 사용하기 위해 고객 조치가 필요하지 않습니다.

읽기 복제본 구성 서버의 경우, 스케일링 작업은 데이터 일관성을 보장하고 가동 중지 시간을 최소화하기 위해 특정 시퀀스를 따라야 합니다. 해당 시퀀스에 대한 자세한 내용은 읽기 복제본을 사용한 스케일링을 참조하세요.

참고 항목

거의 0에 가까운 가동 중지 시간 스케일링 프로세스는 기본 작업입니다. 다음과 같은 제한 사항이 발생하면 시스템은 정기적인 스케일링으로 전환되며, 가동 중지 시간이 거의 0에 가까운 스케일링에 비해 가동 중지 시간이 더 많이 발생합니다.

정확한 가동 중지 시간 예상

  • 가동 중지 시간: 대부분의 경우 가동 중지 시간은 10~30초입니다.
  • 기타 고려 사항: 스케일링 이벤트 후에는 약 30초의 고유한 DNS TTL(Time-To-Live) 기간이 있습니다. 이 기간은 스케일링 프로세스에 의해 직접 제어되지 않습니다. DNS 동작의 표준 부분입니다. 애플리케이션 관점에서 스케일링 중에 발생하는 총 가동 중지 시간은 40~60초 범위일 수 있습니다.

고려 사항 및 제한 사항

  • 가동 중지 시간이 거의 0에 가까운 스케일링이 작동하려면 가상 네트워크 통합 네트워킹을 사용할 때 위임된 서브넷의 IP 간에 모든 인바운드/아웃바운드 연결을 사용하도록 설정합니다. 이러한 연결을 사용하도록 설정하지 않으면 거의 0에 가까운 가동 중지 시간 스케일링 프로세스가 작동하지 않으며 표준 스케일링 워크플로를 통해 스케일링이 수행됩니다.
  • 고객 구독에 지역 용량 제약 조건 또는 할당량 한도가 있는 경우 거의 0에 가까운 가동 중지 시간 스케일링이 작동하지 않습니다.
  • 복제본 서버는 주 서버에서만 지원되므로 거의 0에 가까운 가동 중지 시간 스케일링이 작동하지 않습니다. 복제본 서버의 경우 정기적인 스케일링 프로세스를 자동으로 수행합니다.
  • 위임된 서브넷이 있는 가상 네트워크 삽입 서버에 사용 가능한 IP 주소가 충분하지 않은 경우 거의 0에 가까운 가동 중지 시간 스케일링이 작동하지 않습니다. 독립 실행형 서버가 있는 경우 하나의 추가 IP 주소가 필요합니다. HA 사용 서버의 경우 두 개의 추가 IP 주소가 필요합니다.
  • 논리 복제 슬롯은 거의 0에 가까운 가동 중지 시간 장애 조치(failover) 이벤트 중에 유지되지 않습니다. 논리 복제 슬롯을 유지하고 스케일링 작업 후 데이터 일관성을 보장하려면 pg_failover_slot 확장을 사용합니다. 자세한 내용은 유연한 서버에서 확장 사용을 참조하세요.
  • 가동 중지 시간이 거의 없는 크기 조정은 기록되지 않은 테이블에서는 작동하지 않습니다. 데이터에 대해 기록되지 않은 테이블을 사용하는 고객은 거의 0에 가까운 가동 중지 시간 크기 조정 후에 해당 테이블의 모든 데이터를 잃게 됩니다.
  • 0에 가까운 가동 중지 시간 크기 조정은 현재 HA(고가용성) 사용 서버에 대해 지원되지 않습니다.