Herokuの無料プランが廃止されて以降、個人開発者のデプロイ先として注目を集めているFly.io。東京リージョンがあり、日本からのレイテンシも低い。Node.jsアプリのデプロイ手順を実際のプロジェクトを例に解説します。
Fly.ioの特徴
- 東京リージョン(nrt)あり
- Dockerベースでデプロイ
- 無料枠: 3つのshared-cpu-1x VM、160GB転送量/月
- PostgreSQL、Redis、S3互換ストレージも提供
- 自動HTTPS対応
セットアップ
# Fly CLIインストール
curl -L https://fly.io/install.sh | sh
# ログイン
fly auth login
# プロジェクト作成
cd my-node-app
fly launch
Dockerfile の準備
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY src/ ./src/
EXPOSE 3000
CMD ["node", "src/index.js"]
fly.tomlの設定
app = "my-awesome-app"
primary_region = "nrt" # 東京リージョン
[build]
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = "stop"
auto_start_machines = true
min_machines_running = 0
[env]
NODE_ENV = "production"
シークレット管理
# 環境変数(シークレット)の設定
fly secrets set DATABASE_URL="postgresql://..."
fly secrets set API_KEY="sk-..."
# 設定済みシークレット一覧
fly secrets list
デプロイ
# デプロイ実行
fly deploy
# ログ確認
fly logs
# ステータス確認
fly status
# ブラウザで開く
fly open
カスタムドメイン設定
# カスタムドメイン追加
fly certs create example.com
# DNS設定を確認
fly certs show example.com
まとめ
Fly.ioは「flyctl deploy」一発でDockerアプリをデプロイできる手軽さと、東京リージョンの低レイテンシが魅力です。個人プロジェクトからスタートアップまで、幅広い用途で活用できます。
コメントを残す