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
270
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
280
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
hatahata021
2
800
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
530
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
3
350
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
2.7k
「AWSの薄い本」の紹介
hatahata021
1
190
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
950
Transfer Family for SFTPを使ってみよう
hatahata021
2
3.7k
Other Decks in Technology
See All in Technology
2025年夏 コーディングエージェントを統べる者
nwiizo
0
140
S3アクセス制御の設計ポイント
tommy0124
3
190
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
170
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
400
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
430
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
910
研究開発と製品開発、両利きのロボティクス
youtalk
1
520
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
400
Practical Agentic AI in Software Engineering
uzyn
0
110
Agile PBL at New Grads Trainings
kawaguti
PRO
1
420
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
300
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
For a Future-Friendly Web
brad_frost
180
9.9k
Gamification - CAS2011
davidbonilla
81
5.4k
Unsuck your backbone
ammeep
671
58k
It's Worth the Effort
3n
187
28k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Navigating Team Friction
lara
189
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
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