Monday, October 17, 2022

【Azureでカオスエンジニアリング】Azure Chaos StudioでVMSSにカオスを挿入する - CodeZine(コードジン)

misaltag.blogspot.com

はじめに

 前回の第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が持たない機能を除外したものとなります。

  1. 定常状態の定義
    1. 定常状態を定義する方法
    2. 異常状態の検知方法
  2. 影響範囲の限定
    1. カオス挿入の対象の選定方法
  3. 実験管理の負荷
    1. 実験の記録
    2. 実験のコード管理
    3. 実験の共有

前提条件

 今回の実験対象のシステムは、以下のように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の可用性タブにて、各リクエストの成功・失敗の結果やレスポンスタイムを確認できます。

Application Insightsの可用性テスト
Application Insightsの可用性テスト

Adblock test (Why?)


からの記事と詳細 ( 【Azureでカオスエンジニアリング】Azure Chaos StudioでVMSSにカオスを挿入する - CodeZine(コードジン) )
https://ift.tt/VxTKiUh
Share:

0 Comments:

Post a Comment