6단계
6단계 — Fly.io 한 줄 배포
20 분
6단계 — Fly.io 한 줄 배포
Fly.io 는 Heroku 의 후계자 같은 PaaS. AWS 의 복잡함 없이 Dockerfile 만 있으면 배포돼요.
첫 배포 — 진짜 5분
# CLI 설치 (한 번만)
curl -L https://fly.io/install.sh | sh
# 로그인
fly auth login
# 프로젝트 폴더에서
fly launch
# → 자동으로 fly.toml 생성, 지역 선택, DB 추가 여부 묻기
fly deploy
# → 빌드 + 배포
끝. https://my-app.fly.dev 에 자동 HTTPS 로 접근 가능.
fly.toml 한 장
app = "my-app"
primary_region = "nrt" # Tokyo
[build]
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = "stop" # 트래픽 없으면 자동 정지 (비용 절감)
auto_start_machines = true
min_machines_running = 0
[[vm]]
cpu_kind = "shared"
cpus = 1
memory_mb = 256
auto_stop_machines = "stop" 가 핵심. 트래픽 없으면 0대로 줄여 비용 절감.
DB 도 한 줄
fly postgres create --name my-db
fly postgres attach -a my-app my-db
자동으로 DATABASE_URL env var 가 앱에 주입. RDS 보다 훨씬 빠른 시작.
AWS vs Fly.io
| 측면 | AWS | Fly.io |
|---|---|---|
| 학습 곡선 | 가파름 | 평탄 |
| 시작 시간 | 1시간+ | 5분 |
| 가격 (소규모) | $50+/월 | $5+/월 |
| 가격 (대규모) | 저렴 | 비쌈 |
| 제어권 | 완전 | 제한 |
| 한국 리전 | 서울 | Tokyo (가장 가까움) |
규칙: 사이드 프로젝트·MVP 는 Fly.io, 본격 운영은 AWS 가 일반적.
운영 명령 5
fly logs # 로그 실시간
fly status # 머신 상태
fly secrets set KEY=v # 환경변수 설정 (암호화)
fly ssh console # 컨테이너 안 셸
fly scale count 2 # 머신 2대로 (HA)
직접 해 보기
작은 Next.js 또는 FastAPI 앱을 fly launch + fly deploy 로 올려 보세요. 끝나면 fly apps destroy 로 깨끗이 정리.
더 깊이
다음 단계
마지막 7단계에서는 단일 서버 1대로 운영하는 철학 을 정리해요.