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
410
ECSネイティブBlue/Greenデプロイについて調べてみた
枡川健太郎
October 19, 2025
Tweet
Share
More Decks by 枡川健太郎
See All by 枡川健太郎
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
450
EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプレースで移行してみる
masukawa
1
220
CloudWatch MCP サーバーと CloudWatch Application Signals MCP サーバーを使ってみた
masukawa
2
850
[re:Inforce2025振り返り勉強会]アプリケーションコードもIaCコードもまとめてチェック! Amazon InspcetorのCode Securityを試してみる!
masukawa
0
38
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on 解説
masukawa
0
74
re_Invent 2024 コンテナ関連アップデート総まとめ #cmregrowth
masukawa
0
750
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
280
Statistics for Hackers
jakevdp
799
230k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
75
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Are puppies a ranking factor?
jonoalderson
0
2.6k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
47
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
44
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