👌

【Amazon ECS】ecspressoの使い方

2024/01/27に公開

ecspressoとは

OSSのECSデプロイツールです。面白法人カヤックから提供されています。
kayac/ecspresso

ecspressoの必要性

terraformを使ってインフラ構築する中で、ECSについてはインフラ関連のものと異なるライフサイクルを持っているため、ecspressoを使うことにしました。またterraformと連携できるようになっており、サブネット、SGといったECSで必要になるリソースを参照できることも大きなメリットです。

使ってみる(mac osでの利用方法を記載します)

<前提>
aws cliのセットアップは完了していること

  1. インストール
    まず、ecspressoをインストールします。以下のコマンドを実行します。
brew install kayac/tap/ecspresso

※asdfを使ってインストールすることもできるので、バージョン管理をしたい場合はそちらがおすすめです。

  1. 設定ファイルの作成
    デプロイに関する設定は、下記の設定ファイルが必要になります。
ファイル 概要
config.yml ecspressoの設定ファイル。service_definition、task_definitionの指定やtfstateを読む場合は、pluginの設定を行う。
service-def ECSのserviceの設定ファイル
task-def.json ECSのtaskの設定ファイル

各ファイルの書き方は下記の記事が非常にわかりやすかったので、参照してみて頂ければと思います。
ECS用のデプロイツール:ecspressoの使い方について5ステップで説明してみる

  1. デプロイ
    設定が完了したら、以下のコマンドでデプロイを実行します。
ecspresso deploy --config ecspresso.yml

まとめ

ecspressoを使うことで、アプリケーションライフサイクルに合わせてECSだけ更新することができます。
また、アプリケーションのCICDと組み合わせることで、アプリケーションの更新タイミングでデプロイすることができるようになります。別でまたそちらの記事も書こうと思います。

Discussion