コンテナの運用、正直めんどくさい。Kubernetesは強力だけど、学習コストがデカすぎる。YAMLが数千行になって、気づいたら本業がクラスタ管理になってた——そんな話、よく聞く。
そこでECS(Elastic Container Service)とFargateだ。Dockerイメージを作ってECRにプッシュするだけ。あとはAWSがコンテナの配置もスケーリングも全部やってくれる。Fargateならサーバー管理すらゼロ。EC2インスタンスにSSHしてDockerコマンド叩く生活とは、ここでお別れだ。
ECSを半年使ってみての実感:
- AWSとの統合が異常にラク — ALBとの連携、CloudWatchログ、IAMロール、全部GUIかワンライナーで繋がる。k8sでIngressとServiceとConfigMapを延々と書いてたのがバカみたい。
- 学習コストが低い — タスク定義(JSON)を1つ書くだけ。実質Dockerのポートと環境変数の指定だけ。k8sの概念地獄が嫌な人には救い。
- Fargateでインフラの心配から解放 — パッチ適用もクラスタスケーリングもAWSにお任せ。僕はもうEC2クラスタを管理したくない。
料金はFargateだとvCPUとメモリの従量課金。0.25vCPU/512MBの最小構成なら月$10以下。個人開発でも十分手が出る。プロジェクト初期はFargateで始めて、必要ならEC2起動タイプに切り替える、みたいな段階的アプローチが賢い。
「コンテナは使いたい。でもk8sはまだ重い」っていう人に、ECSは本当におすすめ。