SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

AWSとAzureのマネージドサービスで実践カオスエンジニアリング

【Azureでカオスエンジニアリング】Azure Chaos StudioでVMSSにカオスを挿入する

AWSとAzureのマネージドサービスで実践カオスエンジニアリング 第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、AWSやMicrosoft Azureが提供するカオスエンジニアリングのマネージドサービスの特徴と実際のカオスエンジニアリングの実践方法を紹介します。今回は、Azure Chaos Studioの利用方法と対応している機能について紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 前回の第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の可用性テスト

次のページ
実験内容

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
AWSとAzureのマネージドサービスで実践カオスエンジニアリング連載記事一覧

もっと読む

この記事の著者

中野 一成(株式会社NTTデータ)(ナカノ カズアキ)

 オンプレミスやパブリッククラウドで稼働する数多くの金融系システムの開発に従事。 最近では、Azureを使用した生命保険会社向けシステムの基盤開発、運用に携わる。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16633 2022/10/17 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング