CI/CD パイプライン構築コース / Chapter 03

ecspressoで行うECS運用

ECSのタスク定義とサービスを、Terraformの責務と分けながら安全に更新する方法を学ぶ。

この章で学ぶこと

  1. ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。
  2. initで現状を取り込み、diffで変更を確認してからregister/deployする。
  3. DB移行や一時タスクはrunでサービス更新と分けて実行する。

01ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う

なぜ必要か:ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。

ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。
図の読み方:宣言した状態から、実際の動作へ矢印を追う。

ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。 実装では、対象リソース・設定値・実行結果を別々に確認する。

判断できるようになること:ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。

02initで現状を取り込み、diffで変更を確認してからregister/deployする

設計の境界:initで現状を取り込み、diffで変更を確認してからregister/deployする。

initで現状を取り込み、diffで変更を確認してからregister/deployする。
図の読み方:責務を混ぜず、設定と実行の境界を確認する。

initで現状を取り込み、diffで変更を確認してからregister/deployする。 そのため、更新対象と依存先を同時に変えず、差分を確認してから反映する。

判断できるようになること:ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。

03DB移行や一時タスクはrunでサービス更新と分けて実行する

運用で確認する証跡:DB移行や一時タスクはrunでサービス更新と分けて実行する。

DB移行や一時タスクはrunでサービス更新と分けて実行する。
図の読み方:正常時だけでなく、確認・復旧の順番を追う。

DB移行や一時タスクはrunでサービス更新と分けて実行する。 障害時は画面の表示だけで判断せず、状態・イベント・ログを順番に照合する。

判断できるようになること:ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。

章のまとめ

  1. ecspressoはECSのタスク定義・サービス更新をアプリ運用の単位で扱う。
  2. initで現状を取り込み、diffで変更を確認してからregister/deployする。
  3. DB移行や一時タスクはrunでサービス更新と分けて実行する。