[GW中にやってみよう]ECSデプロイで試したツールをピックアップしてみた
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についての知識は必要になります。
どれを使うか迷った時は、とりあえず全部使ってみましょう。