다음을 통해 공유


Azure Database for PostgreSQL - 유연한 서버에서 비용을 최적화하는 방법

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

Azure Database for PostgreSQL 유연한 서버는 PostgreSQL 커뮤니티 에디션을 기준으로 하는 Microsoft 클라우드의 관계형 데이터베이스 서비스입니다. 예측 가능한 성능과 동적인 확장성으로 중요 업무 워크로드를 처리할 수 있는 완전 관리형 Database as a Service 제품입니다.

이 문서에서는 Azure Database for PostgreSQL 유연한 서버 비용을 최적화하기 위한 권장 사항 목록을 제공합니다. 이 목록에는 워크로드를 최적화하는 데 도움이 되는 디자인 고려 사항, 구성 검사 목록 및 권장 데이터베이스 설정이 포함됩니다.

  • 예약 용량 가격 책정을 활용합니다.
  • 컴퓨팅을 스케일 업/다운합니다.
  • Azure Advisor 권장 사항을 사용합니다.
  • HA(고가용성) 및 DR(재해 복구) 요구 사항을 평가합니다.
  • 데이터베이스 및 서버를 통합합니다.
  • 비용 효율적인 지역에 테스트 서버를 배치합니다.
  • 서버를 시작 및 중지합니다.
  • 콜드 스토리지에 대한 이전 데이터를 보관합니다.

1. 예약된 용량 가격 책정 사용

Azure Postgres 예약된 용량 가격 책정을 사용하면 1-3 동안 특정 용량을 커밋할 수 있으므로 Azure Database for PostgreSQL 유연한 서버를 사용하는 고객의 비용을 절감할 수 있습니다. 예약된 용량의 양과 기간의 길이에 따라 종량제 가격 책정에 비해 더 큰 비용을 절감할 수 있습니다. 고객은 vCore 및 스토리지를 증분하여 예약된 용량을 구매할 수 있습니다. 예약된 용량은 고객의 Azure 구독에 적용되는 동일한 지역의 Azure Database for PostgreSQL 유연한 서버 인스턴스에 대한 비용을 충당할 수 있습니다. Azure Database for PostgreSQL 유연한 서버에 대한 예약된 가격 책정은 용량을 예약하는 고객을 위해 1년 동안 최대 40%, 3년 약정에 대해 최대 60%의 비용 절감을 제공합니다. 자세한 내용은 가격 계산기 | Microsoft Azure를 참조하세요. 자세히 알아보려면 Azure 예약이란?를 참조하세요.

2. 컴퓨팅 스케일 업/다운

Azure Database for PostgreSQL 유연한 서버 인스턴스의 리소스를 스케일 업 또는 스케일 다운하면 비용을 최적화하는 데 도움이 될 수 있습니다. 필요에 따라 vCore 및 스토리지를 조정하여 필요한 리소스에 대해서만 비용을 지불합니다. 스케일링은 Azure Portal, Azure CLI 또는 Azure REST API를 통해 수행할 수 있습니다. 컴퓨팅 리소스 스케일 업 또는 스케일 다운은 언제든지 수행할 수 있으며 이를 위해 서버를 다시 시작해야 합니다. 데이터베이스 사용 패턴을 모니터링하고 그에 따라 리소스를 조정하여 비용을 최적화하고 성능을 보장하는 것이 좋습니다. 자세한 내용은 Azure Database for PostgreSQL 유연한 서버의 컴퓨팅 및 스토리지 옵션을 참조하세요.

비프로덕션 환경을 보수적으로 구성 - 비용 효율적인 SKU를 유지하도록 유휴 개발/테스트/스테이징 환경을 구성합니다. 버스트 가능한 SKU를 선택하는 것은 지속적으로 최대 용량이 필요하지는 않은 워크로드에 적합합니다.

자세한 내용은 Azure Database for PostgreSQL 유연한 서버의 스케일링 작업을 참조하세요.

3. Azure Advisor 권장 사항 사용

