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
Building an army of robots
kneath
302
43k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Thoughts on Productivity
jonyablonski
67
4.3k
Writing Fast Ruby
sferik
627
61k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
The Language of Interfaces
destraynor
154
24k
Statistics for Hackers
jakevdp
796
220k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
GitHub's CSS Performance
jonrohan
1030
460k
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