CodeZine(コードジン)

特集ページ一覧

カオスエンジニアリングで急なVMの停止に備えよう~Azure 仮想マシン スケール セット(VMSS)にカオス挿入

クラウドネイティブ時代の実践カオスエンジニアリング 第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 この回では、Azure 仮想マシン スケール セット(VMSS)を構成したシステムに対するカオス挿入について説明します。VMSSを利用することで、負荷や障害に応じたオートヒーリングを実現することが可能です。クラウドで起きうる事象である急なVMの再起動などを、Chaos Toolkitを活用し実験としてカオス挿入する方法や、それらに耐えるためのVMSSの設定について説明します。

目次

Chaos ToolkitでVMSSに挿入できるカオス

 Chaos Toolkitでは、VMSSに対するカオスとして、以下のアクションが用意されています。

# アクション名 内容
1 burn_io VMSS内のVMの1秒あたりのディスクI/O操作を増加させる。
2 deallocate_vmss VMSS内のVMの割り当て解除する。
3 delete_vmss VMSS内のVMを削除する。
4 fill_disk VMSS内のVMのディスクをランダムデータで埋める。
5 network_latency VMSS内のVMの応答時間を増やす。
6 restart_vmss VMSS内のVMを再起動する。
7 stop_vmss VMSS内のVMを停止する。
8 stress_vmss_instance_cpu VMSS内のVMのCPU使用率が100%となる負荷をかける。

VMSSに対する実験

カオスを挿入するシステム

 今回はVMSS内のVMの停止を発生させ、VMSS内の自動復旧機能が動作することを確認する実験を行います。

 NGINXをインストールしたカスタムイメージを作成し、VMSS内でそのカスタムイメージからVMを作成します。VMSSへのリクエストはロードバランサー経由でインターネットから到達させます。

今回実験を行う環境のアーキテクチャ
今回実験を行う環境のアーキテクチャ

 VMのカスタムイメージの作成は下記を参考にしてください。

 VMSSおよびロードバランサーの設定は下記を参考にしてください。

 VMSSによる自動修復の詳細な設定手順はこちらをご参照ください。ここでは、VMSSの自動修復機能を利用する上で最低限必要な2つの設定についてのみ説明します。

 まず、スケーリングの設定を以下にすることで必ずVM数を2に維持できます。何らかの理由でVMが削除されてしまってもVMが再作成されます。

スケーリングの設定
スケーリングの設定

 さらに、正常性と修復の設定を以下にすることで正常なVMのセットを維持できます。ロードバランサーの正常性プローブによって異常な状態であることが判明した場合、この機能により問題のあるVMと新規作成されたVMが置き換えられます。

正常性と修復の設定
正常性と修復の設定

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:クラウドネイティブ時代の実践カオスエンジニアリング

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5