SHOEISHA iD

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

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

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

カオスエンジニアリングで急な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が置き換えられます。

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

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
VMSSに対する実験

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

  • このエントリーをはてなブックマークに追加
クラウドネイティブ時代の実践カオスエンジニアリング連載記事一覧

もっと読む

この記事の著者

奥村 康晃(株式会社NTTデータ)(オクムラ ヤスアキ)

 NTTデータ入社以来、クラウドサービスのAPIを連携させることで効率的な管理を可能とするクラウド管理プラットフォームの開発に従事。現在では、クラウド導入の技術コンサルや組織での技術戦略立案にも携わる。

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14858 2021/10/09 02:56

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング