REL01-BP01 了解服務配額和限制 - 可靠性支柱

REL01-BP01 了解服務配額和限制

了解工作負載架構的預設配額和管理配額增加要求。知道哪些雲端資源限制 (例如,磁碟或網路) 具有潛在影響。

預期成果:客戶可以實作適當的準則來監控關鍵指標、基礎設施審查和自動化修復步驟,以確認是否未達到可能導致服務降級或中斷的服務配額和限制,以防止 AWS 帳戶中的服務降級或中斷。

常見的反模式:

  • 在部署工作負載時,未了解軟、硬體配額及其對所用服務的限制。

  • 部署替換工作負載時,未事先分析及重新設定必要的配額或聯絡支援人員。

  • 假設雲端服務沒有限制,且在使用服務時無須考量費率、限制、計數和數量。

  • 假設配額會自動增加。

  • 不知道配額要求的程序和時間表。

  • 假設每個服務在不同區域間的預設雲端服務配額都是相同的。

  • 假設可以違反服務限制,且系統會將限制自動擴展或增加到資源限制以上

  • 未以尖峰流量測試應用程式,以製造資源使用率的壓力。

  • 佈建資源時未分析必要的資源大小。

  • 選擇遠超出實際需求或預期尖峰的資源類型,而過度佈建容量。

  • 未在新的客戶事件或部署新技術之前事先評估新流量層級的容量要求。

建立此最佳實務的優勢:監控和自動化服務配額和資源限制的管理可以主動減少故障。若未遵循最佳實務,客戶服務的流量模式變更即可能導致中斷或降級。藉由在所有區域和所有帳戶間監控並管理這些值,應用程式在遇到不良或非計畫性事件時將會有更高的彈性。

未建立此最佳實務時的曝險等級:

實作指引

Service Quotas 是一項 AWS 服務,有助於您從單一位置管理超過 250 種 AWS 服務的配額。除了查閱配額值外,您也可以從 Service Quotas 主控台或使用 AWS SDK 來請求和追蹤配額增長。AWS Trusted Advisor 提供服務配額檢查功能,會顯示部分服務某些層面的用量和配額。每項服務的預設服務配額也根據各自服務列於 AWS 文件中 (例如,請參閱 Amazon VPC Quotas)。

某些服務限制 (例如用於調節 API 的速率限制) 可藉由設定用量計畫在 Amazon API Gateway 中設定。在其各自服務上設為組態的一些限制包括佈建 IOPS、分配的 Amazon RDS 儲存體,以及 Amazon EBS 磁碟區分配。Amazon Elastic Compute Cloud 擁有自己的服務限制儀表板,有助於您管理執行個體、Amazon Elastic Block Store 和彈性 IP 位址限制。如果在您的使用案例中,服務配額會影響您的應用程式效能且無法根據您的需求調整,請聯絡 AWS Support 以查看是否有緩解措施。

服務配額可能隨著區域而不同,或本質上是通用的。使用達到配額的 AWS 服務,將無法作為預期的正常用法,且可能導致服務中斷或降級。例如,服務配額會限制區域中使用的 DL Amazon EC2 執行個體數量。在使用 Auto Scaling 群組 (ASG) 的流量擴展事件期間,可能會達到該限制。

每個帳戶的服務配額均應定期受到用量評估,以確認該帳戶的適當服務限制為何。這些服務配額可作為操作上的防護機制,以防止不慎佈建超過您所需的資源。此外也可用來限制 API 操作的要求率,以保護服務免於濫用。

服務限制與服務配額不同。服務限制代表特定資源的類型為該資源定義的限制。這有可能是儲存容量 (例如,gp2 的大小限制為 1 GB - 16 TB) 或磁碟輸送量 (10,0000 iops)。制定資源類型的限制,並持續評估用量是否可能超出限制,是很重要的。若意外超出限制,帳戶的應用程式或服務可能會降級或中斷。

如果在某個使用案例中,服務配額會影響到應用程式的效能,且無法根據需求進行調整,請聯絡 AWS Support 以查看是否有緩解措施。如需有關調整固定配額的詳細資訊,請參閱 REL01-BP03 透過架構適應固定服務配額和限制

有許多 AWS 服務和工具可協助您監控及管理 Service Quotas。您應利用這些服務和工具,以提供配額層級的自動或手動檢查。

  • AWS Trusted Advisor 提供服務配額檢查功能,會顯示部分服務某些層面的用量和配額。這有助於識別接近配額的服務。

  • AWS Management Console 提供了相關方法,用以顯示服務配額值、管理及要求新配額、監控配額要求的狀態,以及顯示配額的歷史。

  • AWS CLI 和 CDK 提供了程式化方法,可自動管理及監控服務配額層級與用量。

實作步驟

對於 Service Quotas:

  • 檢視 AWS Service Quotas。

  • 若要了解現有的服務配額,請確認使用的服務 (例如 IAM Access Analyzer)。約有 250 個 AWS 服務受到服務配額控制。然後,確認每個帳戶和區域內可能使用的特定服務配額名稱。每個區域約有 3000 個服務配額名稱。

  • 使用 AWS Config 擴充此配額分析,以查找 AWS 帳戶 中使用的所有 AWS 資源

  • 使用 AWS CloudFormation 資料來確定您使用的 AWS 資源。查看在 AWS Management Console 中或使用 list-stack-resources AWS CLI 命令建立的資源。您也可以查看設定為自行在範本中部署的資源。

  • 透過查看部署程式碼來確定工作負載所需的所有服務。

  • 確認適用的服務配額。在 Trusted Advisor 和 Service Quotas 中使用可以程式設計方式存取的資訊。

  • 建立自動監控方法 (請參閱 REL01-BP02 管理跨帳戶和區域的服務配額REL01-BP04 監控和管理配額),以警示並通知服務配額是否接近或已達到上限。

  • 建立自動化和程式化方法,以檢查某個區域中的服務配額是否已變更,但在同一帳戶的其他區域中未已變更 (請參閱 REL01-BP02 管理跨帳戶和區域的服務配額REL01-BP04 監控和管理配額)。

  • 自動執行掃描應用程式日誌和指標,以確認是否有任何配額或服務限制錯誤。若有這類錯誤存在,請傳送提醒到監控系統。

  • 一旦確定特定服務需要更大的配額,請建立工程程序,以計算配額中所需的變更 (請參閱 REL01-BP05 自動化配額管理)。

  • 建立佈建和核准工作流程,以要求變更服務配額。其中應包含要求遭拒絕或部分核准時的例外狀況工作流程。

  • 建立工程方法以在佈建之前審查服務配額,並在推行至生產環境之前使用新的 AWS 服務。(例如,載入測試帳戶)。

針對服務限制:

  • 建立監控和指標方法,針對接近資源限制的資源讀數發出提醒。適當利用 CloudWatch 進行指標或日誌監控。

  • 為每個具有有效應用程式或系統限制的資源建立提醒閾值。

  • 建立工作流程和基礎設施管理程序,以在限制接近使用率時變更資源類型。此工作流程應將負載測試納入作為最佳實務,以確認新類型是具有新限制的正確資源類型。

  • 使用現有的程序和流程,將已識別的資源遷移至建議的新資源類型。

資源

相關的最佳實務:

相關文件:

相關影片:

相關工具: