はじめに
前回の第2回では、AWS Fault Injection Simulato(FIS)を利用してAmazon EC2にカオスを挿入する方法を紹介しました。
今回は、Azure Virtual Machine(VM)の高可用性を実現するAzure Virtual Machine Scale Sets(VMSS)にAzure Chaos Studioを利用してカオスを挿入する方法を説明します。VMにカオスを挿入する方法については、こちらで紹介されているため、そちらを参照いただきたいと思います。
また、Chaos Studioの導入手順を紹介する中で、各機能が本連載の第1回で示した3つの観点のうち、どれに対応しているかについても併せて紹介します。
以下は、観点のリストからChaos Studioが持たない機能を除外したものとなります。
- 定常状態の定義
- 定常状態を定義する方法
- 異常状態の検知方法
- 影響範囲の限定
- カオス挿入の対象の選定方法
- 実験管理の負荷
- 実験の記録
- 実験のコード管理
- 実験の共有
前提条件
今回の実験対象のシステムは、以下のようにAzure Load Balancer(ALB)の配下に2つのインスタンスを持つVMSSで構成します。各インスタンスではWindows Server標準のWebサーバー機能であるIISを利用し、インターネットからシステムが公開するWebページへアクセスできるようにします。
このシステムにおいて、以下の条件を満たすことで正常と判断します。
- 30分間のリクエスト総数の90%以上がHTTPステータス200であること
- 30分間のレスポンスタイムの90パーセンタイル値が3秒以下であること
パーセンタイル値とは?
データを小さい順に並べた際に全体の何%に位置するかを示す値です。90%パーセンタイル値であれば、データの90%がその値より小さい値であることを意味します。
レスポンスタイムのパーセンタイル値は、「ほとんどのレスポンスタイムは一定時間の範囲に収まるものの、まれに発生する非常に遅いレスポンスタイム(=外れ値)が含まれるようなデータ」を考慮して評価することができます。そのため、レスポンスタイムの評価指標では、平均値ではなくパーセンタイル値を採用することが多いです。
また、VMSSの特徴である自動修復機能および自動スケール機能を有効にします。
自動スケール機能のルールは以下の通りです。
- インスタンス数は、既定2台、最小2台、最大4台
- インスタンスの平均CPU使用率が75%以上のとき、インスタンスを1台増やす
- インスタンスの平均CPU使用率が25%以下のとき、インスタンスを1台減らす
また、このシステムの監視方法として、Azure Application Insightsによる可用性テストを有効にします。
ここでの可用性テストは、こちらを参考に、Azure Functionsのタイマートリガーを使用し、1分間隔でシステムのトップページにリクエストする方式とします。
監視結果はApplication Insightsの可用性タブにて、各リクエストの成功・失敗の結果やレスポンスタイムを確認できます。
からの記事と詳細 ( 【Azureでカオスエンジニアリング】Azure Chaos StudioでVMSSにカオスを挿入する - CodeZine(コードジン) )
https://ift.tt/VxTKiUh
0 Comments:
Post a Comment