実験の作成
ターゲットの有効化が完了したら、実験を作成します。実験では、実行するアクションの設定として順次実行される「ステップ」と、並列で実行される「ブランチ」を定義します。設定できるアクションは、障害ライブラリのドキュメントに記載されたものの中から選択できます。
今回は、CPUへの負荷を発生させる「CPU Pressure」を使用します。「CPU Pressure」では、パラメーターとして「障害が継続する時間(分)」「CPUへの負荷量(%)」「VMSSの場合は負荷を発生させる対象のインスタンスID」を設定します。今回は、既定の2つのインスタンスに対して、CPU使用率が90%となる負荷を30分間発生させるように設定します。
アクションを設定した後は、ターゲットとなるリソースを指定します。ここでは、前述の手順でターゲットとして有効化したリソースが選択できるようになっており、今回の対象となるVMSSリソースを指定します。このように、実験作成時に明確にターゲットとなるリソースを指定することで、意図しないリソースに対してはカオスが挿入されない仕組みになっています。(「影響範囲の限定」観点のポイント)
なお、作成した実験の内容はARMテンプレートとしてコード管理ができるため、他者と実験内容を共有できます。(「実験管理の負荷」の観点)
ターゲットへのアクセス許可設定
実験を作成すると、実験ごとのシステム割り当てマネージドIDが作成されます。このIDに対しターゲットのリソースへのアクセス許可を設定します。必要なアクセス許可設定は、障害プロバイダーのドキュメントで確認できます。
今回の実験では、作成されたシステム割り当てマネージドIDに対し、ターゲットとなるVMSSの「Reader(閲覧者)」ロールを付与します。前述の実験作成時にターゲットを指定するだけでなく、対象リソース側でもChaos Studioの実験へのアクセス権を付与する方式となっていることで、誤ったカオス挿入を防ぎ、安心して実験ができる仕組みとなっています。(「影響範囲の限定」観点のポイント)
実験の実行
実験をクリックし、「開始」、「OK」の順にクリックすることで実験が実行されます。
実験が開始されると履歴の状態が「Running」となり、実験が終了すると状態が「Success」に遷移します。
実験結果は履歴から「詳細」をクリックすることで、いつ、どのリソースに対して、どのようなカオスを挿入したかの実験の記録を確認できます。また、Chaos Studioの実験に対し、アクセス制御(IAM)を設定することができるため、他者と実験内容や実験結果の共有ができます。(「実験管理の負荷」観点のポイント)
なお、実験の実行時にアクセス許可設定などに不備がある場合は、実験の開始後に状態が「Failed」となり、実験の実行に失敗します。実行に失敗した場合は、詳細をクリックし、エラー内容とトラブルシューティングの内容を参考に、設定を見直した上で再実行するとよいです。