はじめに
Azure Chaos Studioを知っていますでしょうか。カオスエンジニアリング用のツールです。障害シミュレーションが行えるツールです。
これを、利用することで環境の問題点やボトルネックなどを発見します。テスト環境、本番環境を問わず行えます。
-
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になっています。
完了後はアクセスできるようになります。
まとめ
これらのようにシミュレートすることで、障害を再現します。
活用することで、問題点を探り環境のバージョンアップを行っていけると思います。