はじめに
R7年5月12日からプログラミングを始め、AWSでWebアプリを公開運用している私が、段階的なアーキテクチャの見直しで月額費用を約70%削減した実例を紹介します。
結論から言うと:約100〜200ドル/月 → 約70ドル/月 まで削減できました。
運用しているアプリケーション
現在、以下の4つのアプリをLightsail Containerで公開中:
- Chatbot: ChatGPT活用の車検証OCR処理システム
- emergency: Flask製避難所マッピングアプリ
- Bikefinder: バイク検索アプリ
- snowdeep: 機械学習による降雪量予測ツール
アーキテクチャ進化の3段階
【第1段階】初回構成:R53 + ACM + EC2 + RDS
Route 53 → ACM → EC2 (t3.micro) → RDS (db.t3.micro)
↓
ALB
月額コスト: 約$80〜100
- EC2 (t3.micro): $7〜10/月
- RDS (db.t3.micro): $22〜30/月
- ALB: $16〜20/月
- EBS: $2〜5/月
- データ転送料: 変動費
- Route 53: $0.5/月
課題:
- インフラ管理が複雑
- RDS + ALB のコストが重い
- 細かい料金が積み重なる
- 直ぐにキャパオーバーになり動作が重くなる
【第2段階】次回構成:R53 + ACM + ECS + RDS
Route 53 → ACM → ALB → ECS (Fargate) → RDS (db.t3.micro)
月額コスト: 約$120〜180
- ECS Fargate x4アプリ (0.25vCPU, 0.5GB): $10〜15/月 ×4アプリ=$40-60
- RDS (db.t3.micro): $22〜30/月
- ALB: $16〜20/月
- データ転送料: 変動費
- Route 53: $0.5/月
改善点:
- EC2管理からの解放
- コンテナ化による柔軟性向上
依然として残る課題:
- RDS + ALB のコストが高い
- 小規模アプリには過剰スペック
- 料金予測が難しい
- EC2構成よりもコスト高になる
【第3段階】現在構成:R53 + Lightsail Container
Route 53 → Lightsail Container (SSL + DB + 全部入り!)
月額コスト: $70(固定!)
- Lightsail(1GBメモリ/2仮想CPU/4GB SSD/2TB転送): = $7/月
- Container (Micro): $7/月 × 4アプリ = $28/月
- Database(PostgreSQL/1GB/2vCPU/40GB SSD/100GB転送): $15/月
- 0.25 vCPU
- 1 GB RAM
- MySQL込み
- SSL証明書込み
- 500GB転送/月込み
- Route 53: $0.5/月
メリット:
- 固定費で予算管理が超簡単
- 1アプリ = 1コンテナで管理シンプル
- SSL証明書、DBすべて込み
- 転送量500GB/月で十分
- デプロイが爆速
コスト比較表
| 項目 | 第1段階 (EC2+RDS) |
第2段階 (ECS+RDS) |
第3段階 (Lightsail) |
|---|---|---|---|
| 月額費用 | $80〜100 | $120〜180 | $70 |
| 管理複雑度 | 高 | 中 | 低 |
| 料金予測 | 難 | 難 | 容易 |
| スケール性 | 手動 | 自動 | 自動 |
| デプロイ速度 | 遅 | 普通 | 速 |
デプロイフロー
現在の運用フローは超シンプル:
# 1. ローカルでDockerイメージをビルド
docker build -t my-app:latest .
# 2. Docker Hubにプッシュ
docker push username/my-app:latest
# 3. Lightsailで新しいデプロイメントを作成
aws lightsail create-container-service-deployment \
--service-name chatbot \
--containers file://containers.json \
--public-endpoint file://public-endpoint.json
たったこれだけ! VPC、セキュリティグループ、ALB設定は一切不要です。
学んだこと
✅ 何が効果的だったか
-
必要十分なリソース選択
- ポートフォリオ公開には最小プランで十分
- 過剰なスペックは不要
-
固定費の威力
- 予算管理が圧倒的に楽
- データ転送料の心配不要
-
サービスの統合
- DB、SSL、転送量が全部セットは神
- 複数サービスの組み合わせによる料金爆発を回避
⚠️ 注意点
-
Lightsailの制約
- 大規模トラフィックには不向き
- メモリ上限4GBまで
- 高度なネットワーク制御不可
-
移行タイミング
以下の場合はECS/EC2への移行を検討:- 月間100万PV超え
- コンテナメモリ4GB超が必要
- マイクロサービス化(10+サービス)
- 高度なネットワーク制御が必要
結論
「最初から完璧を目指さない」 ことが重要です。
私のように、段階的に構成を見直すことで:
- ✅ 無駄なコストを削減
- ✅ 運用負荷を軽減
- ✅ アプリ開発に集中
53歳からのプログラミング学習でも、月額$28で4つのWebアプリを本番運用できています。
皆さんも、過剰スペックになっていないか、一度見直してみてはいかがでしょうか?
参考情報
📝 この記事が役立ったら、ぜひLGTMお願いします!
💬 質問やコメントもお待ちしています!