Azure Chaos Studio の障害とアクション

Azure Chaos Studio では、実験の一部として発生するすべてのアクティビティを "アクション" と呼びます。 最も一般的なアクションの種類は、"障害" です。 この記事では、アクションと障害、およびそれぞれのプロパティについて説明します。

実験アクション

アクションは、カオス実験の一部として調整される任意のアクティビティです。 アクションはステップとブランチに編成され、アクションを順番に、または並列して実行できます。 各アクションには、次のプロパティがあります。

  • 名前: 実行される特定のアクション。 通常、名前はアクションの URN の形式です (例: urn)。
  • 種類: アクションの実行方法。 アクションには、"連続" または "個別" のいずれかを指定できます。 連続するアクションは、一定期間にわたって止まらずに実行されます。 たとえば、CPU 負荷を 10 分間の適用する場合です。 個別のアクションは 1 回だけ発生します。 たとえば、Azure Cache for Redis インスタンスの再起動です。

アクションのタイプ

Chaos Studio には、次の 2 種類のアクションがあります。

  • 障害: このアクションにより、1 つ以上のリソースが中断されます。
  • 時間の遅延: このアクションは、リソースに影響を与えることなく "待機" します。 前の障害の影響を受けたシステムを待機するために、障害の間に一時停止する場合に便利です。

障害

Chaos Studio では、障害が最も一般的なアクションです。 障害によってシステムに中断が発生し、可用性に影響を与えることなく、システムがその中断を効果的に処理することを確認できます。

障害の原因は次のとおりです。

  • 破壊的である。 たとえば、障害によってプロセスが強制終了される場合があります。
  • 圧力の適用。 たとえば、障害によって仮想メモリ不足が発生する場合があります。
  • 待機時間の追加。
  • 構成の変更。

名前と種類の他に、障害には、連続する場合には "継続時間" と、"パラメーター" が含まれます。 パラメーターは、障害を適用する方法を記述し、障害名に固有です。 たとえば、Azure Cosmos DB フェールオーバー障害のパラメーターは、書き込みリージョンの障害時に書き込みリージョンに昇格される読み取りリージョンです。 一部のパラメーターは必須ですが、その他は省略可能です。

障害は、ターゲットの種類に応じて "エージェントベース" か、"サービス直接" のいずれかです。 エージェントベースの障害では、Chaos Studio エージェントを仮想マシンまたは仮想マシン スケール セットにインストールする必要があります。 エージェントは、Windows と Linux の両方で使用できますが、障害の一部は両方のオペレーティング システムでは使用できません。 各オペレーティング システムでサポートされている障害については、Chaos Studio の障害とアクション ライブラリに関するページを参照してください。 サービスダイレクト障害では、エージェントは必要ありません。 Azure リソースに対して直接実行されます。

障害には、障害が実行されるリソースを記述するセレクターの名前も含まれます。 セレクターの詳細については、「カオス実験」を参照してください。 障害は、リソースがターゲットとしてオンボードされ、対応する障害機能がリソースで有効になっている場合にのみ、リソースに影響を与える可能性があります。

次のステップ

これで、アクションと障害について理解したので、次のことを行う準備ができました。