Azure Advisor는 Azure 리소스를 최적화하는 데 도움이 되는 권장 사항을 제공하는 무료 서비스입니다. 리소스 구성 및 사용 패턴을 분석하고 Azure 리소스의 성능, 보안, 고가용성 및 비용 효율성을 개선하는 방법에 대한 권장 사항을 제공합니다. 권장 사항은 컴퓨팅, 스토리지, 네트워킹 및 데이터베이스를 포함한 다양한 Azure 서비스를 다룹니다.

Azure Database for PostgreSQL의 경우 Azure Advisor는 데이터베이스의 성능, 가용성 및 비용 효율성을 개선하는 방법에 대한 권장 사항을 제공할 수 있습니다. 예를 들어 데이터베이스를 스케일 업 또는 스케일 다운하거나, 읽기 복제본을 사용하여 읽기 집약적 워크로드를 오프로드하거나, 예약된 용량 가격 책정으로 전환하여 비용을 줄이는 방안을 제안할 수 있습니다. 또한 Azure Advisor는 미사용 암호화를 사용하도록 설정하거나, 네트워크 보안 규칙을 사용하여 데이터베이스로 들어오는 트래픽을 제한하는 것과 같은 보안 모범 사례를 권장할 수 있습니다.

몇 번의 클릭만으로 권장 사항을 보고 구현할 수 있는 Azure Portal을 통해 Azure Advisor에서 제공하는 권장 사항에 액세스할 수 있습니다. Azure Advisor 권장 사항을 구현하면 Azure 리소스를 최적화하고 비용을 절감하는 데 도움이 될 수 있습니다. 자세한 내용은 Azure Database for PostgreSQL - 유연한 서버용 Azure Advisor를 참조하세요.

4. HA(고가용성) 및 DR(재해 복구) 요구 사항 평가

Azure Database for PostgreSQL 유연한 서버에는 추가 비용 없이 기본 제공 노드 및 스토리지 복원력을 제공합니다. 노드 복원력을 사용하면 애플리케이션을 다시 연결해야 한다는 점을 제외하고 Azure Database for PostgreSQL 유연한 서버 인스턴스가 데이터 손실이 없고(즉, RPO 0), 연결 문자열 변경 없이 정상 VM으로 자동으로 장애 조치(failover)할 수 있습니다. 마찬가지로 데이터 및 트랜잭션 로그는 3개의 동기 복사본에 저장되며 스토리지 손상을 자동으로 감지하고 수정 작업을 수행합니다. 대부분의 개발/테스트 워크로드와 많은 프로덕션 워크로드의 경우 이 구성으로 충분합니다.

워크로드에 AZ 복원력과 낮은 RTO가 필요한 경우 영역 내 또는 AZ 간 대기 상태에서 HA(고가용성)를 사용하도록 설정할 수 있습니다. 이렇게 하면 배포 비용이 두 배로 늘어나지만 SLA도 높아집니다. 애플리케이션에 대한 지역 복원력을 달성하기 위해 비용을 낮추면서 더 높은 RTO로 GeoBackup을 설정할 수 있습니다. 또는 2배 비용으로 GeoReadReplica를 설정하여 지역 재해가 발생한 경우 몇 분 안에 RTO를 제공할 수 있습니다.

핵심은 전체 애플리케이션 스택의 요구 사항을 평가한 다음, Azure Database for PostgreSQL 유연한 서버 인스턴스에 적합한 구성을 선택하는 것입니다. 예를 들어 애플리케이션이 AZ 복원력이 없는 경우 AZ 복원력 구성에서 Azure Database for PostgreSQL 유연한 서버를 구성해도 아무런 효과도 얻을 수 없습니다.

자세한 내용은 유연한 서버의 고가용성 아키텍처를 참조하세요.

5. 데이터베이스 및 서버 통합

