WAL-G - 클라우드 환경 데이터베이스를 위한 아카이빙 및 복원 도구 완벽 가이드

데이터베이스 운영에서 가장 중요한 것 중 하나는 백업과 복원입니다. 백업 없이 운영하다 보면 데이터를 잃어버릴 수 있고, 복원이 느리면 서비스 중단 시간이 길어집니다. 특히 클라우드 환경에서는 데이터량이 빠르게 증가하고, 비용도 중요한 요소가 됩니다.
WAL-G는 이러한 문제들을 해결하기 위해 만들어진 오픈소스 백업 및 복원 도구입니다. PostgreSQL, MySQL/MariaDB, MS SQL Server를 지원하며, MongoDB와 Redis도 베타 버전으로 지원합니다. WAL-E의 후속 프로젝트로서, 더 나은 성능과 다양한 기능을 제공합니다.
WAL-G란 무엇인가?
WAL-G는 Web Archive Log - G의 줄임말로, WAL(Write-Ahead Logging) 아카이빙과 복원 기능을 제공하는 도구입니다. 전통적인 데이터베이스 백업 방식보다 효율적인 증분 백업(Incremental Backup)을 지원하여, 전체 백업 없이도 특정 시점으로 복원할 수 있습니다.
주요 특징
WAL-G의 가장 큰 장점은 다양한 압축 알고리즘을 지원한다는 점입니다. LZ4, LZMA, ZSTD, Brotli 중 선택할 수 있으며, ZSTD는 속도와 압축률 사이의 균형이 뛰어납니다. 또한 멀티 프로세서를 활용하여 병렬 처리가 가능하므로, 대규모 데이터베이스도 빠르게 백업할 수 있습니다.
PostgreSQL에서 특히 유용한 기능은 Non-exclusive Base Backup입니다. 기존 방식에서는 백업 시 데이터베이스를 잠그어야 했지만, WAL-G는 서비스 중단 없이 백업을 수행할 수 있습니다. 이는Production 환경에서 매우 중요한 특성입니다.
설치 및 설정
WAL-G는 다양한 운영체제에서 쉽게 설치할 수 있습니다. Go로 작성되어 있어 단일 바이너리로 배포됩니다.
Linux/macOS 설치
가장 간단한 방법은 GitHub Releases에서 미리 빌드된 바이너리를 다운로드하는 것입니다. PostgreSQL용으로 설치하는 경우:
# 바이너리 다운로드 (Linux x86_64)curl -LO https://github.com/wal-g/wal-g/releases/latest/download/wal-g-pg.linux-amd64chmod +x wal-g-pg.linux-amd64sudo mv wal-g-pg.linux-amd64 /usr/local/bin/wal-g# 또는 Homebrew로 설치 (macOS)brew install wal-g
Docker를 이용한 설치
컨테이너 환경에서는 Docker 이미지를 사용할 수 있습니다:
docker pull walg/wal-g:latest
PostgreSQL 설정
PostgreSQL에서 WAL-G를 사용하려면 postgresql.conf 파일을 수정해야 합니다:
# WAL 레벨을 archive로 설정wal_level = archive# 아카이브 명령어 설정archive_mode = onarchive_command = 'wal-g wal-push %p'# 아카이브 디렉토리 설정 (로컬 또는 S3 등)# 예: AWS S3 사용 시# archive_command = 'AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY=xxx wal-g wal-push %p'
S3 외에 Google Cloud Storage, Azure Blob Storage, Swift 등 다양한 스토리지 백엔드를 지원합니다.
핵심 기능 살펴보기
증분 백업 (Incremental Backup)
WAL-G의 핵심 기능은 증분 백업입니다. 전체 백업 이후 변경된 데이터만 백업하므로, 저장 공간과 시간을 크게 절약할 수 있습니다. 이 기능은 특히 데이터량이 많은 프로덕션 환경에서 중요한우세입니다.
# 전체 백업 수행wal-g backup-push /var/lib/postgresql/data# 증분 백업 수행 (마지막 백업 이후 변경분만)wal-g backup-push /var/lib/postgresql/data --incremental# 백업 목록 확인wal-g backup-list#NAME LAST_modified SIZE#base_000000010000000000000004 2026-05-07 00:30:00 123MB#base_000000010000000000000007 2026-05-07 06:30:00 45MB
증분 백업은 일반적으로 전체 백업 대비 30~70% 의 저장 공간만 사용합니다.
복원 기능
WAL-G는 유연한 복원 옵션을 제공합니다:
# 가장 최근 백업으로 복원wal-g backup-fetch /var/lib/postgresql/data LATEST# 특정 시점으로 복원 (Point-in-Time Recovery)wal-g backup-fetch /var/lib/postgresql/data "base_000000010000000000000004"# 특정 시점으로 WAL 복원 (PITR)wal-g wal-fetch "000000010000000000000007" - | psql
압축 및가밀
다양한 압축 알고리즘 중 ZSTD를 추천합니다. 기본 설정보다 40% 이상 빠른 백업 속도를 자랑하며, 압축률도 뛰어납니다:
# ZSTD 압축으로 백업WALG_COMPRESSION_METHOD=zstd wal-g backup-push /var/lib/postgresql/data# 암호화 설정 (GPG 키 사용)WALG_GPG_KEY_ID=your_key_idWALG_GPG_PUBLIC_KEY=/path/to/public.keyWALG_GPG_PRIVATE_KEY=/path/to/private.keywal-g backup-push /var/lib/postgresql/data
백업 검증
백업의 무결성을 검증하는 것도 중요합니다. WAL-G는 --verify 옵션으로 백업을 검증할 수 있습니다:
wal-g backup-fetch /var/lib/postgresql/data LATEST --verify
실전 활용 사례
AWS S3와 함께 사용하기
AWS S3는 가장 많이 사용되는 백업 스토리지입니다. 다음은 S3와 WAL-G를 함께 사용하는 설정입니다:

