Chaos Studio ワークスペースの概要

Chaos Studio ワークスペースは、Azure Chaos StudioでAzure回復性テストを行う現在のリソース モデルです。 ワークスペースを使用して、スコープ内のリソースを検出し、停止パターンをシミュレートするシナリオを選択し、各シナリオの実行で何が起こったかを確認します。 ワークスペースのクイックスタートから始めるか、ゾーンの障害、ネットワークの停止、データベースのフェールオーバーに関するシナリオ カタログを確認します。

Important

Chaos Studio ワークスペースとシナリオはパブリック プレビュー段階です。 Microsoftは、このプレビューを "そのまま" および "利用可能な場合" で提供し、サービス レベルアグリーメントまたは制限付き保証の対象ではありません。 Microsoftは、ベスト エフォートベースでプレビューのカスタマー サポートを提供します。 このプレビューは、運用環境での使用を目的としていません。 詳細については、以下の記事を参照してください。

個々のアクションを組み立ててリソースを手動で選択する代わりに、特定の障害パターンに対する適切なアクション、リソース検出、シーケンス処理が既に含まれている名前付きシナリオから開始します。 この方法では、"ゾーンダウンの回復性をテストする必要があります" から実際のテスト実行までのより高速なパスが提供されます。

Chaos Studio ワークスペースを使用する理由

停止シミュレーションは、障害がどのように発生するかを反映する場合に最も役立ちます。 実際のインシデントは、一度に 1 つのリソースには影響しません。 ゾーン障害が発生すると、仮想マシンが停止し、ロード バランサーが中断され、データベースのフェールオーバーが同時に強制されます。 ワークスペースは、個々のアクションからではなく、停止パターン (シナリオ) から開始することで、このパターンに対処します。

ワークスペースは、組織の構造に合わせて十分な柔軟性も備えます。 ワークスペースは、アプリケーションごと、運用前環境ごと、チームごと、またはコンプライアンス境界ごとに作成できます。 スコープによってワークスペースが検出するリソースが制御されるため、ワークフローを変更することなく、1 つのリソース グループからサブスクリプション全体にスケーリングできます。 複数のアプリケーションを管理するチームは、個別のスコープ、ID、シナリオの構成を使用して、それぞれ個別のワークスペースを維持できます。

ワークスペースにより、チームの足かせとなるセットアップ時の手間も解消されます。 ワークスペースでは、リソースを手動で選択してアクションを一度に 1 つずつ構成する代わりに、インフラストラクチャが検出され、見つかったリソースに適用されるシナリオが表示されます。 シナリオの実行後、実行されたアクション、スキップされたアクション、各実行にかかった時間、実行が成功したかどうかなど、正確に文書化されたシナリオ レポートが表示されます。

ワークスペースの編成方法

ワークスペースには、次の 4 つの主要な部分があります。

スコープは、ワークスペースで表示できるAzureリソースを定義します。 スコープは、サブスクリプション、リソース グループ、またはサービス グループに設定します。 Chaos Studio は次に、そのスコープ内のリソースを検出し、使用可能なシナリオに照合します。 後でリソースを追加または削除すると、ワークスペースはその変更を自動的に反映します。

Note

ワークスペースは、ワークスペース自体がデプロイされている場所に関係なく、任意のAzure リージョン内のリソースを操作できる論理リソースです。 ターゲット リソースと同じリージョンにワークスペースを作成する必要はありません。 実験 (クラシック) では、ターゲットと機能をリソースと併置する必要があります。

ID は、ワークスペースがリソースに対してアクションを実行するために使用するマネージド ID です。 ID はセキュリティ境界として機能します。これにより、ロールベースのアクセス制御 (Azure RBAC) ロールの割り当てが適切Azure承認されたプリンシパルのみが、特定のリソースに対してアクションを実行できるようになります。 爆発半径を制御するには、テストするリソースに正確に ID ロールを付与します。それ以上は許可しません。 ワークスペースで作成されたシステム割り当てマネージド ID、またはワークスペース間で共有されるユーザー割り当てマネージド ID を使用できます。 ポータルでは、作成後に不足しているロールを割り当てるように求めるメッセージが表示されます。または、手動で構成することもできます。

シナリオ ライブラリ は、ワークスペースで使用できるシナリオのカタログです。 Chaos Studioは、スコープ内で検出されたリソースに基づいてライブラリを設定します。 各シナリオでは、シミュレートする停止パターン、作成するアクション、および影響を受けるリソースについて説明します。 シナリオを構成するには、ライブラリからシナリオを選択し、停止する可用性ゾーンなどの必要なパラメーターを指定します。

シナリオ レポート は、各シナリオの実行後に生成されます。 レポートには、実行メタデータ (シナリオ名、ワークスペース、実行 ID、状態、開始時刻、終了時刻)、各アクションの状態と期間を含むアクションの概要テーブル、および実行フローのタイムラインが表示されます。 レポートは、コンプライアンス レビュー、インシデント後の振り返り、回復性の成熟度評価の証拠として使用できます。

スコープの種類

ワークスペースを作成するときに、次の 3 つのスコープの種類のいずれかを選択します。

スコープの種類 内容 いつ使用するか
サブスクリプション 1 つのAzure サブスクリプション内のすべてのリソース サブスクリプション全体にわたる広範な検出。 サブスクリプションごとにワークロードを整理するチームに適しています。
リソース グループ 1つのリソース グループ内のすべてのリソース 1 つのリソース グループに存在する特定のアプリケーションまたはサービスに対する重点的なテスト。
サービス グループ サブスクリプション間で定義されたリソースのセット 複数のサブスクリプションにまたがるアプリケーションのクロスサブスクリプション テスト。