데이터베이스 통합은 Azure Database for PostgreSQL 유연한 서버에 대한 비용 절감 전략일 수 있습니다. 여러 데이터베이스를 단일 Azure Database for PostgreSQL 유연한 서버 인스턴스로 통합하면 인스턴스 수와 Azure Database for PostgreSQL 유연한 서버를 실행하는 데 드는 전체 비용을 줄일 수 있습니다. 다음 단계에 따라 데이터베이스를 통합하고 비용을 절감합니다.

  1. 서버에 액세스: 데이터베이스의 크기, 지역, 구성(CPU, 메모리, IOPS), 성능 요구 사항, 워크로드 유형 및 데이터 일관성 요구 사항을 고려하여 통합할 수 있는 서버를 식별합니다.
  2. 새 Azure Database for PostgreSQL 유연한 서버 인스턴스 만들기: 통합된 데이터베이스를 지원하기에 충분한 vCPU, 메모리 및 스토리지를 사용하여 새 Azure Database for PostgreSQL 유연한 서버 인스턴스를 만듭니다.
  3. 기존 Azure Database for PostgreSQL 유연한 서버 인스턴스 다시 사용: 기존 서버가 이미 있는 경우 통합된 데이터베이스를 지원하기에 충분한 vCPU, 메모리 및 스토리지가 있는지 확인합니다.
  4. 데이터베이스 마이그레이션: 데이터베이스를 새 Azure Database for PostgreSQL 유연한 서버 인스턴스로 마이그레이션합니다. pg_dump 및 pg_restore 같은 도구를 사용하여 데이터베이스를 내보내고 가져올 수 있습니다.
  5. 성능 모니터링: 통합된 Azure Database for PostgreSQL 유연한 서버 인스턴스의 성능을 모니터링하고 필요에 따라 리소스를 조정하여 최적의 성능을 보장합니다.

데이터베이스를 통합하면 실행해야 하는 Azure Database for PostgreSQL 유연한 서버 인스턴스 수를 줄이고, 더 작은 인스턴스보다 좀 더 비용 효율적인 더 큰 인스턴스를 사용할 수 있도록 하여 비용을 절감할 수 있습니다. 통합이 데이터베이스 성능에 미치는 영향을 평가하고 통합된 Azure Database for PostgreSQL 유연한 서버 인스턴스가 모든 데이터베이스 요구 사항에 맞게 적절하게 크기가 조정되었는지 확인하는 것이 중요합니다.

자세히 알아보려면 Azure Advisor를 사용하여 Azure 애플리케이션의 성능 향상을 참조하세요.

6. 비용 효율적인 지역에 테스트 서버 배치

비용 효율적인 Azure 지역에서 테스트 서버를 만드는 것은 Azure Database for PostgreSQL 유연한 서버에 대한 비용 절감 전략일 수 있습니다. 컴퓨팅 리소스 비용이 낮은 지역에 테스트 서버를 만들면 테스트 서버 실행 비용을 줄이고 Azure Database for PostgreSQL 유연한 서버를 실행하는 비용을 최소화할 수 있습니다. 다음은 비용 효율적인 Azure 지역에서 테스트 서버를 만드는 데 도움이 되는 몇 가지 단계입니다.

  1. 비용 효율적인 지역 식별: 컴퓨팅 리소스 비용이 적게 드는 Azure 지역을 식별합니다.
  2. 새 Azure Database for PostgreSQL 유연한 서버 인스턴스 만들기: 테스트 환경에 적합한 구성을 사용하여 비용 효율적인 지역에 새 Azure Database for PostgreSQL 유연한 서버 인스턴스를 만듭니다.
  3. 테스트 데이터 마이그레이션: 테스트 데이터를 새 Azure Database for PostgreSQL 유연한 서버 인스턴스로 마이그레이션합니다. pg_dump 및 pg_restore 같은 도구를 사용하여 데이터베이스를 내보내고 가져올 수 있습니다.
  4. 성능 모니터링: 테스트 서버의 성능을 모니터링하고 필요에 따라 리소스를 조정하여 최적의 성능을 보장합니다.

비용 효율적인 Azure 지역에서 테스트 서버를 만들면 테스트 서버 실행 비용을 줄이고 Azure Database for PostgreSQL 유연한 서버를 실행하는 비용을 최소화할 수 있습니다. 지역이 테스트 서버의 성능 및 조직의 특정 지역별 요구 사항에 미치는 영향을 평가하는 것이 중요합니다. 이렇게 하면 네트워크 대기 시간 및 데이터 전송 비용이 해당 사용 사례에 대해 허용됩니다.

