翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で Systems Manager SSMドキュメントを使用する AWS FIS
AWS FIS は、 AWS Systems Manager SSM エージェントおよび AWS FIS アクション を通じてカスタム障害タイプをサポートしますaws:ssm:send-command。一般的な障害挿入アクションの作成に使用できる事前設定済みの Systems Manager SSMドキュメント (SSM ドキュメント) は、 AWSFIS- プレフィックスで始まるパブリック AWS ドキュメントとして使用できます。
SSM エージェントは、Amazon EC2インスタンス、オンプレミスサーバー、または仮想マシン () にインストールして設定できる Amazon ソフトウェアですVMs。これにより、これらのリソースは Systems Manager で管理できるようになります。エージェントは Systems Manager からのリクエストを処理し、リクエストに指定されたとおりにそれらを実行します。独自のSSMドキュメントを含めてカスタム障害を挿入したり、Amazon が所有するパブリックドキュメントの 1 つを参照したりできます。
要件
SSM エージェントがターゲットに対してアクションを実行する必要があるアクションについては、以下を確認する必要があります。
-
エージェントがターゲットにインストールされていること。SSM エージェントは、一部の Amazon マシンイメージ () にデフォルトでインストールされますAMIs。それ以外の場合は、インスタンスに SSM エージェントをインストールできます。詳細については、「 AWS Systems Manager ユーザーガイド」のEC2「インスタンス用の SSM エージェントを手動でインストールする」を参照してください。
-
Systems Manager にはインスタンスでアクションを実行する権限がありません。IAM インスタンスプロファイルを使用してアクセス権を付与します。詳細については、「 ユーザーガイド」の「Systems Manager のインスタンスIAMプロファイルを作成する」および「インスタンスプロファイルをインスタンスにアタッチするAWS Systems Manager 」を参照してください。 IAM EC2
aws:ssm:send-command アクションを使用します
SSM ドキュメントは、Systems Manager がマネージドインスタンスで実行するアクションを定義します。Systems Manager には、事前設定済みのドキュメントが多数含まれていますが、独自のドキュメントを作成することもできます。独自のSSMドキュメントの作成の詳細については、「 ユーザーガイド」の「Systems Manager ドキュメントの作成AWS Systems Manager 」を参照してください。SSM ドキュメント全般の詳細については、「 ユーザーガイド」の「 AWS Systems Manager ドキュメントAWS Systems Manager 」を参照してください。
AWS FIS は、事前設定されたSSMドキュメントを提供します。事前設定されたSSMドキュメントは、 AWS Systems Manager コンソールのドキュメント で表示できますhttps://console.aws.amazon.com/systems-manager/
実験で AWS FIS SSMドキュメントを使用するには、 aws:ssm:send-commandアクションを使用できます。このアクションは、ターゲットインスタンスで指定されたSSMドキュメントを取得して実行します。
実験テンプレート内で aws:ssm:send-command
アクションを使用する場合は、以下を含むアクションの追加パラメータを指定する必要があります。
-
documentArn – 必須。SSM ドキュメントの Amazon リソースネーム (ARN)。
-
documentParameters - 条件付き。SSM ドキュメントが受け入れる必須およびオプションのパラメータ。形式は、文字列であるキーと、文字列または文字列の配列である値を持つJSONオブジェクトです。
-
documentVersion - オプション。実行するSSMドキュメントのバージョン。
Systems Manager コンソールまたはコマンドラインを使用して、 SSM ドキュメントの情報 (ドキュメントのパラメータを含む) を表示できます。
コンソールを使用して SSMドキュメントに関する情報を表示するには
-
で AWS Systems Manager コンソールを開きますhttps://console.aws.amazon.com/systems-manager/
。 -
ナビゲーションペインで、[ドキュメント] を選択します。
-
ドキュメントを選択し、[Details (詳細)] タブをクリックします。
コマンドラインを使用して SSMドキュメントに関する情報を表示するには
SSM describe-document コマンドを使用します。
事前設定済み AWS FISSSMドキュメント
実験テンプレートの aws:ssm:send-command
アクションで、事前設定された AWS FISSSMドキュメントを使用できます。
要件
-
が提供する AWS FIS事前設定済みSSMドキュメントは、以下のオペレーティングシステムでのみサポートされています。
Amazon Linux 2023、Amazon Linux 2、Amazon Linux
Ubuntu
RHEL 7、8、9
CentOS 8、9
-
が提供する AWS FIS事前設定済みSSMドキュメントは、 EC2インスタンスでのみサポートされます。オンプレミスサーバーなど、他のタイプのマネージドノードではサポートされていません。
これらのSSMドキュメントをECSタスクの実験で使用するには、対応する を使用しますAmazon ECSアクション。たとえば、aws:ecs:task-cpu-stress アクションは AWSFIS-Run-CPU-Stress ドキュメントを使用します。
ドキュメント
AWSFIS-Run-CPU-Stress
stress-ng ツールを使用してインスタンスにCPUストレスを実行します。AWSFIS-Run--Stress CPU
アクションタイプ (コンソールのみ)
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 - オプション。ターゲットCPU負荷の割合。0 (負荷なし) から 100 (全負荷) です。デフォルトは 100 です。
-
InstallDependencies - オプション。値が
True
の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルト:True
。依存関係は stress-ng です。
以下はコンソールで入力できる文字列の例です。
{"DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Disk-Fill
インスタンスのルートボリュームにディスク容量を割り当てて、ディスクフル障害をシミュレートします。AWSFIS-Run-Disk-Fill
この障害を挿入する実験が手動または停止条件によって停止された場合、 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 と fallocate です。
以下はコンソールに入力できる文字列の例です。
{"DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-IO-Stress
stress-ng ツールを使用して、インスタンスに対して IO ストレスを実行します。AWSFIS-Run-IO-Stress
アクションタイプ (コンソールのみ)
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
killall コマンドを使用して、インスタンス内の指定されたプロセスを停止します。AWSFIS-Run-Kill-Process
アクションタイプ (コンソールのみ)
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
stress-ng ツールを使用して、インスタンスに対してメモリストレスを実行します。AWSFIS-Run-Memory-Stress
アクションタイプ (コンソールのみ)
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
iptablesツールを使用して、プロトコルおよびポートのインバウンドトラフィックまたはアウトバウンドトラフィックをドロップします。AWSFIS-Run-Network-Blackhole-Port
アクションタイプ (コンソールのみ)
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、および iptables です。
以下はコンソールに入力できる文字列の例です。
{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Latency
tc ツールを使用して、ネットワークインターフェイスにレイテンシーを追加します。AWSFIS-Run-Network-Latency
アクションタイプ (コンソールのみ)
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
特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール tc を使用してネットワークインターフェイスにレイテンシーとジッタを追加します。AWSFIS-Run-Network-Latency-Sources
アクションタイプ (コンソールのみ)
aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency-Sources
ドキュメントパラメータ
-
Interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
DelayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
JitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
Sources – 必須。ソースはカンマで区切ります。指定できる値は、IPv4アドレス、IPv4CIDRブロック、ドメイン名、、
DYNAMODB
および ですS3
。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。 -
TrafficType - オプション。トラフィックの種類。指定できる値は
ingress
およびegress
です。デフォルト:ingress
。 -
DurationSeconds – 必須。ネットワーク遅延テストの継続時間 (秒単位)。
-
InstallDependencies - オプション。値が
True
の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます (まだインストールされていない場合)。デフォルト:True
。依存関係は、atd、dig、 jq および tc です。
以下はコンソールに入力できる文字列の例です。
{"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
tc ツールを使用してネットワークインターフェイスへのパッケージの損失を追加します。AWSFIS-Run-Network-Packet-Loss
アクションタイプ (コンソールのみ)
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、dig、および tc です。
以下はコンソールに入力できる文字列の例です。
{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Packet-Loss-Sources
特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール tc を使用してネットワークインターフェイスへのパッケージの損失を追加します。AWSFIS-Run-Network-Packet-Loss-Sources
アクションタイプ (コンソールのみ)
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss-Sources
ドキュメントパラメータ
-
Interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
LossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
Sources – 必須。ソースはカンマで区切ります。指定できる値は、IPv4アドレス、IPv4CIDRブロック、ドメイン名、、
DYNAMODB
および ですS3
。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。 -
TrafficType - オプション。トラフィックの種類。指定できる値は
ingress
およびegress
です。デフォルト:ingress
。 -
DurationSeconds – 必須。ネットワークパケット損失テストの継続時間 (秒単位)。
-
InstallDependencies - オプション。値が
True
の場合、ターゲットインスタンスに必要な依存関係が、Systems Manager によってンストールされます。デフォルト:True
。依存関係は、atd、dig、 jq および tc です。
以下はコンソールに入力できる文字列の例です。
{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
例
実験テンプレートの例については、「事前設定された AWS FIS SSM ドキュメントを実行する」を参照してください。
チュートリアルの例については、「インスタンス上で CPU ストレスを実行する」を参照してください。
トラブルシューティング
次の手順を使用して、問題のトラブルシューティングを行います。
SSM ドキュメントに関する問題のトラブルシューティングを行うには
で AWS Systems Manager コンソールを開きますhttps://console.aws.amazon.com/systems-manager/
。 -
ナビゲーションペインの [Node Management (ノード管理)] で、[Run Command (コマンドを実行)] を選択します。
-
[コマンド履歴] タブでは、フィルターを使用してドキュメントの実行場所を特定します。
-
コマンドの ID を選択して、詳細ページを開きます。
-
インスタンスの ID を選択します。各ステップの出力とエラーを確認します。