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
450
ECSネイティブBlue/Greenデプロイについて調べてみた
枡川健太郎
October 19, 2025
Tweet
Share
More Decks by 枡川健太郎
See All by 枡川健太郎
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
480
EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプレースで移行してみる
masukawa
1
230
CloudWatch MCP サーバーと CloudWatch Application Signals MCP サーバーを使ってみた
masukawa
2
930
[re:Inforce2025振り返り勉強会]アプリケーションコードもIaCコードもまとめてチェック! Amazon InspcetorのCode Securityを試してみる!
masukawa
0
43
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on 解説
masukawa
0
76
re_Invent 2024 コンテナ関連アップデート総まとめ #cmregrowth
masukawa
0
750
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Mind Mapping
helmedeiros
PRO
0
78
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Believing is Seeing
oripsolob
1
53
4 Signs Your Business is Dying
shpigford
187
22k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Building Adaptive Systems
keathley
44
2.9k
How to make the Groovebox
asonas
2
1.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Everyday Curiosity
cassininazir
0
130
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