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

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

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

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

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

前提条件

を使用して AWS FISCPUストレスを実行する前に、次の前提条件を完了してください。

IAM ロールを作成する

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

へのアクセスを検証する AWS FIS

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

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

  • インスタンスは によって管理される必要がありますSSM。インスタンスが によって管理されていることを確認するにはSSM、Fleet Manager コンソールを開きます。インスタンスが によって管理されていない場合はSSM、 SSM エージェントがインストールされていること、およびインスタンスに AmazonSSMManagedInstanceCore ポリシーを持つ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. https://console.aws.amazon.com/fis/ で AWS FIS コンソールを開きます。

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

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

  4. ステップ 1、テンプレートの詳細を指定するには、次の手順を実行します。

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

    2. へを選択し、ステップ 2、アクションとターゲットを指定するに進みます。

  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. へ を選択して、ステップ 3、サービスアクセスの設定に移動します。

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

  9. へ を選択して、ステップ 4、オプション設定の構成に移動します。

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

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

  12. へを選択してステップ 5、確認して作成に進みます。

  13. テンプレートを確認し、実験テンプレートの作成を選択します。確認を求められたら、「」と入力しcreate実験テンプレートの作成を選択します。

(オプション) 実験テンプレートを表示するには 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. https://console.aws.amazon.com/fis/ で AWS FIS コンソールを開きます。

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

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

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