次の方法で共有


ゾーン内のすべてのターゲットをシャットダウンするカオス実験を作成する

カオス実験で動的ターゲットを使用すると、実験の実行対象となるターゲットのセットを、実行中の条件評価に基づいて選択できます。 この記事では、仮想マシン スケール セットを動的ターゲットにして、可用性ゾーンに基づきインスタンスをシャットダウンする方法を説明します。 この実験は、障害発生時に備え、Azure Virtual Machine Scale Sets インスタンスを別のリージョンにフェールオーバーする動作のテストを実施するのに役立ちます。

動的ターゲットをサポートする任意の障害について、お客様が実験をセットアップして実行する際には、ここに示す手順をそのまま使用できます。 現在、動的ターゲット設定は、仮想マシン スケール セットのシャットダウンの場合についてのみサポートされています。

前提条件

仮想マシンで Chaos Studio を有効にする

Azure Chaos Studio では、リソースが Chaos Studio に追加されるまで、そのリソースに対して障害を挿入することはできません。 Chaos Studio にリソースを追加するには、リソースにターゲットと機能を作成します。

Virtual Machine Scale Sets のターゲットの種類は 1 つのみ (Microsoft-VirtualMachineScaleSet)、機能も 1 つのみ (shutdown) です。 その他のリソースには、ターゲットの種類が最大 2 つ含まれます。 ターゲットの種類の 1 つはサービスダイレクト障害用です。 もう 1 つのターゲットの種類はエージェントベース障害用です。 他のリソースには、場合によってその他多くの機能があります。

  1. Azure Portalを開きます。

  2. 検索バーで「Chaos Studio」を検索します。

  3. [ターゲット] を選択し、仮想マシン スケール セット リソースを見つけます。

  4. 仮想マシン スケール セット リソースを選択し、[ターゲットの有効化]>[サービスダイレクト ターゲットを有効にする] を順に選択します。

    仮想マシン スケール セット リソースが選択されている Chaos Studio の [ターゲット] 画面を示すスクリーンショット。

  5. [確認と有効化]>[有効化] を選択します。

以上で、Chaos Studio に仮想マシン スケール セットが追加されました。

実験の作成

実験を作成するための準備ができました。 カオス実験の作成時には、ターゲット リソースに対して実行するアクションを定義します。 アクションは編成され、順番に実行されます。 カオス実験では、ブランチに対して並列に実行するアクションも定義できます。

  1. Chaos Studio で、[実験]>[作成]>[新しい実験] に移動します。

    [作成] ボタンが強調表示されている [実験] 画面を示すスクリーンショット。

  2. リソースの名前付けのガイドラインに準拠した実験の名前を追加します。 [Next: Experiment designer] (次へ: 実験デザイナー >) を選択します。

    [次へ] ボタンが強調表示されている、実験の作成画面を示すスクリーンショット。

  3. ステップ 1ブランチ 1 で、[アクションの追加]>[障害の追加] を選択します。

    [障害の追加] ボタンが強調表示されている、実験の作成画面を示すスクリーンショット。

  4. VMSS シャットダウン (バージョン 2.0) 障害を選択します。 希望する期間の長さと、シャットダウンを突然発生させるかどうかを選択します。 [Next: Target resources] (次へ: ターゲット リソース >) を選択します。

    [障害の詳細] ビューを示すスクリーンショット。

  5. 実験で使用する仮想マシン スケール セット リソースを選択します。 [次へ: スコープ] を選択します。

    仮想マシン スケール セット リソースが選択されている、[障害の詳細] ビューを示すスクリーンショット。

  6. [ゾーン] ドロップダウン リストで、Virtual Machine Scale Sets インスタンス内の仮想マシン (VM) のシャットダウンを行わせるゾーンを選択します。 [追加] を選択します。

    [ゾーン 1] のみが選択されている、[障害の詳細] ビューを示すスクリーンショット。

  7. [確認と作成]>[作成] を選択して、実験を保存します。

実験に仮想マシンへのアクセス許可を付与する

カオス実験を作成すると、ターゲット リソースに対して障害を実行するシステム割り当てマネージド ID が Chaos Studio によって作成されます。 実験を正常に実行するには、この ID にターゲット リソースへの適切なアクセス許可を付与する必要があります。 これらの手順を任意のリソースとターゲットの種類に対して使用するには、手順 3 でロールの割り当てを変更し、そのリソースとターゲットの種類に適したロールに一致するようにします。

  1. 仮想マシン スケール セット リソースに移動し、[アクセス制御 (IAM)]>[ロール割り当ての追加] を選択します。

    仮想マシン スケール セット リソースのページを示すスクリーンショット。

  2. [ロール] タブで、[仮想マシン共同作成者] を選択し、[次へ] を選択します。

    仮想マシン スケール セットのアクセス制御の概要を示すスクリーンショット。

  3. [メンバーの選択] を選び、実験名を検索します。 実験を選択し、[選択] を選択します。 同じテナント内に同じ名前の実験が複数ある場合は、実験名が切り詰められ、ランダムな文字列が追加されます。

    [アクセスの制御の概要] を示すスクリーンショット。

  4. [確認と割り当て]>[確認と割り当て] を選択します。

    [アクセスの制御] の確認ページを示すスクリーンショット。

実験を実行する

実験の実行準備が整いました。

  1. Chaos Studio で、[実験] ビューに移動し、実験を選択して、[実験の開始] を選択します。

    [開始] ボタンが強調表示されている [実験] ビューを示すスクリーンショット。

  2. [OK] を選択して、実験の開始を確定します。

  3. [状態][実行中] に変わったら、[履歴] で、最新の実行の [詳細] を選択し、実行中の実験の詳細を確認します。 エラーが発生した場合は、[詳細] で内容を確認できます。 失敗したアクションを選択し、[失敗したターゲット] を展開表示します。

効果を確かめるには、Azure Monitor などのツールや、ポータルの [Virtual Machine Scale Sets] セクションを使用して、仮想マシン スケール セットのターゲットがシャットダウンされたかどうかをチェックします。 シャットダウンされている場合は、その仮想マシン スケール セットで実行されているサービスが期待どおり動作中になっていることを確認します。

この例では、カオス実験によって、期待どおりにゾーン 1 のインスタンスがシャットダウンされました。

[停止] 状態のインスタンスが表示された仮想マシン スケール セット リソースのページを示すスクリーンショット。

次のステップ

ヒント

仮想マシン スケール セットで自動スケール ポリシーを使用している場合は、この実験によって既存の仮想マシンがシャットダウンされた後、ポリシーによって新しい仮想マシンがプロビジョニングされます。 このアクションを回避するには、実験に並列ブランチを 1 つ追加し、そこに、仮想マシン スケール セットの microsoft.insights/autoscaleSettings リソースに対する自動スケールの無効化障害を含めます。 autoscaleSettings リソースをターゲットとして追加し、ロールを割り当てることを忘れないでください。

以上で、動的ターゲットを使用した仮想マシン スケール セット シャットダウン実験の実行が済み、以下の内容に進む準備ができました。