やりたいこと
Fargate自体はDockerコンテナを「実行する」だけなので、ビルドや準備はEC2で行ないます。
- EC2でDocker環境を作成(イメージ作成など)
- それをFargateにデプロイしたい
✅ 一般的なFargateへのデプロイの流れ(EC2で準備)
① EC2でDocker環境構築
# Dockerfile を作成して、イメージをビルド
docker build -t myapp .
# AWS ECR にログイン
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin <アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com
# ECRリポジトリ作成(最初だけ)
aws ecr create-repository --repository-name myapp
# イメージにタグ付け
docker tag myapp:latest <アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com/myapp:latest
# ECRにプッシュ
docker push <アカウントID>.dkr.ecr.ap-northeast-1.amazonaws.com/myapp:latest
② ECS + Fargateでタスク定義
- タスク定義に「ECRのイメージURL」を指定
- Fargateランタイムでタスク or サービス作成
③ 起動すれば、Fargate上でそのコンテナが動作します!
補足:EC2である必要はある?
- EC2で環境構築 → OK(サーバー上で作業したいとき)
- ローカルPCでも可(同じ手順でECRへpushできます)
- CodeBuildなどCI/CDでも可
🎯まとめ
準備場所 | イメージ作成 | プッシュ先 | 実行場所 |
---|---|---|---|
EC2 | Docker Build | ECR | Fargate(ECS) |