CodeZine(コードジン)

特集ページ一覧

Chaos Toolkitでカオスエンジニアリングを体験しよう~Azure上のVMにカオス挿入

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

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

 前回は、なぜカオスエンジニアリングが求められるのか、その背景と、実践のプロセスについて紹介しました。今回は、カオスエンジニアリングツールであるChaos Toolkitのインストール方法やAzure Virtual Machineへのカオス挿入方法を紹介します。

目次

対象読者

  • 業務系システムの開発者、インフラ担当者
  • Azureの基本操作を知っている方

Chaos Toolkitとは

 Chaos Toolkitは、カオスエンジニアリングを実現するオープンソースソフトウェアです。Chaos Toolkitが提供する拡張機能を利用することにより、Azure、AWS、GCP(Google Cloud Platform)といったパブリッククラウドサービスやKubernetesなどのコンテナプラットフォームに対して疑似的な障害を発生させることができます。

 今日のカオスエンジニアリングツールとしては、Netflixが公開するAWS向けカオスエンジニアリングツール「Chaos Monkey」や、Chaos MonkeyをモデルにしたAzure向けカオスエンジニアリングツール「WazMonkey」がオープンソースソフトウェアとして公開されています。また、SaaS提供の「Gremlin」やAWSのマネージドサービスである「AWS Fault Injection Simulator」なども存在しています。

 Azureにおいても2021年3月に開催されたIgnite 2021にて「Azure Chaos Studio」が発表され、GAが待ち遠しい状況となっています(本記事執筆時点)。

 これらカオスエンジニアリングツールの中でもChaos Toolkitは、マルチプラットフォーム対応、かつ比較的お手軽に導入できるカオスエンジニアリングツールであるため、まずはカオスエンジニアリングを体験してみたいというニーズにマッチするツールと言えます。

 それでは、Chaos Toolkitを実際に動かすまでのプロセスを見ていきましょう。

Chaos Toolkitのインストール方法

 まず、Chaos Toolkitのインストール方法を説明します。Chaos Toolkitは、Python 3で実装されており、実行する環境にPythonのインストールが必要となります。Chaos Toolkitインストールの大まかな流れは以下の通りとなります。

  1. Pythonのインストール
  2. 仮想環境を作成
  3. Chaos Toolkitのインストール
  4. Azure用の拡張機能のインストール

1. Pythonのインストール

 Chaos Toolkitを実行するOS上にPythonをインストールします。各OSのPythonのインストール方法は以下の通りです。なお、Chaos ToolkitではPython 3.6以降を公式にサポートしています(本記事執筆時点)。

macOSの場合

$ brew install python3

Debian/Ubuntuの場合

$ sudo apt-get install python3 python3-venv

CentOS 7の場合

$ sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum -y install python35

Windowsの場合

 Pythonの公式サイトからパッケージをダウンロードして、インストールします。

2. 仮想環境を作成

 Pythonを使用した開発を実施する場合、専用の実行環境である仮想環境を作成することが一般的です。Chaos Toolkitでも仮想環境を利用することが推奨されているので、以下コマンドにより仮想環境を作成します。

 ここでは、CentOSにおけるコマンドの例を示します。

# 仮想環境を作成
$ python3 -m venv ~/.venvs/chaostk

# 仮想環境をアクティブ化
$ source ~/.venvs/chaostk/bin/activate

3. Chaos Toolkitのインストール

 以下のコマンドにより、仮想環境にChaos Toolkitをインストールします。

(chaostk) $ pip install -U chaostoolkit

 インストール後、以下のコマンドによりChaos Toolkitのバージョンを表示してみます。Chaos Toolkitのバージョンが表示されていれば、Chaos Toolkitが正しくインストールされています。

(chaostk) $ chaos --version

4. Azure用の拡張機能のインストール

 Azureに対してChaos Toolkitを実行するためにはAzure用の拡張機能が必要となるため、Azure用の拡張機能もインストールしておきます。インストール方法はシンプルで、以下のコマンドを実行することによりAzure用の拡張機能をインストールできます。

$ pip install -U chaostoolkit-azure

 これで、Azureに対するChaos Toolkit実行環境のセットアップは完了です。


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

あなたにオススメ

著者プロフィール

バックナンバー

連載:クラウドネイティブ時代の実践カオスエンジニアリング
All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5