スコープを構成した後、Chaos Studioは、その中のリソースをスキャンし、それらに対して実行できるシナリオを決定します。 ワークスペースを再作成せずに、後でスコープを変更できます。

マネージド ID

ワークスペースのマネージド ID は、実行時にアクションを実行するセキュリティ プリンシパルです。 個人の資格情報を使用してアクションが実行されることはありません。 マネージド ID はすべてのアクションを実行し、AZURE RBAC が実行できる操作を制御します。 この設計は、ID が爆発半径コントロールとして機能することを意味します。テストする予定のリソースに対してロールを付与すると、他のリソースに触れることはできません。 シナリオをトリガーするアクセス許可を持ち、ワークスペース ID がターゲット リソースに対して適切なロールを持つユーザーのみがアクションを実行できます。 この 2 層モデル (トリガーできるユーザーと ID が到達できる内容) により、適切なユーザーが適切なリソースに対して適切なテストを実行できるようになります。

次の 2 つのオプションがあります。

  • システム割り当てマネージド ID: ワークスペースで自動的に作成され、そのライフサイクルに関連付けられます。 ワークスペースを削除すると、ID が削除されます。
  • ユーザー割り当てマネージド ID: 個別に作成され、ワークスペースにアタッチされます。 複数のワークスペース間で共有し、そのライフサイクルを個別に管理できます。

ワークスペースを作成すると、ポータルで必要なロールを割り当てることができます。 スコープに対して ID に読み取りアクセス権を付与するよう求められ、シナリオ構成を保存すると、検証で不足しているアクセス許可が報告され、それらを修正するオプションが提示されます。 組織でこれらの割り当てを制限している場合は、手動でアクセス許可を付与できます。 必要な ロールの割り当ての 完全な一覧については、「ロールの割り当てのしくみ」を参照してください。

シナリオとアクション

シナリオは、特定の停止パターンをシミュレートする、名前付きの構成済みの回復性テストです。 各シナリオには、テストを構成する 1 つ以上の アクション (個々の中断とシーケンス処理の手順) が含まれています。 手動で組み立てる必要はありません。 シナリオでは、実行するアクションを、どのような順序で、どのリソースの種類に対して定義します。

Chaos Studioでは、最も一般的な停止パターンに対してサポートされているシナリオ テンプレートのセットが提供されます。 必要なパターンに一致するものがない場合は、 シナリオ デザイナー を使用してテンプレートから開始し、そのアクションとパラメーターを独自の保存されたシナリオにカスタマイズします。

シナリオ カタログ、シナリオ デザイナー、および各シナリオが作成するアクションの詳細については、「Azure Chaos Studioのシナリオ」を参照してください。

シナリオ レポート

シナリオの実行が完了すると、Chaos Studioはシナリオ レポートを生成します。 レポートには次のものが含まれます。

  • 実行の詳細: シナリオ名、構成、ワークスペース、実行 ID、全体的な状態、開始時刻、終了時刻。
  • アクションの概要: 各アクションの表示名、状態 (成功、スキップ、失敗)、期間、開始時刻と終了時刻、影響を受けるリソース、および使用されるパラメーターを一覧表示するテーブル。
  • アクション タイムライン: 各アクションが開始され、実行全体に対して終了したタイミングを示す視覚的なタイムライン。
  • 実行フロー: 各ノードの状態と期間を含む、実行のステップと分岐の構造の図。

Azure ポータルでレポートを表示し、ダウンロードして、関係者と共有することができます。 実行されたアクションとその結果をレポートします。 それらを独自のアプリケーションの正常性チェックと監視と組み合わせて、エンドツーエンドの回復を検証します。

シナリオ レポートの詳細なチュートリアルについては、Azure Chaos Studioのシナリオ レポートを参照してください。

実験との関係 (クラシック)

従来のリソース モデルである実験 (クラシック) は、Chaos Studio ワークスペースに置き換えられます。 2 つのモデルでは、異なるリソースが使用されます。 ワークスペースでは、アクションを組み合わせたシナリオを使用します。 実験 (クラシック) モデルでは、実験、ターゲット、機能、および障害が使用されます。 一般公開されているリソース モデルが必要な場合、またはシナリオ カタログに必要な障害または機能の組み合わせがまだ含まれていない場合にのみ、実験 (クラシック) を使用します。

サイド バイ サイドの比較については、「Chaos Studio ワークスペースと実験 (クラシック) の選択」を参照してください。 既存の実験を移動するには、「実験 (クラシック) から Chaos Studio ワークスペースへの移動」を参照してください。

回復性テストを選択する

シナリオ カタログとチュートリアルを使用して、テストをリソースに一致させます。

テストを実行する前に 、ワークスペースのアクセス許可と ID と ワークスペースの制限 を確認します。

問題を報告し、機能を要求する

Azure Chaos Studioはオープンで開発されています。 バグを報告したり、機能を要求したり、ワークスペース、シナリオ、またはAzure CLI拡張機能について質問したりするには、GitHubの Chaos Studio リポジトリで問題を開きます。 問題を提出することで、その進行状況を追跡し、他の顧客からの要求を確認できます。

次のステップ