はじめに
Azure Chaos Studioは様々な障害をシミュレートできます。その一つに、仮想マシンにたいして高負荷の状況をシミュレートできます。今回はその方法を紹介します。
構成
構成はWebサーバーとDBサーバーがあるような単純な構成です。
Webサーバーに対してChaos Studioが高負荷状態にさせます。
この構成はすでにあるものとします。
Chaos Studioの構築設定については下記を参考にしてください。
-
Azure Chaos Studioを動かして仮想マシンをシャットダウン(障害)してみる - 技術的な何か。
はじめに Azure Chaos Studioを知っていますでしょうか。カオスエンジニアリング用のツールです。障害シミュレーションが行えるツールです。 これを、利用することで環境の問題点やボトルネック
level69.net
実験の作成
最初にマネージドIDを登録します。マネージドIDと検索して作成します。
Webサーバーをターゲットにしておきます。エージェントベースのターゲットになります。
作成したマネージドIDを指定し有効にします。
次に実験を作成します。
実験に名前を付けます。
実験デザイナーを設定します。アクションの追加を設定します。
フォールトをCPU Pressureに設定します。
パラメーターでDurationを3分に設定します。
pressureLevelを99%に設定します。これはCPUの負荷率になります。
ターゲットをWebサーバーに設定します。
フォールトが追加されたことを確認します。
実験作成後にロールを設定します。
Webサーバーを開きアクセス制御でロールを割り当てます。
今回は検証なので閲覧者で割り当てます。
新たに作成された、実験用のマネージドIDを指定します。
割り当ててChaos Studioの設定は完了です。
LinxuでCPU pressureを行うにはstress-ngをインストールする必要があります。
-
Azure Chaos Studio fault and action library | Microsoft Learn
Understand the available actions you can use with Azure Chaos Studio, including any prerequisites an ...
docs.microsoft.com
sudo apt-get update && sudo apt-get -y install unzip && sudo apt-get -y install stress-ng
対象の実験に移動して開始します。
ログインして状況を確認します。
AzureChaosAgentが確認できます。そしてstress-ng-cpuのプロセスが動いていることが確認できます。
メトリックを確認するとCPUが高負荷になっていることが確認できます。
以上でシミュレートは完了です。
まとめ
CPUの負荷率を上げるのはChaos Studioの使用例の一例です。一般的なシチュエーションをシミュレートできます。
他にも色々なシチュエーションを体験できるので試してみたいと思います。