Fly.io는 Docker 컨테이너를 전 세계 엣지 서버에 배포하는 클라우드 플랫폼이다. 애플리케이션을 사용자와 가장 가까운 리전에서 실행하며, Firecracker microVM 기반으로 빠른 시작을 지원한다.
핵심 개념
fly.toml → 앱 설정
Machines → Firecracker 기반 VM (컨테이너 실행 단위)
Volumes → 영구 스토리지
Private Network → WireGuard 기반 사설 네트워크 (6PN)
Fly Proxy → 글로벌 L7 로드 밸런서
fly.toml 설정
toml
app = "my-app"
primary_region = "nrt" # 도쿄
[build]
dockerfile = "Dockerfile"
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 0
[http_service.concurrency]
type = "requests"
hard_limit = 250
soft_limit = 200
[[vm]]
memory = "512mb"
cpu_kind = "shared"
cpus = 1
배포 흐름
bash
# 앱 생성
fly launch
# 배포
fly deploy
# 시크릿 설정
fly secrets set DATABASE_URL=postgres://...
# 로그 확인
fly logs
# 특정 리전에 스케일 아웃
fly scale count 3 --region nrt,sin,lax
| 항목 | Fly.io | Railway | Render |
|---|
| 런타임 | Firecracker VM | 컨테이너 | 컨테이너 |
| 엣지 배포 | 지원 | 제한적 | 미지원 |
| 무료 플랜 | 제한적 | $5 크레딧 | 정적 사이트 무료 |
| DB 지원 | Postgres (Fly) | 내장 DB | 내장 DB |
| 글로벌 리전 | 30+ | 3 | 4 |
관련 문서
- •/wiki/docker
- •/wiki/railway
- •/wiki/render