想定読者
- Dockerのことは大体わかっている人
- AWSのコンテナ関連サービスの関係性が掴みきれていない人
サービスとDockerコマンドとの対応
各サービスとDockerコマンドをざっくり対応づけてみました。
※ 主要なコマンドのみに厳選しています。
サービス | Dockerコマンド |
---|---|
CodeBuild | docker build docker push |
ECR | docker images docker rmi |
ECS | docker pull docker run docker stop docker-compose up docker-compose down |
アーキテクチャ
DockerHubのオフィシャルイメージとかを使う場合は、CodeBuildはいらないですね。EC2とFargateの違いは、調べるとたくさん出てくるのでここでは割愛します。
概念理解のために読み替えると以下のような感じでしょうか。

ECSを使ってみて思ったこと
よかったところ
- dockerと同等の設定が簡単にできて便利
気になったところ
- サービス停止しても勝手に起動するのやめてほしい1
- 原因不明の「タスク定義を作成できませんでした」やめてほしい
- EC2で起動する場合、デフォルトロールにセッションマネージャ使える権限をつけておいてほしい
- サービス停止しててもEC2は実行中で課金されてるのを気づかせないようにしてる感じがずるい(EC2で起動する場合)。
終わりに
ECSは便利でしたが、使ってみると気になるところがたくさんありました。少しずつ改善されることを祈っています。
-
止めたいサービスの「必要なタスク数」を0にして更新した後に起動してるサービス停止しないといけなかった ↩