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
re:Invent Workshop「Advanced Multi-AZ Resilience...
Search
da-hatakeyama
December 18, 2023
Technology
1
250
re:Invent Workshop「Advanced Multi-AZ Resilience Patterns」をやってみた
OpsJAWS Meetup#26 re:Invent 2023 re:Cap の登壇資料です
https://opsjaws.doorkeeper.jp/events/165903
da-hatakeyama
December 18, 2023
Tweet
Share
More Decks by da-hatakeyama
See All by da-hatakeyama
VPC Block Public Accessを触ってみて気づいた色々な勘所
hatahata021
2
180
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
hatahata021
2
530
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
460
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
2
260
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
2.2k
「AWSの薄い本」の紹介
hatahata021
1
130
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
850
Transfer Family for SFTPを使ってみよう
hatahata021
2
2.4k
VPCについてあらためて考えてみる
hatahata021
1
240
Other Decks in Technology
See All in Technology
AWSのマルチアカウント管理 ベストプラクティス最新版 2025 / Multi-Account management on AWS best practice 2025
ohmura
4
310
持続可能なドキュメント運用のリアル: 1年間の成果とこれから
akitok_
1
190
C++26アップデート 2025-03
faithandbrave
0
440
アセスメントで紐解く、10Xのデータマネジメントの軌跡
10xinc
1
440
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
120
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
4
430
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
460
はじめてのSDET / My first challenge as a SDET
bun913
1
260
React ABC Questions
hirotomoyamada
0
490
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
0
180
今日からはじめるプラットフォームエンジニアリング
jacopen
3
200
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
160
Featured
See All Featured
Designing for Performance
lara
608
69k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.6k
KATA
mclloyd
29
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Into the Great Unknown - MozCon
thekraken
37
1.7k
Agile that works and the tools we love
rasmusluckow
328
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
4 Signs Your Business is Dying
shpigford
183
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
520
Scaling GitHub
holman
459
140k
Transcript
re:InventのWorkshop 「Advanced Multi-AZ Resilience Patterns」 から学ぶgray failures OpsJAWS #26 はたはた
アジェンダ ⚫はじめに ⚫re:Inventのセッションについて ⚫Workshop「Advanced Multi-AZ Resilience Patterns」から 学ぶgray failures ⚫概要
⚫gray failuresとは
アジェンダ ⚫はじめに ⚫re:Inventのセッションについて ⚫Workshop「Advanced Multi-AZ Resilience Patterns」から 学ぶgray failures ⚫概要
⚫gray failuresとは
自己紹介 名前: 畠山 大治 業務: AWSを使ったインフラ構築 @某CIre 趣味: Perfumeを追いかける(ファンクラブ 9年目)
読書、映画・アニメを見る 資格: AWS認定全冠、GC認定ACE 好きなAWSサービス: VPC @hatake_book
re:Inventに初参加してきました!
re:Inventに初参加してきました! 参加レポを書いているので、気になる方はぜひ読んでください https://qiita.com/hatahatahata/items/6418944d7d07df7649fe
アジェンダ ⚫はじめに ⚫re:Inventのセッションについて ⚫Workshop「Advanced Multi-AZ Resilience Patterns」から 学ぶgray failures ⚫概要
⚫gray failuresとは
re:Inventのセッションの種類(一例) ⚫Keynote ⚫基調講演、新発表がバンバンされる ⚫Breakout Session, Leadership Session ⚫ある特定のテーマ、技術領域について語られるセッション ⚫Builders Session,
Workshop ⚫シナリオが用意されていて、実際にサービスを触ることが できる
re:InventのWorkshopセッション、実は… ⚫気になるWorkshop発見! ⚫でも他に気になるセッションが 被ってる…
re:InventのWorkshopセッション、実は… ⚫現地でなくてもシナリオを見れるセッションがある! https://speakerdeck.com/kadogen_0527/let-s-try-aws-jam?slide=19
re:InventのWorkshopセッション、実は… ⚫Workshop発見! ⚫帰国してから腰を据えてWorkshopやってみました
アジェンダ ⚫はじめに ⚫re:Inventのセッションについて ⚫Workshop「Advanced Multi-AZ Resilience Patterns」から 学ぶgray failures ⚫概要
⚫gray failuresとは
Workshopの概要 ⚫よくあるマルチAZ構成を作り、 gray failures(グレー障害) につ いて学ぶWorkshop ⚫疑似的にgray failuresを発生さ せて、検知→復旧のフローを体 験する
アジェンダ ⚫はじめに ⚫re:Inventのセッションについて ⚫Workshop「Advanced Multi-AZ Resilience Patterns」から 学ぶgray failures ⚫概要
⚫gray failuresとは
gray failuresとは ざっくりまとめると… システム全体が正常な状態であるように見えても、ワークロード(システムの中で 動いている処理単体)の観点で見ると異常が発生している状態のこと
gray failuresの一例 ざっくりまとめると… システム全体が正常な状態であるように見えても、ワークロード(システムの中で 動いている処理単体)の観点で見ると異常が発生している状態のこと AZ間の通信に障害が 発生しても…
gray failuresの一例 ざっくりまとめると… システム全体が正常な状態であるように見えても、ワークロード(システムの中で 動いている処理単体)の観点で見ると異常が発生している状態のこと Route53ヘルスチェック: 異常なし AZ間の通信に障害が 発生しても…
gray failuresの一例 ざっくりまとめると… システム全体が正常な状態であるように見えても、ワークロード(システムの中で 動いている処理単体)の観点で見ると異常が発生している状態のこと Route53ヘルスチェック: 異常なし AZ間の通信に障害が 発生しても… AutoScalingグループ:
異常なし
gray failuresの一例 ざっくりまとめると… システム全体が正常な状態であるように見えても、ワークロード(システムの中で 動いている処理単体)の観点で見ると異常が発生している状態のこと Route53ヘルスチェック: 異常なし AZ間の通信に障害が 発生しても… AutoScalingグループ:
異常なし Aurora:異常なし フェイルオーバーなし
gray failuresの一例 ざっくりまとめると… システム全体が正常な状態であるように見えても、ワークロード(システムの中で 動いている処理単体)の観点で見ると異常が発生している状態のこと Route53ヘルスチェック: 異常なし AZ間の通信に障害が 発生しても… AutoScalingグループ:
異常なし システム的に異常はないようにみえるが、 実は裏でAZ間の通信障害が発生している!! Aurora:異常なし フェイルオーバーなし
gray failuresの危険な点 ⚫迅速な障害検知と対応が難しい ⚫障害による影響を軽減するまでの時間が長くなりがち ⚫「気づいたらシステム障害に発展してた」なんてことに ⚫根本的原因が解決されないと再発しかねない
gray failuresの検知 ⚫標準的なメトリクスでは検知できないことが多いので、一工夫必要 ⚫Workshopの例で考えると… ⚫AZ障害を検知できるようにする必要がある ⚫CloudWatchの複合アラームを活用することで、AZ障害を検知しアラートを発生させる 方法が実装されている ⚫リージョン起因でないこと、単体のインスタンス起因でないことを検知できる複合ア ラームがWorkshop内で使われている CloudWatch
複合アラームによる障害検出 https://docs.aws.amazon.com/ja_jp/whitepapers/latest/advanced-multi-az-resilience-patterns/failure-detection- with-cloudwatch-composite-alarms.html
gray failuresからの復旧 ⚫まずはデータプレーンのアクション、その後コントロール プレーンのアクションを使用して復旧する https://speakerdeck.com/yoshiiryo1/opsjaws-meetup24-jing-de-an-ding-xing-wokao-eru-yi-cun- sinaiakitekutiya?slide=6
gray failuresからの復旧 ⚫コントロールプレーンのアクション ⚫コントロールプレーンはデータプレーンよりも複雑なので、 障害が発生しやすい ⚫障害が発生しているとアクションが失敗し、復旧できなくなる ⚫データプレーンのアクション ⚫コントロールプレーンと比較するとシンプル、障害が起きにくい ⚫先にデータプレーンのアクションで対応、次にコントロールプレーンの アクションで対応、という流れの方が失敗確率が低い
今回の例で考えてみると…
1. データプレーンアクションによる復旧 ⚫対応方針 ⚫障害が発生したAZ向きの トラフィックを止める ⚫対応策 ⚫Route53 ARC のゾーンシフト を使ってAZ1にトラフィックを
流さないようにする
2. コントロールプレーンアクションによる復旧 ⚫対応方針 ⚫障害が発生したAZでリソース の構成を変更する ⚫対象のAZを設定から除外して リソース追加を防ぐ、など ⚫対応策 ⚫AZ1内にあるサブネットを AutoScalingグループから除外
まとめ ⚫re:InventのWorkshopはすでに公開されているシナリオを使うことがあ るので、あらかじめ確認しておくと良い ⚫Workshop「Advanced Multi-AZ Resilience Patterns」では、マルチAZ 構成で起こりうるgray failuresについて学ぶことができる ⚫検知と復旧にはポイントがある
⚫検知には一工夫必要(例えば複合アラームを使った検知など) ⚫復旧は「データプレーンのアクション」→「コントロールプレーン のアク ション」の順に実行して復旧させる
参考情報 ⚫workshop studio Advanced Multi-AZ Resilience Patterns ⚫ https://catalog.workshops.aws/multi-az-gray-failures/en-US/introduction ⚫re:Invent
2023 Workshop Advanced multi-AZ resilience patterns: Mitigating gray failures ⚫ https://d1.awsstatic.com/events/Summits/reinvent2022/ARC201-R_Advanced-multi-AZ-resilience- patterns-Mitigating-gray-failures.pdf ⚫ホワイトペーパー:gray failures ⚫ https://docs.aws.amazon.com/ja_jp/whitepapers/latest/advanced-multi-az-resilience-patterns/gray- failures.html