

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# FIS で Systems Manager SSM AWS ドキュメントを使用する
<a name="actions-ssm-agent"></a>

AWS FIS は、SSM エージェントと AWS Systems Manager FIS AWS アクション を通じてカスタム障害タイプをサポートします[aws:ssm:send-command](fis-actions-reference.md#ssm-send-command)。一般的なフォールトインジェクションアクションの作成に使用できる事前設定済みの Systems Manager SSM ドキュメント (SSM ドキュメント) は、AWSFIS プレフィックスで始まるパブリック AWS ドキュメントとして使用できます。

SSM Agentは、 Amazon EC2 インスタンス、オンプレミスサーバー、または仮想マシン (VM) にインストールして設定することができる Amazon のソフトウェアです。これにより、これらのリソースは Systems Manager で管理できるようになります。エージェントは Systems Manager からのリクエストを処理し、リクエストに指定されたとおりにそれらを実行します。独自の SSM ドキュメントを含めて、カスタム障害を注入したり、Amazon が所有するパブリックドキュメントの 1 つを参照したりできます。

**要件**

SSM Agent がターゲットに対して実行することになるアクションについては、次のことを確認する必要があります。
+ エージェントがターゲットにインストールされていること。SSM Agent が、Amazon マシンイメージ (AMI) にデフォルトで事前インストールされていること。または、インスタンスに SSM Agent をインストールできます。詳細については、『*AWS Systems Manager ユーザーガイド*』の「[Linux 用 EC2 インスタンスに SSM Agent を手動でインストールする](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html)」を参照してください。
+ Systems Manager にはインスタンスでアクションを実行する権限がありません。IAM インスタンスプロファイルを使用してアクセスを許可する必要があります。詳細については、『*AWS Systems Manager ユーザーガイド*』の「[Systems Manager の IAM インスタンスプロファイルを作成する](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)」および「[IAM インスタンスプロファイルを EC2 インスタンスにアタッチする](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-launch-managed-instance.html)」を参照してください。

## aws:ssm:send-command アクションを使用します
<a name="specifying-ssm-actions"></a>

SSM ドキュメントは、マネージドインスタンスで Systems Manager が実行するアクションを定義します。Systems Manager には、事前設定済みのドキュメントが多数含まれていますが、独自のドキュメントを作成することもできます。独自の SSM ドキュメント作成に関する詳細については、『*AWS Systems Manager ユーザーガイド*』の「[Systems Manager のドキュメントを作成する](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html)」を参照してください。SSM ドキュメント全般の詳細については、『*AWS Systems Manager ユーザーガイド*』の「[AWS Systems Manager ドキュメント](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html)」を参照してください。

AWS FIS は、事前設定された SSM ドキュメントを提供します。事前設定された SSM ドキュメントは、 AWS Systems Manager コンソールの**ドキュメント** [https://console.aws.amazon.com/systems-manager/documents](https://console.aws.amazon.com/systems-manager/documents) で表示できます。 AWS FIS コンソールで、事前設定されたドキュメントの選択から選択することもできます。詳細については、「[事前設定済みの AWS FIS SSM ドキュメント](#fis-ssm-docs)」を参照してください。

FIS 実験で SSM AWS ドキュメントを使用するには、 [aws:ssm:send-command](fis-actions-reference.md#ssm-send-command)アクションを使用できます。このアクションは、ターゲットインスタンスで指定された SSM ドキュメントをフェッチして実行します。

実験テンプレート内で `aws:ssm:send-command` アクションを使用する場合は、以下を含むアクションの追加パラメータを指定する必要があります。
+ **documentArn** – 必須。SSM ドキュメントの Amazon リソースネーム (ARN) 。
+ **documentParameters** - 条件付き。SSM ドキュメントに指定されている必須およびオプションのパラメータ。形式は JSON オブジェクトで、キーは文字列、値は文字列または文字列の配列です。
+ **documentVersion** - オプション。実行する SSM ドキュメントのバージョン。

Systems Manager コンソールまたはコマンドラインを使用して、SSM ドキュメントの情報 (ドキュメントのパラメータを含む) を表示できます。

**コンソールを使用して、SSM ドキュメントについての情報を表示するには**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) で AWS Systems Manager コンソールを開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. ドキュメントを選択し、**[Details (詳細)]** タブをクリックします。

**コマンドラインを使用して、SSM ドキュメントについての情報を表示するには**  
SSM [describe-document](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-document.html) コマンドを使用します。

**アクションの状態の詳細**  
SSM アクションの状態は、[SSM コマンドのステータスによって決まります](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)。

## 事前設定済みの AWS FIS SSM ドキュメント
<a name="fis-ssm-docs"></a>

実験テンプレートの `aws:ssm:send-command`アクションで、事前設定された AWS FIS SSM ドキュメントを使用できます。

**要件**
+ FIS が提供する事前設定済みの SSM AWS ドキュメントは、次のオペレーティングシステムでのみサポートされています。
  + Amazon Linux 2023、Amazon Linux 2
  + Ubuntu
  + RHEL 8、9
  + CentOS 9
+ FIS が提供する事前設定済みの SSM AWS ドキュメントは、EC2 インスタンスでのみサポートされています。オンプレミスサーバーなど、他のタイプのマネージドノードではサポートされていません。

ECS タスクの実験でこれらの SSM ドキュメントを使用するには、対応する [Amazon ECS アクション](fis-actions-reference.md#ecs-actions-reference) を使用してください。たとえば、**aws:ecs:task-cpu-stress** アクションは AWSFIS-Run-CPU-Stress ドキュメントを使用します。

**Topics**
+ [AWSFIS-Run-CPU-Stress](#awsfis-run-cpu-stress)
+ [AWSFIS-Run-Disk-Fill](#awsfis-run-disk-fill)
+ [AWSFIS-Run-IO-Stress](#awsfis-run-io-stress)
+ [AWSFIS-Run-Kill-Process](#awsfis-run-kill-process)
+ [AWSFIS-Run-Memory-Stress](#awsfis-run-memory-stress)
+ [AWSFIS-Run-Network-Blackhole-Port](#awsfis-run-network-blackhole-port)
+ [AWSFIS-Run-Network-Latency](#awsfis-run-network-latency)
+ [AWSFIS-Run-Network-Latency-Sources](#awsfis-run-network-latency-sources)
+ [AWSFIS-Run-Network-Packet-Loss](#awsfis-run-network-packet-loss)
+ [AWSFIS-Run-Network-Packet-Loss-Sources](#awsfis-run-network-packet-loss-sources)

**FIS SSM AWS ドキュメントのアクション期間と DurationSeconds の違い**  
 一部の SSM ドキュメントは、独自の実行時間を制限します。たとえば、DurationSeconds パラメータは、事前設定された FIS SSM AWS ドキュメントの一部で使用されます。そのため、FIS アクション定義で 2 AWS つの独立した期間を指定する必要があります。
+  **Action duration**: 1 つのアクションの実験の場合、アクション期間は実験期間と同等です。複数のアクションの場合、実験期間は個々のアクション期間と実行順序によって異なります。 AWS FIS は、アクション期間が経過するまで各アクションをモニタリングします。
+  ドキュメントパラメータ **DurationSeconds**: SSM ドキュメントが実行される時間を秒単位で指定します。

 2 種類の期間で異なる値を選択できます。
+  **Action duration exceeds DurationSeconds**: SSM ドキュメントの実行は、アクションが完了する前に終了します。 AWS FIS は、後続のアクションが開始される前にアクション期間が経過するまで待機します。
+  **Action duration is shorter than DurationSeconds**: SSM ドキュメントは、アクションが完了した後も実行を続行します。SSM ドキュメントの実行がまだ進行中で、アクション期間が経過した場合、アクションステータスは Completed に設定されます。 AWS FIS は、アクション期間が経過するまで実行のみをモニタリングします。

 一部の SSM ドキュメントには可変期間があることに注意してください。たとえば AWS 、FIS SSM ドキュメントには前提条件をインストールするオプションがあり、全体的な実行時間を指定された DurationSeconds パラメータを超えて延長できます。したがって、アクション期間と DurationSeconds を同じ値に設定すると、SSM スクリプトがアクション期間よりも長く実行される可能性があります。

### AWSFIS-Run-CPU-Stress
<a name="awsfis-run-cpu-stress"></a>

**stress-ng** ツールを使用して、インスタンスに対して CPU ストレスを実行します。[AWSFIS-Run-CPU-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-CPU-Stress/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-CPU-Stress

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-CPU-Stress

**ドキュメントパラメータ**
+ **DurationSeconds** – 必須。CPU ストレステストの継続時間 (秒単位)。
+ **CPU** - オプション。使用する CPU ストレッサーの数。デフォルト値は 0 で、すべての CPU ストレッサーを使用します。
+ **LoadPercent** - オプション。0 (無負荷) から 100 (全負荷) までのターゲット CPU 負荷率。デフォルトは 100 です。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は **stress-ng** です。

以下はコンソールで入力できる文字列の例です。

```
{"DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Disk-Fill
<a name="awsfis-run-disk-fill"></a>

インスタンスのルートボリュームにディスク容量を割り当てて、ディスクフル障害をシミュレートします。[AWSFIS-Run-Disk-Fill](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Disk-Fill/description) SSM ドキュメントを使用します。

この障害を挿入する実験が手動または停止条件によって停止された場合、 AWS FIS は実行中の SSM ドキュメントをキャンセルしてロールバックを試みます。ただし、障害または障害とアプリケーションのアクティビティが原因で、ディスクが 100% フルになると、Systems Manager でキャンセル操作を完了できないことがあります。そのため、実験を中止しなければならない場合は、ディスクを 100% フルにしないでください。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Disk-Fill

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Disk-Fill

**ドキュメントパラメータ**
+ **DurationSeconds** – 必須。ディスクフィルテストの継続時間 (秒単位)。
+ **Percent** - オプション。ディスクフィルテスト中に割り当てるディスクの割合。デフォルトは 95% です。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は **atd**、**kmod**、および です**fallocate**。

以下はコンソールに入力できる文字列の例です。

```
{"DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-IO-Stress
<a name="awsfis-run-io-stress"></a>

**stress-ng** ツールを使用して、インスタンスに対して IO ストレスを実行します。[AWSFIS-Run-IO-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-IO-Stress/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-IO-Stress

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-IO-Stress

**ドキュメントパラメータ**
+ **DurationSeconds** – 必須。IO ストレステストの継続時間 (秒単位)。
+ **Workers** - オプション。シーケンシャル、ランダム、およびメモリマップされた読み取り/書き込み操作、強制同期、およびキャッシュドロップの組み合わせを実行する Workers の数。複数の子プロセスが同じファイルに対して異なる I/O 操作を実行します。デフォルトは 1 です。
+ **Percent** - オプション。I/O ストレステスト中に使用するファイルシステム上の空き領域の割合。デフォルトは 80% です。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は **stress-ng** です。

以下はコンソールに入力できる文字列の例です。

```
{"Workers":"1", "Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Kill-Process
<a name="awsfis-run-kill-process"></a>

**killall** コマンドを使用して、インスタンス内の指定されたプロセスを停止します。[AWSFIS-Run-Kill-Process](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Kill-Process/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Kill-Process

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Kill-Process

**ドキュメントパラメータ**
+ **ProcessName** – 必須。停止するプロセスの名前。
+ **Signal** - オプション。コマンドと一緒に送信するシグナル。指定できる値は、`SIGTERM` (受信者が無視することを選択できる) と `SIGKILL` (無視できない) です。デフォルト: `SIGTERM`。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は **killall** です。

以下はコンソールに入力できる文字列の例です。

```
{"ProcessName":"myapplication", "Signal":"SIGTERM"}
```

### AWSFIS-Run-Memory-Stress
<a name="awsfis-run-memory-stress"></a>

**stress-ng** ツールを使用して、インスタンスに対してメモリストレスを実行します。[AWSFIS-Run-Memory-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Memory-Stress/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Memory-Stress

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Memory-Stress

**ドキュメントパラメータ**
+ **DurationSeconds** – 必須。メモリストレステストの継続時間 (秒単位)。
+ **Workers** - オプション。仮想メモリストレッサーの数。デフォルトは 1 です。
+ **Percent** – 必須。メモリストレステスト中に使用する仮想メモリの割合。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は **stress-ng** です。

以下はコンソールに入力できる文字列の例です。

```
{"Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Network-Blackhole-Port
<a name="awsfis-run-network-blackhole-port"></a>

**iptables**ツールを使用して、プロトコルおよびポートのインバウンドトラフィックまたはアウトバウンドトラフィックをドロップします。[AWSFIS-Run-Network-Blackhole-Port](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Blackhole-Port/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Network-Blackhole-Port

**ドキュメントパラメータ**
+ **Protocol** – 必須。プロトコル。指定できる値は `tcp` および `udp` です。
+ **Port** – 必須。ポート番号。
+ **TrafficType** - オプション。トラフィックの種類。指定できる値は `ingress` および `egress` です。デフォルトは `ingress` です。
+ **DurationSeconds** – 必須。ネットワークブラックホールテストの継続時間 (秒単位)。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は、**atd**、**dig**、 **lsof** および **iptables** です。

以下はコンソールに入力できる文字列の例です。

```
{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Network-Latency
<a name="awsfis-run-network-latency"></a>

**tc** ツールを使用して、ネットワークインターフェイスにレイテンシーを追加します。[AWSFIS-Run-Network-Latency](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Latency/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Network-Latency

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Network-Latency

**ドキュメントパラメータ**
+ **Interface** - オプション。ネットワークインターフェース。デフォルト: `eth0`。
+ **DelayMilliseconds** - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
+ **DurationSeconds** – 必須。ネットワーク遅延テストの継続時間 (秒単位)。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は、**atd**、**dig**、および **tc** です。

以下はコンソールに入力できる文字列の例です。

```
{"DelayMilliseconds":"200", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Network-Latency-Sources
<a name="awsfis-run-network-latency-sources"></a>

特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール **tc** を使用してネットワークインターフェイスにレイテンシーとジッタを追加します。[AWSFIS-Run-Network-Latency-Sources](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Latency-Sources/description) SSM ドキュメントを使用します。

`FlowsPercent` パラメータを使用して、接続の割合にレイテンシーを追加します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Network-Latency-Sources

**ドキュメントパラメータ**
+ **Interface** - オプション。カンマで区切られたネットワークインターフェイス。ALL 値と DEFAULT 値がサポートされています。デフォルトは で`DEFAULT`、オペレーティングシステムのプライマリネットワークインターフェイスをターゲットにします。
+ **DelayMilliseconds** - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
+ **JitterMilliseconds** - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
+ **FlowsPercent** - オプション。アクションの影響を受けるネットワークフローの割合。デフォルトの は 100 % です。
+ **Sources** – 必須。スペースなしでカンマで区切られたソース。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、AZ 名 (us-east-1a)、AZ ID (use1-az1)、ALL、`DYNAMODB`、および です`S3`。`DYNAMODB` または `S3` を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。
+ **TrafficType** - オプション。トラフィックの種類。指定できる値は `ingress` および `egress` です。デフォルトは `ingress` です。
+ **DurationSeconds** – 必須。ネットワーク遅延テストの継続時間 (秒単位)。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルトは `True` です。依存関係は、**atd**、**dig**、**jq**、**lsof**、および です**tc**。

このドキュメントを使用する場合、実験ロールには次のアクセス許可が必要です。
+ `ec2:DescribeInstances`
+ `ec2:DescribeSubnets`

以下はコンソールに入力できる文字列の例です。

```
{"DelayMilliseconds":"200", "JitterMilliseconds":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Network-Packet-Loss
<a name="awsfis-run-network-packet-loss"></a>

**tc** ツールを使用してネットワークインターフェイスへのパッケージの損失を追加します。[AWSFIS-Run-Network-Packet-Loss](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Packet-Loss/description) SSM ドキュメントを使用します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Network-Packet-Loss

**ドキュメントパラメータ**
+ **Interface** - オプション。ネットワークインターフェース。デフォルト: `eth0`。
+ **LossPercent** - オプション。パケット損失の割合。デフォルトは 7% です。
+ **DurationSeconds** – 必須。ネットワークパケット損失テストの継続時間 (秒単位)。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます。デフォルトは `True` です。依存関係は、**atd**、**lsof**、 **dig** および **tc** です。

以下はコンソールに入力できる文字列の例です。

```
{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
```

### AWSFIS-Run-Network-Packet-Loss-Sources
<a name="awsfis-run-network-packet-loss-sources"></a>

特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール **tc** を使用してネットワークインターフェイスへのパッケージの損失を追加します。[AWSFIS-Run-Network-Packet-Loss-Sources](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Packet-Loss-Sources/description) SSM ドキュメントを使用します。

`FlowsPercent` パラメータを使用して、接続の割合にパケット損失を挿入します。

**アクションタイプ (コンソールのみ)**  
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources

**ARN**  
arn:aws:ssm:*region*::document/AWSFIS-Run-Network-Packet-Loss-Sources

**ドキュメントパラメータ**
+ **Interface** - オプション。カンマで区切られたネットワークインターフェイス。ALL 値と DEFAULT 値がサポートされています。デフォルトは で`DEFAULT`、オペレーティングシステムのプライマリネットワークインターフェイスをターゲットにします。
+ **LossPercent** - オプション。パケット損失の割合。デフォルトは 7% です。
+ **FlowsPercent** - オプション。アクションの影響を受けるネットワークフローの割合。デフォルトの は 100 % です。
+ **Sources** – 必須。スペースなしでカンマで区切られたソース。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、AZ 名 (us-east-1a)、AZ ID (use1-az1)、ALL、`DYNAMODB`、および です`S3`。`DYNAMODB` または `S3` を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。
+ **TrafficType** - オプション。トラフィックの種類。指定できる値は `ingress` および `egress` です。デフォルトは `ingress` です。
+ **DurationSeconds** – 必須。ネットワークパケット損失テストの継続時間 (秒単位)。
+ **InstallDependencies** - オプション。値が `True` の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます。デフォルトは `True` です。依存関係は、**atd**、**dig**、**jq**、**lsof**、および です**tc**。

このドキュメントを使用する場合、実験ロールには次のアクセス許可が必要です。
+ `ec2:DescribeInstances`
+ `ec2:DescribeSubnets`

以下はコンソールに入力できる文字列の例です。

```
{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
```

## 例
<a name="fis-ssm-docs-example-template"></a>

実験テンプレートの例については、「[事前設定済みの AWS FIS SSM ドキュメントを実行する](experiment-template-example.md#cpu-fault-injection)」を参照してください。

チュートリアルの例については、「[インスタンス上で CPU ストレスを実行する](fis-tutorial-run-cpu-stress.md)」を参照してください。

## 制限事項
<a name="fis-ssm-docs-limitations"></a>
+ 次のドキュメントは並行して実行できません。
  + AWSFIS-Run-Network-Blackhole-Port
  + AWSFIS-Run-Network-Latency
  + AWSFIS-Run-Network-Latency-Sources
  + AWSFIS-Run-Network-Packet-Loss
  + AWSFIS-Run-Network-Packet-Loss-Sources

## ロールバックスクリプト
<a name="fis-ssm-docs-rollback"></a>

AWS FIS SSM ドキュメントは、フォールトインジェクション実験後にシステム状態を復元する安全メカニズムとしてロールバックスクリプトを自動的に作成します。これらのスクリプトにより、アクションが失敗したり、予期せず終了した場合でも、挿入された障害が確実に削除されます。

### ロールバックスクリプトの作成
<a name="fis-ssm-rollback-creation"></a>

フォールトインジェクション実験が開始されると、ロールバックスクリプトが自動的に作成されます。

**作成の詳細**
+ **Location** – スクリプトは `/var/lib/amazon/ssm/` ディレクトリに作成されます。
+ **命名パターン** – `{{FAULT_NAME}}-{{FAULT_IDENTIFIER}}-Rollback.sh` {{FAULT\_IDENTIFIER}} はランダムに生成された 32 文字の文字列です。
+ **タイミング** – 各フォールトインジェクション実験の開始時、フォールトインジェクションの開始前に作成されます。
+ **コンテンツ** – 特定の障害を元に戻すために必要なすべての環境変数とコマンドが含まれます。

たとえば、ネットワークレイテンシーの実験では、 でロールバックスクリプトを作成できます`/var/lib/amazon/ssm/NetworkLatency-abc123-Rollback.sh`。

### ロールバックログ記録
<a name="fis-ssm-rollback-logging"></a>

ロールバックスクリプトは、トラブルシューティングと監査の目的ですべてのロールバックアクティビティをキャプチャするためのデュアルログ記録を実装します。

**ログファイルの場所**  
ロールバックスクリプトを実行すると、次の 2 つの場所にログが作成されます。
+ **一時ファイル** – `/tmp/aws-fis-rollback-{{TIMESTAMP}}-{{PID}}.log`
+ **システムログ** – 施設とともに syslog に送信されます。 `local0.info`

**ログファイルの命名**  
一時ログファイルは、次の命名規則を使用します。

```
/tmp/aws-fis-rollback-{{YYYY-MM-DDTHH:MM:SSZ}}-{{PID}}.log
```

ここで{{、YYYY-MM-DDTHH:MM:SSZ}} は UTC タイムスタンプ、{{PID}} はロールバックスクリプトのプロセス ID です。

**Syslog 設定**  
ロールバックログは、次の設定で syslog に送信されます。
+ **タグ** – `aws-fis-rollback`
+ **優先度** – `local0.info`
+ **形式** – `[YYYY-MM-DDTHH:MM:SSZ] {{log_message}}`

**ロールバックログを表示するには**  
次のコマンドを使用して、systemd ジャーナルからのすべてのロールバックログを表示します。

```
sudo journalctl -t aws-fis-rollback
```

## トラブルシューティング
<a name="fis-ssm-docs-troubleshooting"></a>

次の手順を使用して、問題のトラブルシューティングを行います。

**SSM ドキュメントを使用して問題のトラブルシューティングを行います**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) で AWS Systems Manager コンソールを開きます。

1. ナビゲーションペインの **[Node Management (ノード管理)]** で、**[Run Command (コマンドを実行)]** を選択します。

1. **[コマンド履歴]** タブでは、フィルターを使用してドキュメントの実行場所を特定します。

1. コマンドの ID を選択して、詳細ページを開きます。

1. インスタンスの ID を選択します。各ステップの出力とエラーを確認します。