Azure portal でエージェント ベースの障害を使用するカオス実験を作成する
カオス実験を使用して、制御された環境で障害を引き起こすことで、アプリケーションにこれらの障害に対する回復性があることを確認できます。 この記事では、カオス実験と Azure Chaos Studio を使用して、Linux 仮想マシン (VM) に高い割合の CPU 使用率イベントを発生させます。 この実験は、アプリケーションがリソース不足になることを防ぐのに役立ちます。
お客様がエージェント ベースの任意の障害の実験をセットアップして実行する際には、ここに示す手順をそのまま使用できます。 エージェント ベースの障害を使用するには、カオス エージェントのセットアップとインストールが必要です。 サービスダイレクト障害は、インストールやインストルメンテーションなしで、Azure リソースに対して直接実行されます。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
- バージョン互換性リストにあるオペレーティング システムを実行している Linux VM。 まだ仮想マシンを作成していない場合は、1 つ作成します。
- お使いの仮想マシンへの SSH 接続を可能にするネットワーク セットアップ。
- ユーザー割り当てマネージド ID がターゲットの仮想マシンまたは仮想マシン スケール セットに割り当てられていること。 ユーザー割り当てマネージド ID がない場合は、1 つ作成できます。
仮想マシンで Chaos Studio を有効にする
Chaos Studio で仮想マシンに対して障害を挿入するには、その前に、対象となる仮想マシンを Chaos Studio に追加しておく必要があります。 Chaos Studio に仮想マシンを追加するには、そのリソースにターゲットと機能を作成します。 次に、カオス エージェントをインストールします。
仮想マシンには、ターゲットの種類が 2 つあります。 1 つのターゲットの種類は、サービスダイレクト障害 (エージェント不要) を有効にするものです。 もう 1 つのターゲットの種類は、エージェント ベースの障害 (エージェントのインストールが必要) を有効にするものです。 カオス エージェントは、仮想マシン拡張機能として仮想マシンにインストールされるアプリケーションです。 これを使用して、ゲスト オペレーティング システムに障害を挿入します。
カオス ターゲット、機能、エージェントを有効にする
重要
以降の手順を完了する前に、ユーザー割り当てマネージド ID を作成しておく必要があります。 次に、その ID をターゲット仮想マシンまたは仮想マシン スケール セットに割り当てます。
Azure Portalを開きます。
検索バーで「Chaos Studio」を検索します。
[ターゲット] を選択し、仮想マシンに移動します。
仮想マシンの横にあるチェックボックスをオンにし、[ターゲットの有効化] を選択します。 次に、ドロップダウン メニューから [エージェント ベースのターゲットを有効にする] を選択します。
カオス エージェントの認証に使用するマネージド ID を選択し、必要に応じて Application Insights を有効にして、実験イベントとエージェント ログを表示します。
[確認と有効化]>[有効化] を選択します。
数分後、選択したリソースが有効化されたことを示す通知が表示されます。 Azure portal によって、ユーザー割り当て ID が仮想マシンに追加されます。 エージェントのターゲットと機能が有効化され、カオス エージェントが仮想マシン拡張機能としてインストールされます。
仮想マシン スケール セットを有効にする場合は、仮想マシン スケール セットのリソース ペインに移動し、インスタンスを最新のモデルにアップグレードします。 [インスタンス] を選択し、すべてのインスタンスを選択します。 使用しているモデルが最新でない場合は、[アップグレード] を選択します。
以上で、Chaos Studio に Linux 仮想マシンが追加されました。 [ターゲット] ビューでは、このリソースで有効になっている機能を管理することもできます。 リソースの横にある [アクションの管理] リンクを選択すると、そのリソースに対して有効になっている機能が表示されます。
実験の作成
実験を作成するための準備ができました。 カオス実験の作成時には、ターゲット リソースに対して実行するアクションを定義します。 アクションは編成され、順番に実行されます。 カオス実験では、ブランチに対して並列に実行するアクションも定義できます。
Chaos Studio の [実験] タブを選択します。 このビューでは、ご自分のすべてのカオス実験を表示および管理できます。 [作成]>[新しい実験] を選択します。
[サブスクリプション] 、 [リソース グループ] 、カオス実験をデプロイする [場所] の情報を入力します。 実験に名前を付けます。 [Next: Experiment designer] (次へ: 実験デザイナー >) を選択します。
現在表示されている画面は、Chaos Studio の実験デザイナーです。 実験に、ステップ、分岐、障害を追加して内容を構築できます。 ステップとブランチにわかりやすい名前を付けます。 次に アクションの追加 > 障害の追加 を選択します。
ドロップダウンリストから [CPU 負荷] を選択します。 [期間] に、負荷をかける期間の長さを分単位で入力します。 pressureLevel を、適用する CPU 使用率の負荷の % で入力します。 virtualMachineScaleSetInstances は空白のままにします。 [Next: Target resources] (次へ: ターゲット リソース >) を選択します。
仮想マシンを選択し、[次へ] を選択します。
実験の設定内容に間違いがないか再確認します。 次に、[確認と作成]>[作成] の順に選択します。
実験に仮想マシンへのアクセス許可を付与する
カオス実験を作成すると、ターゲット リソースに対して障害を実行するシステム割り当てマネージド ID が Chaos Studio によって作成されます。 実験を正常に実行するには、この ID にターゲット リソースへの適切なアクセス許可を付与する必要があります。
VM に移動し、[アクセス制御 (IAM)] を選択します。
[追加] > [ロール割り当ての追加] の順に選択します。
「閲覧者」を検索し、このロールを選択します。 [次へ] を選択します。
[メンバーの選択] を選び、実験名を検索します。 ご自分の実験を選択し、[選択] を選びます。 同じテナント内に同じ名前の実験が複数ある場合は、実験名が切り詰められ、ランダムな文字列が追加されます。
[確認と割り当て]>[確認と割り当て] を選択します。
実験を実行する
実験の実行準備が整いました。 影響を確認するため、Azure Monitor メトリック グラフを別のブラウザー タブで開き、仮想マシンの CPU 負荷を表示しておくことをお勧めします。
[実験] ビューで、使用する実験を選択します。 [開始]>[OK] を選択します。
[状態] が [実行中] に変わったら、[履歴] で、最新の実行の [詳細] を選択し、実行中の実験の詳細を確認します。
次のステップ
以上でエージェント ベースの実験の実行が済みました。この後は、以下の内容に進むことができます。