はじめに
前回の記事では、AWS Fault Injection Simulator(FIS)を利用してAmazon Elastic Container Service(Amazon ECS)にカオスを挿入する方法を紹介しながら、FISがどのように「システムに対して安全にカオスの挿入を行う上で考慮すべき観点」に対応しているかを説明しました。
本記事では、Azure Chaos Studioを利用してAzure Kubernetes Service(AKS)にカオスを挿入する方法を紹介します。
前提条件
実験対象システム
実験対象システムはMicrosoft公式ドキュメントのチュートリアルで紹介されているサンプルソリューションを利用します。
AKSの作成からサンプルアプリケーションのデプロイまでAzure PortalのGUI操作でサンプルソリューションの展開が可能です。
注意点としてはMicrosoft公式ドキュメントのオプション選択箇所の情報が古いため、記載されているオプション以外の選択肢はデフォルトの設定で進める必要があります。
サンプルソリューションにはインターネット公開される以下のフロントエンドが含まれており、後述の正常性判断ではこのフロントエンドに対してHTTPリクエストを発行します。
正常性判断の定義
今回の実験対象システムでは以下の条件を満たすことでシステムが正常であると判断します。
- 5分間のリクエスト総数の90%以上がHTTPステータス200であること
- 5分間のレスポンスタイムの90パーセンタイル値が3秒以下であること
実験対象システムの監視方法は第3回の記事と同様に、Azure Application Insightsによる可用性テストを使用します。
可用性テストは公式ドキュメントを参考にAzure Functionsのタイマートリガーを使用して、10秒間隔で実験対象システムのフロントエンドにHTTPリクエストする方式とします。
監視結果はAzure Application Insightsの可用性タブにて、各リクエストの成功・失敗の結果やレスポンスタイムを確認できます。