자세한 내용은 Azure 지역을 참조하세요.

7. 서버 시작 및 중지

서버 시작 및 중지는 Azure Database for PostgreSQL 유연한 서버에 대한 비용 절감 전략일 수 있습니다. 필요한 경우에만 서버를 실행하면 Azure Database for PostgreSQL 유연한 서버를 실행하는 비용을 줄일 수 있습니다. 다음은 서버를 시작 및 중지하고 비용을 절감하는 데 도움이 되는 몇 가지 단계입니다.

  1. 서버 식별: 시작 및 중지하려는 Azure Database for PostgreSQL 유연한 서버 인스턴스를 식별합니다.
  2. 서버 시작: 필요할 때 Azure Database for PostgreSQL 유연한 서버 인스턴스를 시작합니다. Azure Portal, Azure CLI 또는 Azure REST API를 사용하여 서버를 시작할 수 있습니다.
  3. 서버 중지: 필요하지 않은 경우 Azure Database for PostgreSQL 유연한 서버 인스턴스를 중지합니다. Azure Portal, Azure CLI 또는 Azure REST API를 사용하여 서버를 중지할 수 있습니다.
  4. 또한 서버가 몇 주 동안 연속해서 중지(또는 유휴) 상태에 있는 경우 필요한 실사 후에 서버를 삭제하는 것이 좋습니다.

필요에 따라 서버를 시작 및 중지하면 Azure Database for PostgreSQL 유연한 서버를 실행하는 비용을 줄일 수 있습니다. 원활한 데이터베이스 성능을 보장하려면 서버 시작 및 중지의 영향을 평가하고 필요에 따라 이러한 작업에 대해 신뢰할 수 있는 프로세스를 마련하는 것이 중요합니다. 자세히 알아보려면 Azure Database for PostgreSQL - 유연한 서버 인스턴스 중지/시작을 참조하세요.

8. 콜드 스토리지에 대한 이전 데이터 보관

자주 액세스하지 않는 데이터를 Azure 보관 저장소에 보관하는 것은 액세스 가능 상태를 유지하면서 비용을 절감하는 데 도움이 될 수 있습니다. Azure Database for PostgreSQL 유연한 서버에서 Azure Archived Storage로 데이터를 내보내고 저비용 스토리지 계층에 저장합니다.

  1. Azure Blob Storage 계정을 설정하고 데이터베이스 백업에 대한 컨테이너를 만듭니다.
  2. pg_dump를 사용하여 이전 데이터를 파일로 내보냅니다.
  3. Azure CLI 또는 PowerShell을 사용하여 내보낸 파일을 Blob Storage 컨테이너에 업로드합니다.
  4. Blob Storage 컨테이너에서 보존 정책을 설정하여 이전 백업을 자동으로 삭제합니다.
  5. 백업 스크립트를 수정하여 이전 데이터를 로컬 스토리지 대신 Blob Storage로 내보냅니다.
  6. 백업 및 복원 프로세스를 테스트하여 필요한 경우 보관된 데이터를 복원할 수 있는지 확인합니다.

Azure Data Factory를 사용하여 이 프로세스를 자동화할 수도 있습니다.

자세히 알아보려면 덤프 및 복원을 사용하여 Azure Database for PostgreSQL 유연한 서버 데이터베이스 마이그레이션을 참조하세요.

비용에 대한 절충

Azure Database for PostgreSQL 유연한 서버에서 애플리케이션 데이터베이스를 디자인할 때 비용 최적화와 보안, 확장성, 복원력 및 조작성과 같은 디자인의 다른 측면 간의 절충을 고려합니다.

비용 및 안정성

비용은 안정성과 직접적인 상관관계가 있습니다.

비용 대비 성능 효율성

성능을 높이면 비용이 더 많이 듭니다.

비용 및 보안

워크로드의 보안을 높이면 비용이 증가합니다.

비용 및 운영 효율성

시스템 모니터링 및 자동화에 투자하면 초기에는 비용이 증가할 수 있지만 시간이 지나면 비용이 절감됩니다.

다음 단계

비용 최적화에 대한 자세한 내용은 다음을 참조하세요.