本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
REL01-BP01 了解服务配额和限制
了解工作负载架构的默认配额并管理配额提高请求。了解哪些云资源约束(如磁盘或网络)可能会对您产生影响。
预期结果:客户 AWS 账户 可以通过实施适当的指导方针来监控关键指标、基础架构审查和自动化补救步骤,以验证是否未达到可能导致服务降级或中断的服务配额和限制,从而防止服务降级或中断。
常见反模式:
-
在不了解所用服务的硬配额或软配额及其限制的情况下部署工作负载。
-
在未分析和重新配置必要配额或未事先联系支持部门的情况下,部署替代工作负载。
-
假设云服务没有限制,并且认为可以在不考虑费率、限制、计数、数量的情况下使用服务。
-
假设配额会自动增加。
-
不了解配额请求的流程和时间表。
-
假设每个服务的默认云服务配额在不同区域都是相同的。
-
假设可以突破服务约束,并且系统会自动扩展或提高限制以超出资源约束。
-
没有在流量高峰期测试应用程序,以便对资源的利用率进行压力测试。
-
在没有分析所需资源规模的情况下配置资源。
-
通过选择远远超出实际需求或预期峰值的资源类型来过量配置容量。
-
在新的客户事件或部署新技术之前,不评测新流量水平的容量要求。
建立此最佳实践的好处:对服务配额及资源约束的监视和自动化管理可以主动减少故障。如果不遵循最佳实践,客户服务的流量模式变化可能会导致中断或性能下降。通过监视和管理所有区域和所有账户的这些值,应用程序可以在出现不利或意外事件时具有更好的韧性。
在未建立这种最佳实践的情况下暴露的风险等级:高
实施指导
Service Quotas 是一项 AWS 服务,可帮助您从一个位置管理 250 多项 AWS 服务的配额。除了查找配额值外,您还可以从 Service Quotas 控制台或使用 Service Quotas 控制台请求和跟踪配额的增加 AWS SDK。 AWS Trusted Advisor 提供服务配额检查,显示您对某些服务的某些方面的使用情况和配额。每项服务的默认服务配额也包含在相应服务的 AWS 文档中(例如,参见 Amazon VPC 配额)。
某些服务限制,例如限制的速率限制,APIs是通过配置使用计划在 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)或磁盘吞吐量。必须对资源类型的约束进行设计,并不断评测可能达到其限制的使用量。如果意外地达到约束条件,账户的应用程序或服务可能会降级或中断。
如果存在服务配额会影响应用程序性能且无法根据所需需求进行调整的用例,请联系 AWS Support 以了解是否有缓解措施。有关调整固定配额的更多详细信息,请参阅 REL01-BP03 通过架构适应固定的服务配额和限制。
有许多 AWS 服务和工具可以帮助监控和管理 Service Quotas。应该利用这些服务和工具来自动或手动检查配额水平。
-
AWS Trusted Advisor 提供服务配额检查,显示您在某些服务的某些方面的使用情况和配额。该工具可以帮助识别接近配额的服务。
-
AWS Management Console 提供了显示服务配额值、管理、请求新配额、监控配额请求状态以及显示配额历史记录的方法。
-
AWS CLI 并CDKs提供编程方法来自动管理和监控服务配额水平和使用情况。
实施步骤
服务配额:
-
要了解您现有的服务配额,请确定使用的服务(例如 A IAM ccess 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 指标或日志监控。
-
为每个具有对应用程序或系统有意义的约束的资源建立警报阈值。
-
创建工作流和基础设施管理程序,可在约束条件接近利用率时更改资源类型。该工作流应包括负载测试作为最佳实践,可验证新类型是否为新约束条件下的正确资源类型。
-
使用现有的程序和流程,将确定的资源迁移到推荐的新资源类型。
资源
相关最佳实践:
相关文档:
相关视频:
相关工具: