REL07-BP01 在获取或扩展资源时利用自动化 - AWS Well-Architected 框架

REL07-BP01 在获取或扩展资源时利用自动化

在替换被破坏的资源或扩展工作负载时,通过采用托管 AWS 服务(如 Amazon S3 和 AWS Auto Scaling)自动执行流程。您还可以使用第三方工具和 AWS SDK 自动扩展。

托管 AWS 服务包括 Amazon S3、Amazon CloudFront、AWS Auto Scaling、AWS Lambda、Amazon DynamoDB、AWS Fargate 和 Amazon Route 53。

AWS Auto Scaling 让您可以检测并替换被破坏的实例。该服务还可以帮助您为资源制定扩缩计划,包括 Amazon EC2 实例和竞价型实例集、Amazon ECS 任务、Amazon DynamoDB 表和索引,以及 Amazon Aurora 副本。

在对 EC2 实例进行扩展时,确保使用多个可用区(最好至少三个),增加或减少容量来保持这些可用区之间的平衡。ECS 任务或 Kubernetes 容器组(pod)(使用 Amazon Elastic Kubernetes Service 时)也应分布在多个可用区中。

如果使用 AWS Lambda,实例会自动扩展。每次收到关于函数的事件通知时,AWS Lambda 会快速找到其计算实例集中的可用容量,然后运行代码至分配的并发值。您需要确保在特定的 Lambda 上,以及在您的服务配额中配置必要的并发值。

Amazon S3 会自动扩展以处理较高的请求速率。例如,您的应用程序可以在存储桶中实现至少每秒每个前缀 3500 个 PUT/COPY/POST/DELETE 请求或 5500 个 GET/HEAD 请求。对存储桶中的前缀数量没有限制。您可以通过并行读取来增加读取或写入性能。例如,如果您在 Amazon S3 存储桶中创建 10 个前缀以并行处理读取,则可以将读取性能扩展到每秒 55,000 个读取请求。

配置和使用 Amazon CloudFront 或受信任的内容分发网络(CDN)。CDN 可以提供更快的最终用户响应时间,并且可以从缓存中处理对内容的请求,从而减少扩展工作负载的需求。

常见反模式:

  • 实施自动扩缩组进行自动修复,但未实施弹性。

  • 使用自动扩缩响应流量激增。

  • 部署高状态应用程序,消除了部署弹性选项。

建立此最佳实践的好处:自动化可以避免部署和停用资源时的潜在手动错误。自动化可以避免由于缓慢响应部署或停用需求而导致的服务超支和拒绝服务风险。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

  • 配置和使用 AWS Auto Scaling。该服务会监控应用程序并自动调整容量,以尽量低的成本来维持稳定、可预测的性能。使用 AWS Auto Scaling,您可以跨多个服务为多个资源轻松设置应用程序扩展。

  • 使用弹性负载均衡。负载均衡器可以按路径或网络连接分配负载。

  • 使用高度可用的 DNS 提供商。DNS 名称让用户可以输入名称而不是 IP 地址来访问您的工作负载,并将该信息分发到指定的范围内,通常是面向工作负载的所有用户。

    • 使用 Amazon Route 53 或可信任的 DNS 提供商。

    • 使用 Route 53 管理 CloudFront 分发和负载均衡器。

      • 确定要管理的域和子域。

      • 使用 ALIAS 或 CNAME 记录来创建适当的记录集。

  • 借助 AWS 全球网络,优化用户与应用程序之间的路径。AWSGlobal Accelerator 持续监控应用程序端点的运行状况,并在 30 秒内将流量重定向到运行状况良好的端点。

    • AWS Global Accelerator 是一项可帮助本地或全球用户提高应用程序可用性和性能的服务。该服务提供的静态 IP 地址可用作从单个或多个 AWS 区域 区域(例如应用程序负载均衡器、网络负载均衡器或 Amazon EC2 实例)访问应用程序端点的固定入口点。

  • 配置和使用 Amazon CloudFront 或受信任的内容分发网络(CDN)。内容分发网络可以缩短最终用户的响应时间,还可以对可能导致工作负载进行不必要扩展的内容请求做出响应。

    • What is Amazon CloudFront?

      • 配置工作负载的 Amazon CloudFront 分发,或者使用第三方 CDN。

        • 您可以通过在端点安全组或访问策略中使用 CloudFront 的 IP 范围,将对工作负载的访问限制为只能从 CloudFront 访问。

资源

相关文档: