👌
【Amazon ECS】ecspressoの使い方
ecspressoとは
OSSのECSデプロイツールです。面白法人カヤックから提供されています。
kayac/ecspresso
ecspressoの必要性
terraformを使ってインフラ構築する中で、ECSについてはインフラ関連のものと異なるライフサイクルを持っているため、ecspressoを使うことにしました。またterraformと連携できるようになっており、サブネット、SGといったECSで必要になるリソースを参照できることも大きなメリットです。
使ってみる(mac osでの利用方法を記載します)
<前提>
aws cliのセットアップは完了していること
- インストール
まず、ecspressoをインストールします。以下のコマンドを実行します。
brew install kayac/tap/ecspresso
※asdfを使ってインストールすることもできるので、バージョン管理をしたい場合はそちらがおすすめです。
- 設定ファイルの作成
デプロイに関する設定は、下記の設定ファイルが必要になります。
ファイル | 概要 |
---|---|
config.yml | ecspressoの設定ファイル。service_definition、task_definitionの指定やtfstateを読む場合は、pluginの設定を行う。 |
service-def | ECSのserviceの設定ファイル |
task-def.json | ECSのtaskの設定ファイル |
各ファイルの書き方は下記の記事が非常にわかりやすかったので、参照してみて頂ければと思います。
ECS用のデプロイツール:ecspressoの使い方について5ステップで説明してみる
- デプロイ
設定が完了したら、以下のコマンドでデプロイを実行します。
ecspresso deploy --config ecspresso.yml
まとめ
ecspressoを使うことで、アプリケーションライフサイクルに合わせてECSだけ更新することができます。
また、アプリケーションのCICDと組み合わせることで、アプリケーションの更新タイミングでデプロイすることができるようになります。別でまたそちらの記事も書こうと思います。
Discussion