

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

# 安全
<a name="security-1"></a>

當您在 AWS 基礎設施上建置系統時，安全責任會由您和 AWS 共同承擔。此[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)可減輕您的營運負擔，因為 AWS 會操作、管理和控制元件，包括主機作業系統、虛擬化層，以及服務營運所在設施的實體安全性。如需 AWS 安全性的詳細資訊，請造訪 [AWS Cloud Security](https://aws.amazon.com/security/)。

## IAM 角色
<a name="iam-roles"></a>

AWS Identity and Access Management (IAM) 角色可讓客戶將精細的存取政策和許可指派給 AWS 雲端上的服務和使用者。此解決方案會建立 IAM 角色，授予解決方案的 AWS Lambda 函數建立區域資源的存取權。

## Amazon CloudFront
<a name="amazon-cloudfront"></a>

此解決方案會部署[託管](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)在 Amazon S3 儲存貯體中的 Web UI，該儲存貯體由 Amazon CloudFront 分發。為了協助減少延遲並改善安全性，此解決方案包含具有原始存取身分的 CloudFront 分佈，這是提供解決方案網站儲存貯體內容公開存取權的 CloudFront 使用者。根據預設，CloudFront 分佈會使用 TLS 1.2 來強制執行最高層級的安全通訊協定。如需詳細資訊，請參閱《[Amazon CloudFront 開發人員指南》中的限制對 Amazon S3 原始伺服器的存取](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。 *Amazon CloudFront *

CloudFront 會啟用其他安全緩解措施，將 HTTP 安全標頭附加到每個檢視器回應。如需詳細資訊，請參閱在 [ CloudFront 回應中新增或移除 HTTP 標頭](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-response-headers.html)。

此解決方案使用預設 CloudFront 憑證，其具有 TLS v1.0 的最低支援安全通訊協定。若要強制使用 TLS v1.2 或 TLS v1.3，您必須使用自訂 SSL 憑證，而非預設 CloudFront 憑證。如需詳細資訊，請參閱[如何將 CloudFront 分佈設定為使用 SSL/TLS 憑證](https://aws.amazon.com/premiumsupport/knowledge-center/install-ssl-cloudfront/)。

## Amazon API Gateway
<a name="amazon-api-gateway"></a>

此解決方案部署邊緣最佳化的 Amazon API Gateway 端點，以使用預設 APIs Gateway 端點而非自訂網域為負載測試功能提供 RESTful API。對於使用預設端點的邊緣最佳化 APIs，API Gateway 會使用 TLS-1-0 安全政策。如需詳細資訊，請參閱《Amazon [ APIs》中的使用 REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api.html) API。 *Amazon API Gateway *

此解決方案使用預設 API Gateway 憑證，其具有 TLS v1.0 的最低支援安全通訊協定。若要強制使用 TLS v1.2 或 TLS v1.3，您必須使用具有自訂 SSL 憑證的自訂網域，而非預設 API Gateway 憑證。如需詳細資訊，請參閱[設定 REST APIs 的自訂網域名稱](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)。

## AWS Fargate 安全群組
<a name="aws-fargate"></a>

根據預設，此解決方案會將 AWS Fargate 安全群組的傳出規則開放給大眾。如果您想要封鎖 AWS Fargate 到處傳送流量，請將傳出規則變更為特定無類別網域間路由 (CIDR)。

此安全群組也包含傳入規則，允許連接埠 50，000 上的本機流量流向屬於相同安全群組的任何來源。這用於允許容器彼此通訊。

## Amazon VPC
<a name="amazon-vpc"></a>

 **VPC**：以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 為您提供 AWS 雲端中邏輯上隔離的私有網路。

您可以在部署期間在 [AWS CloudFormation 參數](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/launch-the-stack.html)中指定自己的 VPC。VPC 僅供產生負載的 ECS 任務使用；Web 主控台和 API 不會部署在此 VPC 中。如果您未指定現有的 VPC，解決方案將使用所需的聯網組態建立新的 VPC。如果您選擇使用現有的 VPC，則必須符合下列要求，才能成功執行負載測試任務。

### VPC 要求
<a name="vpc-requirements"></a>

與 AWS 上的分散式負載測試搭配使用的 VPC 最低需求如下所示。
+ VPC 必須至少包含兩個 AZs
+ VPC 必須至少包含兩個子網路，每個子網路都位於單獨的 AZ 中
+ VPC 子網路可以是公有或私有，但必須使用相同的組態 （公有或私有）
+ VPC 必須提供 ECR、CloudWatch Logs、S3 和 IoT Core 端點的存取權。
+ VPC 必須提供負載測試鎖定目標的 （服務） 存取權。

**注意**  
如果您沒有符合這些條件的 VPC，您可以使用 VPC 精靈快速建立 VPC。如需詳細資訊，請參閱[建立一個 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)。

公有子網路可以滿足這些要求，方法是包含下列項目：
+ 連接至 VPC 的網際網路閘道
+ 網際網路閘道的路由 (0.0.0.0/0)

私有子網路可以透過使用 NAT Gateway 或 VPC 端點來滿足這些需求，如下所述。

 **選項 1：NAT 閘道** 
+ 在具有私有子網路的每個 AZ 中部署 NAT 閘道
+ 設定路由表以透過 NAT Gateway 路由網際網路繫結流量 (0.0.0.0/0)

 **選項 2：VPC 端點** 

在 VPC 中建立下列 VPC 端點：
+ Amazon ECR API 端點： `com.amazonaws.<region>.ecr.api`
+ Amazon ECR DKR 端點： `com.amazonaws.<region>.ecr.dkr`
+ Amazon CloudWatch Logs 端點： `com.amazonaws.<region>.logs`
+ Amazon S3 Gateway 端點： `com.amazonaws.<region>.s3`
+ AWS IoT Core 端點 （如果使用即時資料圖表則為必要） `com.amazonaws.<region>.iot.data` 

其他 VPC 組態也可能運作。

**重要**  
連接到每個 VPC 端點界面的安全群組必須允許來自 ECS 任務安全群組的連接埠 443 上的傳入 TCP 流量。

 **安全群組組態** 

在部署期間，解決方案會在 VPC 中建立安全群組，以允許 ECS 叢集中具有任務的下列流量：
+ 所有傳出流量
+ 連接埠 50000 上的傳入流量來自相同安全群組中的其他任務，以促進工作者和領導者任務之間的協調。

## 網路壓力測試
<a name="network-stress-test"></a>

您有責任在[網路壓力測試政策](https://aws.amazon.com/ec2/testing/)下使用此解決方案。此政策涵蓋的情況包括當您計劃直接從 Amazon EC2 執行個體執行大量網路測試到其他位置，例如其他 Amazon EC2 執行個體、AWS 屬性/服務或外部端點。這些測試有時稱為壓力測試、負載測試或遊戲日測試。大多數客戶測試不會屬於此政策；不過，如果您認為產生的流量總計維持超過 1 分鐘、超過 1 Gbps （每秒 10 億位元） 或超過 1 Gpps （每秒 10 億封包）。

## 限制對公有使用者介面的存取
<a name="restricting-access-to-the-public-user-interface"></a>

若要限制存取 IAM 和 Amazon Cognito 提供的身分驗證和授權機制以外的公開使用者介面，請使用 [AWS WAF (Web 應用程式防火牆） 安全自動化解決方案](https://aws.amazon.com/solutions/implementations/aws-waf-security-automations/)。

此解決方案會自動部署一組可篩選常見 Web 型攻擊的 AWS WAF 規則。使用者可以從預先設定的保護功能中選取 ，這些功能定義 AWS WAF Web 存取控制清單 (Web ACL) 中包含的規則。

## MCP 伺服器安全性 （選用）
<a name="mcp-server-security"></a>

如果您部署選用的 MCP Server 整合，解決方案會使用 AWS AgentCore Gateway 提供安全的存取，以載入 AI 代理器的測試資料。AgentCore Gateway 會驗證每個請求的 Amazon Cognito 身分驗證字符，確保只有授權使用者可以存取 MCP 伺服器。MCP Server Lambda 函數實作唯讀存取模式，防止 AI 代理器修改測試組態或結果。所有 MCP 伺服器互動都使用與 Web 主控台相同的許可界限和存取控制。