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
Azure Chaos Studio を使おう!
Search
mihohoi
June 27, 2024
0
150
Azure Chaos Studio を使おう!
2024/6/22 Azure Travelers で発表した内容です。
https://jat.connpass.com/event/308087/
mihohoi
June 27, 2024
Tweet
Share
More Decks by mihohoi
See All by mihohoi
座礁しないためのAzureコンテナーの選び方
mihohoi
2
770
インフラエンジニアがgoを始めた話.pdf
mihohoi
0
54
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Optimizing for Happiness
mojombo
376
70k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Bash Introduction
62gerente
608
210k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Gamification - CAS2011
davidbonilla
80
5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
A designer walks into a library…
pauljervisheath
204
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
We Have a Design System, Now What?
morganepeng
50
7.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Transcript
Azure Chaos Studio を使おう! 2024/6/22 日本マイクロソフト Miho Kurimoto
Miho Kurimoto (mihohoi) • 日本マイクロソフト Cloud Solution Architect • 出身:名古屋
• 特に好きな分野 • Kubernetes などコンテナー製品 • 運用と監視、IaC (とにかく運用が楽になる事) • SNS • Twitter:@Danny_miho • Zenn:https://zenn.dev/mihohoi • 技術書典に出店しました(本はこちら) • 趣味 • 編み物 • 将棋(観る将) • JOJO が好きです! https://www.youtube.com/watch?v=PFUy3W-FeAY&t=662s
「カオスエンジニアリング」と聞いたときのイメージ
カオスエンジニアリングとは システムの信頼性や回復力を向上させる ための実践手法 意図的にシステムに障害や「異常な状 態」を引き起こさせて、状態を確認し、シ ステムがどのように対処(または意図し た動作)になるかを確認する手法
目的 システムが予期せぬ障害に対しても適 切に対応し、サービスの中断を最小限に 抑える システムの信頼性と回復力が向上し、 実際の障害が発生したときにも迅速に 対処できるようになる カオスエンジニアリング https://www.oreilly.co.jp/books/9784873119885/
カオスエンジニアリングの原則 ▪ 「カオスエンジニアリングの原則」というガイドラインがある(日本語もある) ✓https://principlesofchaos.org/ja/ ▪ これは何? ✓Casey (https://twitter.com/caseyrosenthal) と Netflix
のカオスエンジニアリングチームが開発した概念お よびガイドライン ▪ 何が載っているの? ✓5つの応用的な実践方法 定常状態における振る舞いの仮説を立てる 実世界の事象は多様である 本番環境で検証を実行する 継続的に実行する検証の自動化 影響範囲を局所化する
Azure Chaos Studio とは ▪ Azure で構成されるワークロードに対し、意図的に 障害(フォルト)を発生させるマネージドサービス ▪ 2023年11月15日に
GA ▪ 様々なフォルトが用意されている ✓サービスの対象 AKS App Service VM…など
仕組み ▪ Chaos Studio では 2 種類の方法がサポートされている ✓サービス直接 エージェントのインストールやインストルメンテーションが不要で、Azure
リソースに対して直接実行できる リソースの再起動などで選択できる方法 ✓エージェント ベース 仮想マシンなどに対しエージェントをインストールすることで、実行できる 細かい障害(メモリの負荷など)を実行できる ▪ 設定できる障害の例 ✓次ページで紹介 エージェントが入った仮想マシン
障害(フォルト)の例 対象 障害名 シナリオ 仮想マシン CPUに負荷をかける コンピューティング容量の損失、リソースの負荷 プロセスの強制終了 依存関係の中断 ネットワークの切断
ネットワークの中断 時刻の変更 時刻同期の問題 App Service App Service の停止 サービスの中断 AKS Pod の停止 コンテナーの中断 Event Hub 状態変更 メッセージング インフラストラクチャの構成の誤り/中断 Key Vault 証明書の無効化 証明書の中断 Service Bus キュー状態の変更 メッセージング インフラストラクチャの構成の誤り/中断 サブスクリプション状態の 変更 メッセージング インフラストラクチャの構成の誤り/中断 ▪ 上記以外にも頻度高くフォルトが追加されています
設定 Step1: VM Branch1 : XXサービスの停止 Action: フォルトの記載 Branch2 :
仮想メモリの負荷 Action: フォルトの記載 Step2: CosmosDB Branch1 : CosmosDB のフェールオーバー Action: フォルトの記載 カオス実験 ▪ 1つの「カオス実験」の中に複数の 障害を入れられる ▪ ターゲットリソースも複数入れられる ✓つまり、1連のシナリオとして実行できる ▪ Step > Branch > Action
None
シナリオの例
利用するタイミング ▪ 検証時 ✓アプリケーションの開発初期段階からカオス実験を導入することで、設計の弱点や潜在的な問題を早期に 発見できます。これにより、後の開発段階で大きな修正が必要となるリスクを低減できます。 ▪ 本番環境へのリリース前 ✓本番環境へのリリース前に、カオス実験を実施してシステムの信頼性と回復力を検証します。これにより、実 際のユーザーが影響を受ける前に問題を発見して解決できます。 ▪
システムアップデートや変更時 ✓システムのアップデートや大規模な変更を行う際に、カオス実験を実施して新しい変更がシステムの安定性に 与える影響を評価します。 ▪ 障害対応訓練として ✓チームの障害対応能力を向上させるために、意図的に障害を発生させて対応手順を確認する訓練としてカ オス実験を利用します。これにより、実際の障害発生時に迅速かつ効果的に対応できるようになります。
まとめ ▪ Azure Chaos Studio の障害(フォルト)は徐々 に種類が増えてきています ▪ カオスエンジニアリングの本質を理解してワークロード に加えいきましょう
>Azure Chaos Studio のドキュメント https://learn.microsoft.com/ja-jp/azure/chaos-studio/ >クイック スタート: Azure Chaos Studio を使用してカオス実験を作成して実行する https://learn.microsoft.com/ja-jp/azure/chaos-studio/chaos-studio-quickstart-azure-portal