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
230
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
140
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
hatahata021
2
390
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
400
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
2
220
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
1.9k
「AWSの薄い本」の紹介
hatahata021
1
110
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
800
Transfer Family for SFTPを使ってみよう
hatahata021
2
2.2k
VPCについてあらためて考えてみる
hatahata021
1
230
Other Decks in Technology
See All in Technology
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
390
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
120
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
330
内製化を加速させるlaC活用術
nrinetcom
PRO
2
110
Active Directory攻防
cryptopeg
PRO
8
5k
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
6
1.9k
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
140
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
530
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
460
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
160
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
200
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
74
9.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
360
A designer walks into a library…
pauljervisheath
205
24k
Six Lessons from altMBA
skipperchong
27
3.6k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
The Invisible Side of Design
smashingmag
299
50k
Code Reviewing Like a Champion
maltzj
521
39k
How STYLIGHT went responsive
nonsquared
98
5.4k
Typedesign – Prime Four
hannesfritz
40
2.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
YesSQL, Process and Tooling at Scale
rocio
172
14k
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