# 환경 변수 설정export AWS_ACCESS_KEY_ID=your_access_keyexport AWS_SECRET_ACCESS_KEY=your_secret_keyexport AWS_REGION=ap-northeast-2export WALG_S3_PREFIX=s3://your-bucket/wal-g# 백업 수행wal-g backup-push /var/lib/postgresql/data# 복원 수행wal-g backup-fetch /var/lib/postgresql/data LATEST
비용 최적화를 위해 S3 Intelligent-Tiering 또는 S3 Glacier를 백업 스토리지로 활용하면, 백업 비용을 크게 줄일 수 있습니다.
백업 자동화 스크립트
cron job으로 주기적인 백업을 설정할 수 있습니다:
#!/bin/bash# /usr/local/bin/wal-g-backup.shexport AWS_ACCESS_KEY_ID=your_keyexport AWS_SECRET_ACCESS_KEY=your_secretexport AWS_REGION=ap-northeast-2export WALG_S3_PREFIX=s3://your-bucket/wal-gexport WALG_COMPRESSION_METHOD=zstd# 증분 백업 수행wal-g backup-push /var/lib/postgresql/data --incremental# 7일 이상 된 백업 삭제wal-g delete backup-retention --retention-days 7# 백업 목록 출력wal-g backup-list
crontab에 추가합니다:
0 2 * /usr/local/bin/wal-g-backup.sh >> /var/log/wal-g-backup.log 2>&1
대안과 비교
pgBackRest와의 비교
pgBackRest는 WAL-G와 함께 가장 많이 사용되는 PostgreSQL 백업 도구입니다. 그러나 2026년 4월 기준으로 pgBackRest는 더 이상 유지 관리되지 않습니다. 이로 인해 보안 업데이트와 새 기능 추가가 중단된 상태입니다.
| 기능 | WAL-G | pgBackRest |
|---|---|---|
| 증분 백업 | ✅ | ✅ |
| 멀티 프로세서 | ✅ | ✅ |
| 다양한 압축 | ✅ (LZ4, LZMA, ZSTD, Brotli) | ✅ (LZ4, ZSTD) |
| 클라우드 스토리지 | ✅ (S3, GCS, Azure, Swift 등) | ✅ (S3, Azure, GCS) |
| 유지 관리 상태 | ✅ 활발히 진행 중 | ❌ 중단 (2026년 4월~) |
| MongoDB 지원 | 베타 | ❌ |
| Redis 지원 | 베타 | ❌ |
WAL-E와의 비교
WAL-G는 WAL-E의 후속 프로젝트입니다. WAL-E보다 2~3배 빠른 백업 속도를 제공하며, LZMA와 Brotli 압축 옵션이 추가되었고, 멀티 프로세서 지원이 개선되었습니다.
결론: WAL-G를 추천하는 이유
WAL-G는 2026년 현재 가장 추천하는 PostgreSQL 백업 도구입니다. 활발한 유지 관리, 다양한 클라우드 스토리지 지원, 빠른 증분 백업 성능이 그 이유입니다.
특히 다음 상황에 WAL-G를 권장합니다:
• 새로운 PostgreSQL 배포를 시작하는 팀: 처음부터 올바른 백업 전략을 세울 수 있습니다
• 다양한 데이터베이스를 운영하는 팀: PostgreSQL, MySQL, MongoDB, Redis를 하나의 도구로 백업할 수 있습니다
• 비용 최적화가 중요한 팀: 증분 백업과 효율적인 압축으로 스토리지 비용을 줄일 수 있습니다
• pgBackRest 사용자: 더 이상 업데이트가 없는 pgBackRest에서 마이그레이션하는 것이 좋습니다
백업은 데이터베이스 운영에서 가장 중요한 보험입니다.만일의 상황에서도 데이터를 안전하게수레루요우, WAL-G 도입을 고려해 보시길 권합니다.
📚 출처
• WAL-G Official Documentation
• WAL-G 3.0.8 Released - PostgreSQL Official
• Top Open-Source Postgres Backup Solutions in 2026 - ByteBase
• Cut Postgres Backup Costs 40% with WAL-G 3.0 & S3 2026
tags: WAL-G, PostgreSQL, 데이터베이스, 백업, 복원, 증분백업, 클라우드, AWS, S3,DevOps, DB관리, ZSTD, MariaDB, MongoDB, Redis
📚 출처
'자동화&툴 리뷰' 카테고리의 다른 글
| Toprank - SEO 및 광고 관리용 Claude Code 플러그인 완벽 가이드 (0) | 2026.05.08 |
|---|---|
| 에이전트가 Cloudflare 계정을 만들고 도메인을 구매하며 배포까지 수행하는 방법 (0) | 2026.05.08 |
| Show GN: CodexIsland — MacBook 노치에서 보는 Claude Code/Codex 사용량 (0) | 2026.05.07 |
| TUI가 다시 돌아온 이유 — 명령줄의 복고와 현대적 재해석 (0) | 2026.05.05 |
| Show GN: VibeFrame - 코딩 에이전트를 위한 스토리보드 기반 비디오 CLI 완벽 가이드 (1) | 2026.05.05 |