チュートリアル: を使用してインスタンスにCPUストレスを実行する AWS FIS - AWS 障害インジェクションサービス

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

チュートリアル: を使用してインスタンスにCPUストレスを実行する AWS FIS

以下を使用できます..。 AWS Fault Injection Service (AWS FIS) アプリケーションがCPUストレスをどのように処理するかをテストします。このチュートリアルでは、 を使用する実験テンプレートを作成します。 AWS FIS インスタンスでCPUストレスを実行する事前設定済みSSMドキュメントを実行する 。このチュートリアルでは、インスタンスのCPU使用率が設定されたしきい値を超えたときに、停止条件を使用して実験を停止します。

詳細については、「事前設定 AWS FIS済みSSMドキュメント」を参照してください。

前提条件

を使用する前に AWS FIS CPUストレスを実行するには、次の前提条件を満たします。

IAM ロールを作成する

ロールを作成し、 を有効にするポリシーをアタッチする AWS FIS ユーザーに代わって aws:ssm:send-commandアクションを使用する。詳細については、「AWS FIS 実験用の IAM ロール」を参照してください。

へのアクセスを確認する AWS FIS

へのアクセス権があることを確認する AWS FIS。詳細については、「」を参照してくださいAWS FIS ポリシーの例

テストEC2インスタンスを準備する
  • 事前設定済みSSMドキュメントの必要に応じて、Amazon Linux 2 または Ubuntu を使用してEC2インスタンスを起動します。

  • インスタンスは によって管理される必要がありますSSM。インスタンスが によって管理されていることを確認するにはSSM、Fleet Manager コンソール を開きます。インスタンスが によって管理されていない場合はSSM、 SSM エージェントがインストールされていること、およびインスタンスに A mazonSSMManagedInstanceCoreポリシーを持つIAMロールがアタッチされていることを確認します。インストールされている SSM エージェントを確認するには、インスタンスに接続し、次のコマンドを実行します。

    Amazon Linux 2

    yum info amazon-ssm-agent

    Ubuntu

    apt list amazon-ssm-agent
  • インスタンスの詳細モニタリングを有効にします。追加料金で、1 分間のデータを取得できます。インスタンスを選択し、[Actions (アクション)][Monitor and troubleshoot] (モニタリングとトラブルシューティング)[Manage detailed monitoring (詳細モニタリングの管理)] の順に選択します。

ステップ 1: 停止条件の CloudWatch アラームを作成する

CPU 使用率が指定したしきい値を超えた場合に実験を停止できるように CloudWatch アラームを設定します。次の手順では、ターゲットインスタンスのしきい値を 50% のCPU使用率に設定します。詳細については、「停止条件」を参照してください。

CPU 使用率がしきい値を超えたことを示すアラームを作成するには
  1. で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. ターゲットインスタンスを選択し、アクション、モニタリングとトラブルシューティングアラームの管理 CloudWatch を選択します。

  4. アラーム通知 では、トグルを使用して Amazon SNS通知をオフにします。

  5. アラームのしきい値を使用する場合は、以下の設定を使用します。

    • サンプルのグループ化: 最大

    • サンプリングするデータのタイプ: CPU使用率

    • 割合 (%): 50

    • 間隔: 1 Minute

  6. アラームの設定が終わったら、[Create (作成)] を選択します。

ステップ 2: 実験テンプレートを作成する

を使用して実験テンプレートを作成する AWS FIS コンソール。テンプレートでは、実行するアクション aws:ssm:send-command/AWSFIS-Run-CPU-Stress を指定します。

実験テンプレートを作成するには
  1. を開く AWS FIS の コンソールhttps://console.aws.amazon.com/fis/

  2. ナビゲーションペインで、[実験テンプレート] を選択します。

  3. [実験テンプレートの作成] を選択します。

  4. [説明と名前] に、テンプレートの説明と名前を入力します。

  5. [操作] で、以下の作業を行います。

    1. [アクションの追加] を選択します。

    2. アクションに名前を入力します。例えば、runCpuStress と入力します。

    3. アクションタイプ で、aws:ssm:send-command/AWSFIS-Run-CPU-Stress を選択します。これにより、SSMドキュメント ARN の が自動的にドキュメント ARNに追加されます。

    4. ターゲット では、ターゲットを次のように保持します。 AWS FIS がユーザーに代わって作成します。

    5. [アクションパラメーター][ドキュメントパラメータ] には、次のように入力します。

      {"DurationSeconds":"120"}
    6. アクションパラメータ 期間 には、5 分 () を指定しますPT5M。

    7. [Save] を選択します。

  6. [ターゲット] で、以下の作業を行います。

    1. そのターゲットの編集を選択します。 AWS FIS は、前のステップで自動的に作成されます。

    2. デフォルト名を、よりわかりやすい名前に置き換えます。例えば、 testInstanceと入力します。

    3. [リソースタイプ]aws:ec2:instance になっていることを確認します。

    4. ターゲットメソッド で、リソース IDsを選択し、テストインスタンスの ID を選択します。

    5. [選択モード] で、すべてを選択します。

    6. [Save] を選択します。

  7. サービスアクセス で、既存のIAMロール を使用 を選択し、このチュートリアルの前提条件で説明されているように作成したIAMロールを選択します。ロールが表示されない場合は、必要な信頼関係があることを確認してください。詳細については、「AWS FIS 実験用の IAM ロール」を参照してください。

  8. 停止条件 で、ステップ 1 で作成した CloudWatch アラームを選択します。

  9. (オプション) タグで、[Add Tag (タグの追加)] を選択して、タグのキーと値を指定します。追加するタグは、テンプレートを使用して実行される実験ではなく、実験テンプレートに適用されます。

  10. [Create experiment template (実験テンプレートの作成)]を選択します。

