Azure

Azure Chaos Studioを動かして仮想マシンをシャットダウン(障害)してみる

はじめに

Azure Chaos Studioを知っていますでしょうか。カオスエンジニアリング用のツールです。障害シミュレーションが行えるツールです。

これを、利用することで環境の問題点やボトルネックなどを発見します。テスト環境、本番環境を問わず行えます。

Azure Chaos Studio - カオス エンジニアリング実験 | Microsoft Azure
Azure Chaos Studio - カオス エンジニアリング実験 | Microsoft Azure

Azure Chaos Studio を使用すると、制御されたフォールト挿入と、実際の、またはシミュレーションされた障害をアプリに与えることによるカオス テストを行って、お客様のアプリケーションの回復 ...

azure.microsoft.com

検証環境

今回の検証環境はシンプルな構成です。WebがあってDBがある構成です。

この構成にShaos Studioを利用して障害をシミュレーションします。

シミュレーションする障害はシャットダウンです。

以下の手順でChaos Studioを設定します。

  • シミュレート対象を指定
  • シミュレートする障害ごとに対象指定
  • Chaos Studioが対象にアクセスできるようにRBACを設定

設定

Chaos Studioを開き対象を設定します。

サービス直接とエージェントベースがありますが詳しい説明は省きます。

今回はシャットダウン(障害)を発生させます。

対象を選択します。VMを選択しています。

サービス直接ターゲットを選択します。

登録後は実験の画面に移動します。

実験を作成します。

障害を追加します。

フォールトをVM Shutdownに設定します。パラメーターには間隔を入力します。今回は短い1分を入力しています。

ターゲットを指定します。Webのサーバーをしています。

登録が完了したら実験を作成します。

次にロールの割り当てを行います。

これはChaos Studioが仮想マシンを管理する権限が必要となります。上記で実験を作成した名前のマネージドIDが作成されます。それに対して権限を与えます。

ロールについては個別に適切なものを適用するべきだと思いますが、下記ではざっくりと所有者で与えています。

メンバーでマネージドIDを指定します。

ロールの適用後、作成した実験を開き、開始します。

開始するとWebサーバーにアクセスできなくなります。

実験中は状態がRunningになっています。

完了後はアクセスできるようになります。

 

まとめ

これらのようにシミュレートすることで、障害を再現します。

活用することで、問題点を探り環境のバージョンアップを行っていけると思います。

-Azure
-