View a markdown version of this page

フロントエンド - AWS での分散負荷テストソリューション

フロントエンド

フロントエンドは、ソリューションとやり取りするためのインターフェイスを提供し、以下のものを含みます。

  • プログラムによるアクセスのための負荷テスト API

  • パフォーマンステストを作成、スケジューリング、実行するためのウェブコンソール

  • テスト結果とエラーの AI 支援型分析のためのオプションの MCP サーバー

負荷テスト API

AWS での分散負荷テストでは、ソリューションの RESTful API をホストするよう Amazon API Gateway を設定します。ユーザーは、付属のウェブコンソール、RESTful API、およびオプションの MCP サーバー を使用して、安全に負荷テストシステムとやり取りできます。API は、Amazon DynamoDB に保存されているテストデータにアクセスするための「フロントドア」として機能します。また、API を使用して、ソリューションに独自に拡張機能を組み込むことも可能です。

このソリューションでは、Amazon Cognito ユーザープールのユーザー認証機能を使用します。ユーザーが正常に認証されると、Amazon Cognito は、コンソールからソリューションの API (Amazon API Gateway エンドポイント) にリクエストの送信を許可する JSON のウェブトークンを発行します。HTTPS リクエストは、トークンを含む認証ヘッダーとともにコンソールから API に送信されます。

リクエストに基づいて、API Gateway は適切な AWS Lambda 関数を呼び出して、DynamoDB テーブルに保存されるデータに対して必要なタスクを実行し、テストシナリオを JSON オブジェクトとして Amazon S3 に保存し、Amazon CloudWatch メトリクスのイメージを取得して、テストシナリオを AWS Step Functions ステートマシンに送信します。

ソリューションの API の詳細については、このガイドの「Distributed load testing API」セクションを参照してください。

ウェブコンソール

このソリューションには、テストの設定と実行、実行中のテストのモニタリング、詳細なテスト結果の表示に使用できるウェブコンソールが含まれています。コンソールは、直感的なウェブアプリケーションを構築するオープンソースの設計システムである Cloudscape で構築された ReactJS アプリケーションです。アプリケーションには AWS Amplify を使用しており、Amazon Cognito と統合してユーザーを認証します。ウェブコンソールには、実行中のテストのライブデータを表示するオプションもあり、AWS IoT Core の対応するトピックをサブスクライブします。

このソリューションは、3 つのウェブコンソールホスティングオプションをサポートしています。バックエンドアーキテクチャと Cognito 認証は、すべてのオプションで同じです。

  • CloudFront + S3 (デフォルト) - コンソールは、Amazon S3 でホストされ、Amazon CloudFront を介してアクセスします。ウェブコンソールの URL は CloudFront ディストリビューションのドメイン名で、CloudFormation の出力で Console として確認できます。CloudFormation テンプレートを起動すると、ウェブコンソールの URL とそれにログインするためのワンタイムパスワードが記載された E メールも届きます。

  • ALB + ECS Fargate - コンソールは、お客様が用意した ACM 証明書とカスタムドメインを持つ Application Load Balancer の背後にある ECS Fargate サービスで実行されます。AWS WAF ウェブ ACL は ALB の前にデプロイされ、一般的なウェブベースの攻撃をフィルタリングします。このオプションは、VPC ブロックパブリックアクセス (BPA) ポリシーによってパブリック CloudFront ディストリビューションからのトラフィックが妨げられる環境や、パブリックインターネットへの露出がゼロの組織に適しています。デプロイの手順については、「ALB + ECS Fargate を使用したデプロイ」を参照してください。

  • ヘッドレス (独自のウェブサーバーを使用) - このソリューションはバックエンドのみをデプロイし、ウェブコンソールの静的アセットのダウンロード可能な zip アーカイブを提供します。コンソールは独自のウェブサーバーでホストします。このオプションは、パブリック向け AWS エンドポイントなしで完全なネットワーク分離を必要とする組織や、既存のオンプレミスまたは企業管理のインフラストラクチャでコンソールをホストする必要がある組織に適しています。デプロイの手順については、「ヘッドレステンプレートを使用してデプロイする (独自のウェブサーバーを使用する)」を参照してください。

MCP サーバー (オプション)

オプションのモデルコンテキストプロトコル (MCP) サーバーは、自然言語でのやり取りを通じて負荷テストデータにアクセスし、分析するための AI 開発ツール用の追加のインターフェイスを提供します。このコンポーネントは、ソリューションのデプロイ中に MCP サーバーのオプションを選択した場合にのみデプロイされます。

MCP サーバーを使用すると、AI エージェントは Amazon Q、Claude、その他の MCP 互換 AI アシスタントなどのツールを使用して、テスト結果のクエリ、パフォーマンスメトリクスの分析、負荷テストデータについてのインサイトを取得できます。MCP サーバーのアーキテクチャと設定の詳細については、このセクションの「MCP Server」を参照してください。