SHOEISHA iD

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

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

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

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

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

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

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

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

対象読者

  • 業務系システムの開発者、インフラ担当者
  • 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実行環境のセットアップは完了です。

次のページ
Azure Virtual Machineへのカオス挿入方法

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング