[GW中にやってみよう]ECSデプロイで試したツールをピックアップしてみた

ECSに既成ツールをデプロイしてやるぞ、と意気込んで試してみたものをピックアップしてみました。中々上手くいかないなと思いながらも、今はecs-refarch-cloudformationでトライ中です。
2021.04.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ECSの操作を手軽にできないものかと色々試していて、本当に色々なツールが存在するものだと気が付きました。ポイントはいずれも用途が完全には被っていないところです。

コンテナ及びDockerの操作に手慣れた人であれば迷うこともないと思いますが、「試しに触ってみたいけどよくわからない」という人向けにDevIOでの紹介記事を交えてツールをいくつかピックアップしてみました。

aws-cdk

0からインフラを設計するときにはおすすめです。

npx cdk init --language typescript

TypeScript版がよく使われるイメージですが、一応Python版もあります。

ある程度AWSの仕組みに慣れていないと、どこから手を付けるべきかわからないかもしれません。そんな時は次のワークショップから始めてみましょう。

ecs-cli

ECS操作専用のCLIです。事前知識としてECSの仕組みについて理解しておきましょう。

% ecs-cli -h

ECS Plugin

Docker ClientからFargate上に直接Deployが可能になります。AWS Profileを用いたcontextの設定が必要です。

docker context create ecs myecscontext
docker context use myecscontext
% docker compose -h 

copilot

ECSへのデプロイにおいて、環境設定・サービス作成・デプロイ、の3ステップに分けて行います。ポイントはロードバランサの設定まで面倒を見てくれるところですね。

% copilot init -h

ecs-refarch-cloudformation

事前に依存するサービスでインスタンスやリソースを作成しておき、CFnテンプレートを使ってデプロイします。

Fargateへ対応させるための手続きをかいた記事も存在しています。RedashをECS上で動作させるためのテンプレートセットも存在しており、他のツールを動作させたい場合の参考になるかもしれません

あとがき

他にも便利なツールはたくさんあると思いますが、私自身で触った範囲にて挙げてみました。ecs-refarch-cloudformationを除いて、Dockerfileについての知識は必要になります。

どれを使うか迷った時は、とりあえず全部使ってみましょう。