-
Fly.io 사용 방법서버 관련 2025. 6. 10. 10:31
Fly.io는 글로벌 애플리케이션 배포를 지원하는 경량 PaaS(Platform-as-a-Service)입니다. Docker 이미지 또는 간단한 설정 파일만으로 리눅스 기반 서버를 띄우고, 전 세계에 분산된 위치에 배포할 수 있어 매우 효율적입니다. 아래는 Fly.io를 처음 사용하는 사람을 위한 단계별 사용 가이드입니다.
✅ Fly.io 사용 개요
- 운영 환경: Docker 기반 리눅스 컨테이너
- 무료 플랜: 매월 3개의 소형 VM (1 vCPU / 256MB RAM 기준), 160GB 아웃바운드 트래픽 포함
- 적합한 용도:
- 간단한 API 서버, Flask/FastAPI, Node.js 백엔드
- SSH 기반 서버 앱, 개인용 VPN, MariaDB 같은 DB 실행 테스트
🛠️ 1. 필수 도구 설치
(1) Fly CLI 설치
설치 후, 셸을 다시 시작하거나 다음 명령으로 CLI를 활성화:
bash복사편집export PATH="$HOME/.fly/bin:$PATH"(2) Docker 설치
Fly는 기본적으로 Docker 환경을 이용해 배포하므로 Docker 공식 사이트를 참고하여 설치해주세요.
🔐 2. Fly.io 로그인 및 초기 설정
bash복사편집fly auth login- 브라우저가 열리고 GitHub 또는 이메일 계정으로 로그인
- 로그인 후 flyctl 명령어 사용 가능
📁 3. 프로젝트 초기화
예를 들어 Flask 애플리케이션이 있다고 가정할 경우:
bash복사편집mkdir my-flask-app && cd my-flask-app예시 app.py:
python복사편집from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello, Fly.io!"예시 requirements.txt:
makefile복사편집flask==2.1.0 gunicorn
🐳 4. Dockerfile 작성
Dockerfile복사편집# 베이스 이미지 FROM python:3.10-slim # 작업 디렉토리 설정 WORKDIR /app # 의존성 설치 COPY requirements.txt . RUN pip install -r requirements.txt # 애플리케이션 복사 COPY . . # 실행 명령 CMD ["gunicorn", "-b", "0.0.0.0:8080", "app:app"]
🚀 5. Fly 앱 생성 및 배포
(1) 앱 초기화
bash복사편집fly launch- 앱 이름, 리전 선택 (서울 리전: nrt 또는 hkg, 기본은 sin)
- fly.toml 파일 자동 생성됨
(2) 앱 배포
bash복사편집fly deploy- Docker 빌드 -> 컨테이너 이미지 업로드 -> 배포 자동 진행
- 완료 후 배포 URL 제공 (예: https://my-flask-app.fly.dev)
🔁 6. 배포 후 관리
앱 로그 보기
bash복사편집fly logs앱에 SSH 접속
bash복사편집fly ssh console환경변수 설정
bash복사편집fly secrets set MY_SECRET=value
🧪 MariaDB 같은 DB 띄우기
Fly.io는 자체 Volume 기능과 함께 MySQL, PostgreSQL도 직접 구성 가능하지만, 무료 플랜에서는 운영이 제한적일 수 있습니다.
예시: MariaDB 실행
bash복사편집fly volumes create mariadb_data --size 3 --region sin fly launch # Dockerfile에서 mariadb 이미지 기반 구성- 하지만 장기적인 DB 운영은 외부 DB (PlanetScale, Neon, Supabase 등)와 연동하는 것이 추천됩니다.
📌 요약
작업명령어 요약로그인 fly auth login 앱 초기화 fly launch 앱 배포 fly deploy 로그 보기 fly logs SSH 접속 fly ssh console 환경변수 설정 fly secrets set VAR=value
📚 참고 링크
- 공식 사이트: https://fly.io
- CLI 문서: https://fly.io/docs/flyctl
- 앱 예제 모음: Fly.io GitHub Examples
'서버 관련' 카테고리의 다른 글
완전한 오프라인 환경에서 사용 가능한 API를 제공하는 번역 도구 목록 (0) 2025.06.11