はじめに
この記事は、初めて自作APLをAWSへCI/CD構築する方に向けて発信していきます。
この時点(20260601)で筆者もあまりよく分かっていないため、色々と調べながら進めていきたいと考えています。
尚、記事の修正はしない方向で進めます。
理由として、構築前 → 構築後でどれ程成長したのかの過程も楽しみたいからです。
AWSを知らない人向け
AWSとはなにか?
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html
AIに色々と聞いたりして調べた結果
下記の様な流れでCI/CD構築が可能らしい
- CI/CDの流れを決める
- 本番構成を決める
- backendだけ先にECSへ載せる
- GitHub ActionsでECRへpush
- ECSへ自動デプロイ
技術構成(AWSを使用する前提、考慮済)
| 種類 | 使用技術 |
|---|---|
| Frontend | S3 + CloudFront |
| Backend | ECS Fargate ※1 |
| DB | MongoDB Atlas or DocumentDB ※2 |
| Image | ECR |
| CI/CD | GitHub Actions |
※1
安く抑えるなら、
EC2(無料枠) or Lightsail
※2
調べた結果、
個人開発だとDocumentDBは高いので安く抑えるなら、
MongoDB Atlas(無料枠)一択
CI/CD Pipeline
CI/CD Pipeline詳細(backendのみ)
現ローカル環境
React
↓
Express(Node.js)
↓
MongoDB
AWSイメージ構築(CI/CD)
ユーザー
↓
ALB
↓
ECS Service
↓
ECS Task(Node.js)
↓
MongoDB Atlas
AWSイメージ構築済資材置き場
Docker Image
↑
ECR
ログ監視資材
ログ
↓
CloudWatch Logs
deploy.yml(構成)
ECSへ自動デプロイ
| 構築 |
|---|
| build |
| test |
| push to ECR |
| deploy to ECS |
まとめ
構成決め→CI/CD構築→自動デプロイ→AWSへのようなイメージで進めます。
とりあえず手を動かしてみて、躓いた部分は備忘録として記事にUPしていこうと思います。