본문으로 건너뛰기
17.3 Azure Database for PostgreSQL — Flexible Server

17.3 Azure Database for PostgreSQL — Flexible Server

Azure Database for PostgreSQL — Flexible Server는 Microsoft Azure의 매니지드 PostgreSQL. 옛 Single Server(legacy)의 후속이며 현재 권장합니다. 자유도 RDS와 유사하면서 VNet 통합과 Entra ID 인증이 강점.

인스턴스 tier

Tier사용처
Burstable (B series)개발·소규모
General Purpose (D series)일반 OLTP
Memory Optimized (E series)메모리 집약

vCPU 196, 메모리 2672GB까지.

스토리지

옵션메모
Premium SSD표준
Premium SSD v2provisioned IOPS·throughput 별도 — 최근 권장

Storage Auto-grow 활성화로 디스크 풀 자동 회피합니다.

핵심 기능

기능메모
HAzone-redundant high availability — 동기 standby
Read replica비동기, 같은/다른 region
자동 백업7~35일 PITR, 외부 region 백업 옵션
VNet integrationPrivate 네트워크 — public endpoint 비활성 가능
Entra ID (AD) 인증비밀번호 없는 인증
Customer-managed keys자체 키로 encryption at rest
Maintenance window명시 가능

HA 옵션

    flowchart LR
  W["client (writer)"]
  AZ1["primary in zone 1"]
  AZ2["standby in zone 2<br/>(동기)"]
  W --> AZ1
  AZ1 -- "동기 streaming" --> AZ2

  classDef pri fill:#ede9fe,stroke:#6d28d9,color:#3b0764
  classDef std fill:#d1fae5,stroke:#047857,color:#064e3b
  class AZ1 pri
  class AZ2 std
  

HA 활성 시 2개 zone에 instance — 자동 failover. RDS Multi-AZ와 유사.

Same-zone HA도 있음 (single AZ region에서) — 비용 ↓.

VNet 통합

Public access enabled = false
VNet = your-vnet
Subnet = pg-subnet

private endpoint 또는 VNet-injected로 인터넷 노출 없이 운영합니다. 보안 강화의 표준입니다.

Entra ID 인증

# Microsoft Entra ID(AD)로 토큰 얻음
TOKEN=$(az account get-access-token --resource https://ossrdbms-aad.database.windows.net --query accessToken -o tsv)
psql "host=myserver.postgres.database.azure.com user=user@example.com password=$TOKEN sslmode=require"
-- Entra ID 사용자 추가
SELECT * FROM pgaadauth_create_principal('alice@example.com', false, false);

비밀번호 회전 자동, 통합 ID — 엔터프라이즈 친화.

확장

100+ 확장 지원합니다. 콘솔 또는 parameter로 enable:

azure.extensions = 'pg_partman,pg_stat_statements,pgvector,postgis'

지원 목록:

SELECT * FROM pg_available_extensions ORDER BY name;

백업·복구

Backup retention: 7~35일
백업 위치: locally redundant / zone redundant / geo redundant

geo redundant는 다른 region에 복사 — DR.

PITR:

Azure Portal → Server → "Restore"
→ point in time selection
→ 새 서버 생성

운영과 같은 패턴으로, 새 서버로 복원해 데이터를 가져옵니다.

모니터링

도구메모
Azure MonitorCPU·메모리·디스크·연결 등
Query Performance InsightRDS Performance Insights와 유사
Log Analytics로그 통합 분석
자체 postgres_exporterVNet 안에서 가능

pg_stat_statements·auto_explain·pgaudit 모두 지원합니다.

한계

한계메모
슈퍼유저 권한 없음azure_pg_admin 권한
OS 직접 접근 못 함로그는 콘솔
일부 확장 미지원pg_repack 등 (자체 storage 권한 필요)
메이저 업그레이드콘솔 — in-place 가능 (PG 14→15→16 등)

비용 모델

항목비용
Computetier·vCore·시간
StorageGB·month
IOPS·throughputPremium SSD v2 별도
백업DB 크기 무료, 초과 + geo redundant 별도
HA약 2배
Reserved Capacity (1·3년)30~50% 절감

작은 시작 — pgcli·psql

az postgres flexible-server connect \
  --name myserver \
  --admin-user pgadmin \
  --query "SELECT version();"

az CLI로 직접 쿼리·관리합니다.

자주 쓰는 운영 명령

# server 시작·정지 (비용 절감)
az postgres flexible-server stop --resource-group rg --name myserver
az postgres flexible-server start --resource-group rg --name myserver

# parameter 변경
az postgres flexible-server parameter set \
  --resource-group rg --server-name myserver \
  --name shared_buffers --value 4GB

# read replica
az postgres flexible-server replica create \
  --resource-group rg --replica-name myserver-rep1 \
  --source-server myserver

RDS vs Flexible Server

측면RDSFlexible Server
운영 부담낮음낮음
HAMulti-AZZone-redundant HA
확장100+100+
인증IAMEntra ID
모니터링Performance InsightsQuery Performance Insight
비용 (대략 같은 사양)비슷비슷
자유도비슷VNet 통합 + 시작·정지 가능 (RDS는 hibernate)

Azure 인프라가 이미 있으면 대부분 자연스러운 선택입니다.

정리

Azure Database for PostgreSQL Flexible Server는 Azure의 매니지드 PostgreSQL로, HA·read replica·자동 백업에 VNet 통합과 Entra ID 인증을 더합니다. 100+ extension을 지원하고 pg_repack 등 일부는 미지원이며, in-place 메이저 업그레이드도 가능합니다.

  • 서버 stop·start로 개발 환경 비용을 절감합니다
  • VNet 통합과 Entra ID 인증이 엔터프라이즈 친화적입니다