View a markdown version of this page

AWS DevOps エージェントの統合 - AWS での分散負荷テストソリューション

AWS DevOps エージェントの統合

AWS DevOps エージェントを使用すると、AWS での分散負荷テストソリューションから直接負荷テスト結果の調査を自動化できます。エージェントスペースを接続すると、完了したテスト実行を分析のためにエージェントに送信できます。エージェントは、Amazon CloudWatch メトリクス、ログ、トレースを手動で関連付けることなく、パフォーマンスのボトルネックをプロアクティブに特定し、根本原因を判断し、修復ステップを提案します。

前提条件

エージェントスペースを AWS での分散負荷テスト (DLT) に接続する前に、次の手順を実行します。

  • エージェントスペースは、DLT のデプロイと同じ AWS アカウントに存在する必要があります。

  • エージェントスペースには、キー dlt-integration と値 allowed でタグ付けする必要があります。このタグは二重同意を確立します。DLT オペレーターとエージェントスペース管理者は、DLT がエージェントスペースにアクセスする前に明示的なアクションを実行する必要があります。

  • エージェントスペース ARN が有効であっても、DLT がテスト接続または調査リクエストを受け入れるには、dlt-integration: allowed タグが存在している必要があります。

タグを追加するには、[AWS DevOps エージェントコンソール] を選択し、エージェントスペースを選択します。[設定] タブを選択します。[タグ] セクションまで下へスクロールし、[新しいタグを追加] を選択し、キーとして dlt-integration を、値として allowed を入力し、[保存]を選択します。

エージェントスペースを登録する

エージェントスペースにタグを付けたら、次の手順を実行して DLT に登録します。

  1. DLT ウェブコンソールの左側のサイドバーで [エージェント統合] を選択します。

  2. [DevOps エージェント接続] セクションで、[エージェントスペースの登録] を選択します。

  3. 表示名を入力し、AWS DevOps エージェントコンソールからエージェントスペース ARN を貼り付けます。

  4. [テスト接続] を選択して、ARN に到達可能であり、dlt-integration: allowed タグが存在することを確認します。

  5. 接続が確認されたら、[保存] を選択します。

複数のエージェントスペースを登録し、調査をトリガーするときにそれらのスペースから選択できます。

テスト実行を調査する

少なくとも 1 つのエージェントスペースを登録したら、完了したテスト実行から調査を開始できます。各テスト実行の詳細ページに、[DevOps エージェントで調査する] ボタンが表示されます。以下のステップを実行します。

  1. テスト実行の完了後 (成功、失敗、または一部成功) に [DevOps エージェントで調査する] を選択します。

  2. 複数のエージェントスペースを登録した場合は、リストから 1 つを選択します。

  3. 必要に応じて、最近のインフラストラクチャの変更の説明や、期待されるパフォーマンスベースラインなど、追加のコンテキストを指定します。

  4. [Submit] を選択してください。

調査はテスト実行の詳細ページの [調査] タブに表示されます。ここでステータスを追跡し、リンクを選択して AWS DevOps エージェントコンソールで検出結果を表示できます。

注記

AWS DevOps エージェントは、調査の説明に 10,000 文字の制限を設けています。ソリューションによって送信される説明は、オプションのコンテキストと、テスト実行の DLT 生成の概要 (テスト設定、ベースライン比較、カウントでソートされた上位エラー、エンドポイントごとの内訳) を組み合わせたものです。制限内に収まるように、このソリューションはテスト設定とユーザー提供のコンテキストを優先し、合計長が 10,000 文字を超える場合は、エンドポイントごとの内訳から優先度の低いセクションをトリミングします。

検出結果を確認する

AWS DevOps エージェントの調査は通常数分で完了しますが、エージェントスペースの設定によってはさらに時間がかかる場合があります。完了したら、[調査] タブで [結果を表示する] を選択し、AWS DevOps エージェントコンソールで検出結果を開きます。

検出結果には以下が含まれます。

  • レイテンシーやエラーの原因となったコンポーネントを特定する、構造化された根本原因分析。

  • テスト期間中に観察された症状のリスト。

  • 具体的な修復案。

調査はテスト実行レコードの存続期間にわたって DLT の [調査] タブに残るため、アプリケーションの進化に応じて以前の分析を参照できます。

推奨されるワークフロー

AWS DevOps エージェントの統合を最大限に活用するには、デプロイ、ロードテスト、調査、修復、および繰り返しという反復パフォーマンス調整ループの一部として使用します。ループを通過するたびに、エージェントにとって比較する履歴が増え、変更によってパフォーマンスが向上したことを示す測定可能な証拠が得られます。

  1. デプロイ – テストする環境にアプリケーションをデプロイし、「前提条件」と「エージェントスペースの登録」で説明されている 1 回限りのセットアップを完了します。

  2. ベースラインを確立する – 既知の正常なビルドに対してテストシナリオを実行し、実行をベースラインとして指定します (「ベースライン比較」を参照)。ベースラインを設定すると、ソリューションには調査リクエストとの比較が含まれるため、エージェントはリグレッションを通常のバリエーションと区別できます。

  3. 負荷テスト – 各アプリケーションまたはインフラストラクチャの変更後にテストシナリオを実行します。実行間でシナリオ設定を一定に保ち、結果を比較できるようにします。

  4. 調査 – 実行が完了したら、テスト実行の詳細ページで [DevOps エージェントで調査する] を選択します。エージェントが分析に集中できるように、前回の実行以降に何が変わったか (最近のデプロイ、設定変更、または期待したパフォーマンス) に関するコンテキストを提供します。

  5. 修復[調査] タブで根本原因と修復提案を確認するか、AWS DevOps エージェントコンソールで検出結果を開いて軽減計画を生成します。修正をアプリケーションまたはインフラストラクチャに適用します。

  6. 繰り返し – テストシナリオを再実行し、結果をベースラインと比較して修正を検証します。パフォーマンスが向上したら、新しい実行をベースラインとして指定し、次の変更でループを続行します。

注記

各テスト実行は、一度に 1 つのアクティブな調査をサポートします。同じテスト実行で新しい調査を開始する前に、[調査] タブから完了した調査をアーカイブします。