REL 1: 您如何管理服務配額和限制?
雲端型工作負載架構會有服務配額 (也稱為服務限制)。這些配額旨在用於防止不慎佈建超過您所需的資源,並限制 API 操作上的請求率,以防止服務遭到濫用。此外也會有資源限制,例如,您可將位元壓入光纖電纜的速率或實體磁碟上的儲存量會受到限制。
資源
AWS Live re:Inforce 2019 - Service Quotas
What Is Service Quotas?
AWS Service Quotas (formerly referred to as service limits)
Amazon EC2 Service Limits
AWS Trusted Advisor Best Practice Checks (see the Service Limits section)
AWS
limit monitor on AWS answers
AWS Marketplace: CMDB products that help track limits
APN Partner: partners that can help with configuration management
最佳實務:
-
了解服務配額和限制: 您需了解工作負載架構的預設配額和配額增加要求。您也需知道哪些資源限制 (例如,磁碟或網路) 具有潛在影響。
-
管理跨帳戶和區域的服務配額: 如果您使用多個 AWS 帳戶或 AWS 區域,確保在生產工作負載執行的所有環境中都要求合適的配額。
-
透過架構適應固定服務配額和限制: 瞭解不可變更的服務配額和實體資源及架構,以防止這些因素影響可靠性。
-
監控和管理配額: 評估潛在用量並適當地增加配額,以允許使用量按計劃增長。
-
自動執行配額管理: 實作工具以在接近閾值時獲得提醒。您可以使用 AWS Service Quotas API,自動化配額增加請求。
-
確保目前配額與最大使用量之間存在足夠差距以適應容錯移轉: 當資源失敗時,在成功終止之前,仍會被計入配額。在終止失敗的資源之前,確保您的配額涵蓋所有失敗的資源與替換資源的重疊部分。計算此差距時,應考慮可用區域失敗。
改進方案
了解服務配額和限制
What is Service Quotas?
- 根據您的服務要求、延遲、法規和災難復原 (DR) 要求,選擇相關的帳戶和區域
- 在已發佈的文件和 Service Quotas 中查看 AWS 服務配額
AWS Service Quotas (formerly referred to as limits)- 透過查看部署程式碼來確定工作負載所需的所有服務
- 使用 AWS Config 找出 AWS 帳戶中使用的所有 AWS 資源
AWS Config Supported AWS Resource Types and Resource Relationships - 您也可以使用 AWS CloudFormation 判斷所使用的 AWS 資源。查看在 AWS 主控台或透過 list-stack-resources CLI 命令建立的資源。您也可以查看設為自行在範本中部署的資源。
Viewing AWS CloudFormation Stack Data and Resources on the AWS Management Console
AWS CLI for CloudFormation: list-stack-resources - 決定適用的服務配額。透過 Trusted Advisor 和 Service Quotas 使用可以程式設計方式存取的資訊。
管理跨帳戶和區域的服務配額
What is Service Quotas?
- 根據您的服務要求、延遲、法規和災難復原 (DR) 要求,選擇相關的帳戶和區域
- 在已發佈的文件和 Service Quotas 中查看 AWS 服務配額
AWS Service Quotas (formerly referred to as limits)- 透過查看部署程式碼來確定工作負載所需的所有服務
- 使用 AWS Config 找出 AWS 帳戶中使用的所有 AWS 資源
AWS Config Supported AWS Resource Types and Resource Relationships - 您也可以使用 AWS CloudFormation 判斷所使用的 AWS 資源。查看在 AWS 主控台或透過 list-stack-resources CLI 命令建立的資源。您也可以查看設為自行在範本中部署的資源。
Viewing AWS CloudFormation Stack Data and Resources on the AWS Management Console
AWS CLI for CloudFormation: list-stack-resources - 決定適用的服務配額。透過 Trusted Advisor 和 Service Quotas 使用可以程式設計方式存取的資訊。
透過架構適應固定服務配額和限制
AWS Service Quotas
監控和管理配額
- 擷取當前資源消耗 (例如,儲存貯體、執行個體等): 使用服務 API 操作 (例如 Amazon EC2 DescribeInstances API) 來收集當前資源消耗。
- 記錄當前的配額: 使用 AWS Service Quotas、AWS Trusted Advisor 和 AWS 文件
- 使用 AWS Service Quotas (AWS 服務) 有助於您從單一位置管理 100 多種 AWS 服務的配額
- 使用 Trusted Advisor 服務限制來確定您當前的服務限制
- 使用服務 API 操作來確定支援的當前服務配額
- 記錄請求增加的配額及其狀態: 核准配額增加後,請確保您更新記錄,以反映配額的變更。
自動執行配額管理
- 使用 Service Quotas,並以如 AWS Limit Monitor 或 AWS Marketplace 中的產品等自動配額監控解決方案擴大此項服務
What is Service Quotas?
AWS limit monitor - 使用 Amazon SNS 和 AWS Service Quotas API 設定由配額閾值觸發的回應
- 設定限制閾值
- 與來自 AWS Config、部署管道、Amazon EventBridge 或第三方的變更事件整合
- 設定觸發程序以在收到通知時採取適當的措施,以及在必要時讓人員聯絡 AWS Support
- 測試自動化
- 人工設定較低配額閾值以測試回應
- 手動觸發變更事件
- 執行演練日以測試配額增長變更程序
確保目前配額與最大使用量之間存在足夠差距以適應容錯移轉
- 確定服務限制,並在此過程中考慮您的部署模式、可用性要求和使用量增長
- 確定您的可靠性方案 (也稱為「幾個 9」)
- 建立故障案例 (例如,元件、可用區域或區域遺失)
- 建立您的部署方法 (例如,Canary、藍/綠、紅/黑或滾動)
- 為當前限制新增適當的緩衝 (例如 15%)
- 為使用量增長制定計畫 (例如,監控使用量趨勢)
- 視需要請求增加配額: 規劃必要的時間來滿足增加配額的請求