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
290
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
160
VPC Block Public Accessを触ってみて気づいた色々な勘所
hatahata021
2
300
VPC Block Public AccessとCloudFrontVPCオリジンによって何が変わるのか?
hatahata021
2
960
WernerVogelsのKeynoteで語られた6つの教訓とOps
hatahata021
2
570
サーバレスを本気で理解したいあなたに贈る 「実践力を鍛えるBootcamp」の紹介
hatahata021
3
370
CloudFrontを使ってSPAなWebサイトを公開するときに気をつけること
hatahata021
1
3.1k
「AWSの薄い本」の紹介
hatahata021
1
210
ALBの新機能 Automatic Target Weightsとgray failuresについて考えてみる
hatahata021
0
1k
Transfer Family for SFTPを使ってみよう
hatahata021
2
4.3k
Other Decks in Technology
See All in Technology
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
860
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
2
1.6k
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
390
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
320
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
6.2k
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.7k
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
21
9k
Bedrock のコスト監視設計
fohte
2
220
クラウドネイティブ時代の 開発プロセス再設計 〜速さと品質を両立するには〜
moritamasami
0
110
その意思決定、まだ続けるんですか? ~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
applism118
41
23k
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
520
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
210
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
970
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Become a Pro
speakerdeck
PRO
29
5.6k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Optimizing for Happiness
mojombo
379
70k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Typedesign – Prime Four
hannesfritz
42
2.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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