カオスエンジニアリングで急なVMの停止に備えよう~Azure 仮想マシン スケール セット(VMSS)にカオス挿入
クラウドネイティブ時代の実践カオスエンジニアリング 第3回
この回では、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が置き換えられます。
この記事は参考になりましたか?
- この記事の著者
-
奥村 康晃(株式会社NTTデータ)(オクムラ ヤスアキ)
NTTデータ入社以来、クラウドサービスのAPIを連携させることで効率的な管理を可能とするクラウド管理プラットフォームの開発に従事。現在では、クラウド導入の技術コンサルや組織での技術戦略立案にも携わる。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
