架構概觀 - AWS 上的分散式負載測試

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

架構概觀

架構圖

使用預設參數部署此解決方案會在您的 AWS 帳戶中部署下列元件。

AWS 上 AWS 架構的分散式負載測試

DLT MCP 程序
注意

AWS CloudFormation 資源是從 AWS 雲端開發套件 (AWS CDK) 建構模組建立。

使用 AWS CloudFormation 範本部署之解決方案元件的高階程序流程如下:

  1. 分散式負載測試器 API 利用 Amazon API Gateway 來叫用解決方案的微服務 (AWS Lambda 函數)。

  2. 微服務提供商業邏輯來管理測試資料並執行測試。

  3. 這些微服務會與 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDBAWS Step Functions 互動,以存放測試案例詳細資訊和結果,並協調測試執行。

  4. Amazon Virtual Private Cloud (Amazon VPC) 網路拓撲部署,其中包含在 AWS Fargate 上執行的解決方案 Amazon Elastic Container Service (Amazon ECS) 容器。

  5. 這些容器使用已安裝 Taurus 負載測試架構的 Amazon Linux 2023 基礎映像。Taurus 是一種開放原始碼測試自動化架構,支援 JMeter、K6、Locust 和其他測試工具。容器映像符合 Open Container Initiative (OCI) 規範,並由 AWS 在 Amazon Elastic Container Registry (Amazon ECR) 公有儲存庫中託管。如需詳細資訊,請參閱容器映像自訂

  6. 採用 AWS Amplify 技術的 Web 主控台會部署到設定為靜態 Web 託管的 S3 儲存貯體。

  7. Amazon CloudFront 提供對解決方案網站儲存貯體內容的安全公開存取。

  8. 在初始組態期間,解決方案會建立預設管理員角色 (IAM 角色),並將存取邀請傳送至客戶指定的使用者電子郵件地址。

  9. Amazon Cognito 使用者集區會管理 主控台、分散式負載測試器 API 和 MCP Server 的使用者存取權。

  10. 部署此解決方案之後,您可以使用 Web 主控台或 APIs 來建立和執行測試案例,以定義一系列任務。

  11. 微服務會使用此測試案例,在指定區域中的 Fargate 上執行 ECS 任務。

  12. 當測試完成時,解決方案會將結果儲存在 S3 和 DynamoDB 中,並在 Amazon CloudWatch 中記錄輸出。

  13. 如果您啟用即時資料選項,解決方案會在測試期間針對執行測試的每個區域,將 CloudWatch 日誌從 Fargate 任務傳送至 Lambda 函數。

  14. Lambda 函數會將資料發佈至部署主要堆疊之區域中 AWS IoT Core 中的對應主題。Web 主控台會訂閱主題,並在測試執行時顯示即時資料。

    注意

    下列步驟說明 AI 輔助負載測試分析的選用 MCP 伺服器整合。只有在解決方案部署期間選取 MCP 伺服器選項時,才會部署此元件。

  15. MCP 用戶端 (AI 開發工具) 會連線至 AWS AgentCore Gateway 端點,以透過模型內容通訊協定存取分散式負載測試解決方案的資料。AgentCore Gateway 驗證使用者的 Cognito 身分驗證字符,以確保授權存取 MCP 伺服器。

  16. 身分驗證成功後,AgentCore Gateway 會將 MCP 工具請求轉送至 DLT MCP Server Lambda 函數。Lambda 函數會將結構化資料傳回 AgentCore Gateway,並將其傳回 MCP 用戶端以進行 AI 輔助分析和洞察。

  17. Lambda 函數會處理請求並查詢適當的 AWS 資源 (DynamoDB 資料表、S3 儲存貯體或 CloudWatch 日誌),以擷取請求的負載測試資料。