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
280
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
プロトコルを跨いで使えるファイルサーバーを作ってみる〜S3 File GatewayとTransfer Familyの併用〜
hatahata021
1
150
VPC Block Public Accessを触ってみて気づいた色々な勘所
hatahata021
2
290
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
hatahata021
2
840
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
550
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
3
350
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
2.8k
「AWSの薄い本」の紹介
hatahata021
1
190
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
970
Transfer Family for SFTPを使ってみよう
hatahata021
2
3.9k
Other Decks in Technology
See All in Technology
stupid jj tricks
indirect
0
7.7k
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
830
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
110
ユニットテストに対する考え方の変遷 / Everyone should watch his live coding
mdstoy
0
110
「技術負債にならない・間違えない」 権限管理の設計と実装
naro143
35
10k
実装で解き明かす並行処理の歴史
zozotech
PRO
1
220
Goのビルドシステムの変遷 / The history of Go's build system
ymotongpoo
12
3.7k
履歴 on Rails: Bitemporal Data Modelで実現する履歴管理/history-on-rails-with-bitemporal-data-model
hypermkt
0
2k
Azure Well-Architected Framework入門
tomokusaba
0
190
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.1k
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
240
AWSにおけるTrend Vision Oneの効果について
shimak
0
110
Featured
See All Featured
Navigating Team Friction
lara
189
15k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Music & Morning Musume
bryan
46
6.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Fireside Chat
paigeccino
40
3.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Scaling GitHub
holman
463
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
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