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
290
ECSネイティブBlue/Greenデプロイについて調べてみた
枡川健太郎
October 19, 2025
Tweet
Share
More Decks by 枡川健太郎
See All by 枡川健太郎
EBS CSI driverを利用しているEKSクラスターをEKS Auto Modeにインプレースで移行してみる
masukawa
0
82
CloudWatch MCP サーバーと CloudWatch Application Signals MCP サーバーを使ってみた
masukawa
2
580
[re:Inforce2025振り返り勉強会]アプリケーションコードもIaCコードもまとめてチェック! Amazon InspcetorのCode Securityを試してみる!
masukawa
0
30
[k8s novice x JAWSコンテナ]Kubernetes Wakaran Tokyo #3 EKS Hands-on 解説
masukawa
0
66
re_Invent 2024 コンテナ関連アップデート総まとめ #cmregrowth
masukawa
0
700
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
660
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Building Applications with DynamoDB
mza
96
6.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Docker and Python
trallard
46
3.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
910
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