Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ECSネイティブBlue/Greenデプロイについて調べてみた
Search
枡川健太郎
October 19, 2025
0
470
ECSネイティブBlue/Greenデプロイについて調べてみた
枡川健太郎
October 19, 2025
Tweet
Share
More Decks by 枡川健太郎
See All by 枡川健太郎
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
500
EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプレースで移行してみる
masukawa
1
240
CloudWatch MCP サーバーと CloudWatch Application Signals MCP サーバーを使ってみた
masukawa
2
1k
[re:Inforce2025振り返り勉強会]アプリケーションコードもIaCコードもまとめてチェック! Amazon InspcetorのCode Securityを試してみる!
masukawa
0
49
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on 解説
masukawa
0
80
re_Invent 2024 コンテナ関連アップデート総まとめ #cmregrowth
masukawa
0
760
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Marketing to machines
jonoalderson
1
5k
The SEO Collaboration Effect
kristinabergwall1
0
380
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
200
How STYLIGHT went responsive
nonsquared
100
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The Limits of Empathy - UXLibs8
cassininazir
1
240
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
170
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Transcript
ECS ネイティブ Blue/Greenデプロイに ついて調べてみた 枡川健太郎 クラスメソッド株式会社
2 ECS ネイティブBlue/Greenとは? Amazon ECS blue/green service deployments workflow •
CodeDeploy不要 • ECS Service Connectで利⽤可
テスト⽤アーキテクチャー 3
4 CDKで作成すると? • ECSサービスでdeploymentStrategyとして BLUE_GREENを指定 • ターゲットグループ側で本番リスナーとテストリス ナーを指定 • ECS
Blue/Green専⽤のインフラストラクチャー ロールが必要
5 マネジメントコンソールを⾒てみる 「すべて⼀度に」しか選べない トラフィック切り替え後に 既存タスクを残す時間
6 デプロイしてみる(スケールアップ前)
7 デプロイしてみる (スケールアップ) Green側のECSタスクを起動中
8 デプロイしてみる (テストトラフィック移⾏) テストリスナーの重み付けを変更中
9 デプロイしてみる (テストトラフィック移⾏後) テストリスナーの重み付けを変更後
10 デプロイしてみる (本番トラフィック移⾏) 本番リスナーの重み付けを変更中
11 デプロイしてみる (ベイク時間) 既存タスクを残して待機中
12 デプロイしてみる (クリーンアップ) 既存タスクを削除中
トラフィックの切り替え 13 • Modify Rule APIを利⽤して、ECSが転送時に重み付けを変更 • テストトラフィック移⾏後、本番トラフィック移⾏までの時間を制御するこ とは不可 ◦
4回試した所、42秒、42秒、41秒、42秒 • テストリスナーを利⽤して何かしらのテストを⾏う場合はライフサイクルルー ルの設定が必須
ライフサイクルフック 14 • スケールアップ前 (Pre scale up) • スケールアップ後 (After
scale up) • テストトラフィック移⾏ (Test traffic shift) • テストトラフィック移⾏後 (After test traffic shift) • 本番トラフィック移⾏ (Production traffic shift) • 本番トラフィック移⾏後 (After production traffic shift)
ロールバック 15 • Modify Rule APIを利⽤して、ECSが転送時の重み付けを戻す • テストトラフィック移⾏後までにロールバックできるなら、本番には影響を 出さずにロールバック可能 ◦
ここでライフサイクルフックを利⽤したテストを⾏うべき • ベイク時間(本番トラフィック後に切り替えた際)は、まず本番リスナーの重み 付けを変更、次にテストリスナーも戻す ◦ 検証してみた所 ▪ 「ロールバック」実⾏後 → (17秒) → 本番側重み付け変更 → (36秒) → テストリスナー側重み付け変更
None