本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Well-Architected 設計考量事項
此解決方案使用 AWS Well-Architected Framework
本節說明 Well-Architected Framework 的設計原則和最佳實務如何讓此解決方案受益。
卓越營運
本節說明如何使用卓越營運支柱的原則和最佳實務來建構此解決方案。
-
所有資源都定義為使用從 AWS CDK 建構產生之 AWS CloudFormation 範本的基礎設施程式碼。
-
解決方案會在各種階段將指標推送至 CloudWatch,以提供 Lambda 函數、ECS 任務、S3 儲存貯體和其他解決方案元件的可觀測性。
安全
本節說明如何使用安全支柱的原則和最佳實務來建構此解決方案。
-
Cognito 會驗證並授權 Web 主控台使用者和 API 請求。
-
所有服務間通訊都使用具有最低權限存取的 AWS Identity and Access Management
(IAM) 角色,只包含所需的最低許可。 -
所有資料儲存,包括 S3 儲存貯體和 DynamoDB 資料表,都會使用 AWS 受管金鑰加密靜態資料。
-
在適用於稽核和合規目的的情況下,會啟用記錄、追蹤和版本控制。
-
根據預設,網路存取是私有的,並在可用的情況下啟用 VPC 端點,以將流量保留在 AWS 網路中。
注意
解決方案會根據日誌磁碟區和成本考量,建立具有不同保留期的多個 CloudWatch 日誌群組:
| 日誌類型 | 保留期間 |
|---|---|
|
ECS 容器洞察 |
1 天 |
|
Step Functions、ECS 自訂日誌、API Gateway 存取日誌 |
1 年 |
|
Lambda 執行期日誌 |
2 年 |
|
API Gateway 執行日誌 |
永不過期 |
您可以在 CloudWatch 主控台中根據您的需求修改這些保留期間。
可靠性
本節說明如何使用可靠性支柱的原則和最佳實務來建構此解決方案。
-
解決方案會盡可能使用 AWS 無伺服器服務 (範例:Lambda、API Gateway、Amazon S3、AWS Step Functions、Amazon DynamoDB 和 AWS Fargate),以確保高可用性並從服務故障中復原。
-
所有運算處理都使用 Lambda 函數或 AWS Fargate 上的 Amazon ECS。
-
資料存放在 DynamoDB 和 Amazon S3 中,因此預設會保留在多個可用區域中。
效能效率
本節說明如何使用效能效率支柱的原則和最佳實務來建構此解決方案。
-
解決方案使用無伺服器架構,能夠視需要水平擴展。
-
解決方案可以在支援此解決方案中 AWS 服務的任何區域中啟動,例如:AWS Lambda、Amazon API Gateway、Amazon S3、AWS Step Functions、Amazon DynamoDB、Amazon ECS、AWS Fargate 和 Amazon Cognito。
-
解決方案全面使用 受管服務,以減少資源佈建和管理的操作負擔。
-
解決方案會每天自動測試和部署,以在 AWS 服務變更時達到一致性,並由解決方案架構師和主題專家針對要實驗和改進的領域進行審查。
成本最佳化
本節說明如何使用成本最佳化支柱的原則和最佳實務來建構此解決方案。
-
解決方案使用無伺服器架構;因此,客戶只需支付其使用量的費用。
-
Amazon DynamoDB 會隨需擴展容量,因此您只需為所使用的容量付費。
-
AWS Fargate 上的 AWS ECS 可讓您僅支付所使用的運算資源,無需預付費用。
-
AWS AgentCore Gateway 做為分散式負載測試 API 的成本效益 Lambda 型代理,無需專用基礎設施,並透過無伺服器pay-per-request定價降低成本。
永續性
本節說明如何使用永續性支柱的原則和最佳實務來建構此解決方案。
-
相較於持續操作內部部署服務,解決方案使用受管無伺服器服務,將後端服務對環境的影響降至最低。
-
無伺服器服務可讓您視需要擴展或縮減規模。