본문으로 건너뛰기

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 옵션​

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로 인터넷 노출 없이 운영합니다. 보안 강화의 표준입니다.

Azure 비공개 인증 흐름

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,vector,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 직접 접근 못 함로그는 콘솔
일부 확장 미지원지원 목록 밖 확장 (지원 확장도 azure.extensions에 허용해야 사용)
메이저 업그레이드콘솔 — 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을 지원하지만 지원 목록 밖 확장은 쓸 수 없으며, in-place 메이저 업그레이드도 가능합니다.

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