(オプション) 実験テンプレートを表示するには JSON

[エクスポート] タブを選択します。以下は、前述のコンソール手順でJSON作成された の例です。

{ "description": "Test CPU stress predefined SSM document", "targets": { "testInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id" ], "selectionMode": "ALL" } }, "actions": { "runCpuStress": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress", "documentParameters": "{\"DurationSeconds\":\"120\"}", "duration": "PT5M" }, "targets": { "Instances": "testInstance" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:region:123456789012:alarm:awsec2-instance_id-GreaterThanOrEqualToThreshold-CPUUtilization" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISSSMActions", "tags": {} }

ステップ 3: 実験を開始する

実験テンプレートの作成が完了したら、それを使用して実験を開始できます。

実験を開始するには
  1. 作成した実験テンプレートの詳細ページに移動する必要があります。または、[実験テンプレート] の ID を選択して、詳細ページを開きます。

  2. [実験を開始する] を選択します。

  3. (オプション) 実験にタグを追加するには、[新しいタグを追加] を選択し、タグキーとタグ値を入力します。

  4. [実験を開始する] を選択します。確認を求められたら、start をクリックします。[実験を開始する] を選択します。

ステップ 4: 実験の進行状況を追跡する

実験が完了、停止、または失敗するまで、実行中の実験の進行状況を追跡できます。

実験の進行状況を追跡するには
  1. 始めたばかりの実験の詳細ページにいるはずです。または、[Experiments (実験)] の ID を選択して、詳細ページを開きます。

  2. 実験の状態を表示するには、状態の詳細ペインを確認してください。詳細については、「実験状態」を参照してください。

  3. 実験状態が実行中のときは、次のステップに進みます。

ステップ 5: 実験結果の検証

実験の実行中にインスタンスのCPU使用率をモニタリングできます。CPU 使用率がしきい値に達すると、アラームがトリガーされ、停止条件によって実験が停止します。

実験の結果を検証するには
  1. [停止条件] タブを選択します。緑の境界線と緑のチェックマークアイコンは、アラームの初期状態が OK であることを示しています。赤い線は、アラームのしきい値を示します。より詳細なグラフが必要な場合は、ウイジェットメニューから [拡大する] を選択します。

    約 50% の低アクティビティ期間後にCPU使用率が 100% に急上昇したことを示すグラフ。
  2. CPU 使用率がしきい値を超えると、停止条件タブの赤い境界線と赤い感嘆符アイコンは、アラームの状態が に変わったことを示しますALARM詳細ペインでは、実験の状態は停止です。状態を選択すると、表示されるメッセージは「実験を停止条件で停止しました」です。

    時間の経過に伴うCPU使用率を示すグラフで、しきい値の赤い線が 50% になっています。
  3. CPU 使用率がしきい値を下回ると、緑の境界線と緑のチェックマークアイコンは、アラームの状態が に変わったことを示しますOK

  4. (オプション) ウィジェットメニューから [アラームの表示] を選択します。これにより、 CloudWatch コンソールでアラームの詳細ページが開き、アラームの詳細を取得したり、アラーム設定を編集したりできます。

ステップ 6: クリーンアップする

この実験用に作成したテストEC2インスタンスが不要になった場合は、終了できます。

インスタンスを終了するには
  1. で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. テストインスタンスを選択し、[インスタンスの状態][インスタンスの終了] の順に選択します。

  4. 確認を求めるメッセージが表示されたら、[終了] を選択します。

実験テンプレートが不要になった場合は、削除できます。

を使用して実験テンプレートを削除するには AWS FIS コンソール
  1. を開く AWS FIS の コンソールhttps://console.aws.amazon.com/fis/

  2. ナビゲーションペインで、[Experiment templates (実験テンプレート)] を選択します。

  3. 実験テンプレートを選択し、[アクション][実験テンプレートの削除] を選択します。

  4. 確認を求められたら、delete と入力し、[実験テンプレートの削除] を選択します。