本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
架構概觀
架構圖
使用預設參數部署此解決方案會在您的 AWS 帳戶中部署下列元件。
AWS 架構上的分散式負載測試
注意
AWS CloudFormation 資源是從 AWS 雲端開發套件 (AWS CDK) 建構模組建立。
使用 AWS CloudFormation 範本部署之解決方案元件的高階程序流程如下:
-
(CloudFront + S3 託管部署選項) 主控台使用者透過 Amazon CloudFront
存取 Web 主控台,該服務提供託管在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中的 AWS Amplify 應用程式。 -
(ALB + ECS Fargate 託管部署選項) 主控台使用者透過 Application Load Balancer
存取 Web 主控台,它會將流量路由到 Amazon Virtual Private Cloud (Amazon VPC) 內 AWS Fargate 上 Amazon Elastic Container Service (Amazon ECS) 上執行的 AWS Amplify 應用程式。 Amazon Virtual Private Cloud -
(無頭部署選項) 未部署任何公有前端。解決方案在私有 Amazon S3 儲存貯體中提供可下載 ZIP 的 Web 主控台。主控台使用者可以從自我託管 Web 伺服器存取主控台。
-
在初始組態期間,解決方案會在 Amazon Cognito
使用者集區中建立預設管理員使用者,並將帳戶建立電子郵件傳送至您提供的電子郵件地址。Cognito 使用者集區可管理使用者對 Web 主控台、REST API、CLI 和 MCP Server 的存取。 -
Amazon API Gateway
會叫用 AWS Lambda 微服務,提供商業邏輯來管理測試資料並執行測試。 -
微服務會與 Amazon S3、Amazon DynamoDB
和 Amazon EventBridge 互動,以存放測試案例詳細資訊和管理測試排程。當您排程測試在未來的時間或週期性間隔執行時,微服務會建立 EventBridge 排程器排程,在排程時間調用微服務。 -
若要執行測試,微服務會叫用 AWS Step Functions
,以協調測試執行。 -
EventBridge 規則會將 Amazon ECS 任務和 Step Functions 失敗事件路由至失敗處理常式 Lambda 函數。
-
Step Functions 會在您選取的每個 AWS 區域中,於 AWS Fargate
上啟動 Amazon Elastic Container Service (Amazon ECS) 任務。 -
每個任務都會在所選區域中的 Amazon Virtual Private Cloud
(Amazon VPC) 中執行。 -
負載測試容器使用已安裝 Taurus
測試自動化架構的 Amazon Linux 2023 基礎映像。Taurus 會執行您的 JMeter、k6、Locust 或 Single HTTP Endpoint 測試。如需如何佈建每個測試架構的詳細資訊,請參閱測試架構佈建。ALB + ECS 選項將使用 Web 主機容器。容器映像由 AWS 在 Amazon Elastic Container Registry (Amazon ECR) 公有儲存庫中託管。 -
每個 Fargate 任務都會將其每個區域測試結果寫入 Amazon S3,並將日誌發送到 Amazon CloudWatch
。所有區域完成後,微服務會在 DynamoDB 中彙總結果。 -
如果您啟用即時資料選項,Lambda 函數會在測試期間從 Fargate 任務接收 CloudWatch 日誌。
-
Lambda 函數會將日誌發佈至部署主要堆疊之區域中 AWS IoT Core
中的主題。Web 主控台會訂閱主題,以在測試執行時顯示即時指標。 -
(選用 CLI 存取) 使用者可以在本機安裝 DLT 命令列界面 (CLI),以從其終端機與解決方案互動。CLI 透過 Cognito 驗證並直接呼叫 REST API,啟用指令碼化自動化和 CI/CD 整合。
注意
下列步驟說明 AI 輔助負載測試分析的選用 MCP 伺服器整合。只有在解決方案部署期間選取 MCP Server 選項時,才會部署此元件。
-
MCP 用戶端 (AI 開發工具) 會連線至 Amazon Bedrock AgentCore Gateway
端點,以透過模型內容通訊協定存取分散式負載測試解決方案的資料。AgentCore Gateway 驗證使用者的 Cognito 身分驗證字符,以確保授權存取 MCP 伺服器。 -
身分驗證成功後,AgentCore Gateway 會將 MCP 工具請求轉送至 DLT MCP Server Lambda 函數。
-
Lambda 函數會呼叫現有的 DLT REST API 來擷取請求的負載測試資料。然後,它會將結構化資料傳回 AgentCore Gateway,並將其傳回 MCP 用戶端以進行 AI 輔助分析和洞察。