PERF04-BP06 根据网络要求选择工作负载的位置 - AWS Well-Architected Framework

PERF04-BP06 根据网络要求选择工作负载的位置

评估资源置放选项,以便减少网络延迟和提高吞吐量,通过缩短页面加载和数据传输时间来提供最佳的用户体验。

常见反模式:

  • 您将所有工作负载资源整合到一个地理位置中。

  • 您选择的是离您的位置最近的区域,而不是离工作负载最终用户最近的区域。

建立此最佳实践的好处: 用户与您的应用程序之间的延迟会极大地影响用户体验。通过使用适当的 AWS 区域和 AWS 专用全球网络,您可以减少延迟,为远程用户提供更好的体验。

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

实施指导

Amazon EC2 实例等资源放入 AWS 区域AWS Local ZonesAWS OutpostsAWS Wavelength 区域内的可用区。选择此位置会影响给定用户位置的网络延迟和吞吐量。诸如 Amazon CloudFrontAWS Global Accelerator 等边缘服务也可用于在边缘站点缓存内容或为用户提供通过 AWS 全球网络到达工作负载的最佳路径,从而提高网络性能。

Amazon EC2 为联网提供置放群组。置放群组是实例的逻辑分组,可以减少延迟。使用具有支持的实例类型和弹性网络适配器(ENA)的置放群组,可使工作负载参与低延迟、低抖动的 25Gbps 网络。建议将置放群组用于可受益于低网络延迟和/或高网络吞吐量的工作负载。

延迟敏感型服务使用 AWS 全球网络在边缘站点交付,例如 Amazon CloudFront访问 AWS 资源。这些边缘站点通常提供内容分发网络(CDN)和域名系统(DNS)等服务。通过在边缘交付这些服务,工作负载可以低延迟响应内容或 DNS 解析请求。这些服务还提供地理定位服务,例如内容地理定位(基于最终用户位置提供不同内容),或基于延迟的路由(将最终用户引导至最近的区域以实现最小延迟)。

可使用边缘服务来减少延迟并启用内容缓存。为 DNS 和 HTTP/HTTPS 正确配置缓存控制,以便通过这些方式获得最大优势。

实施步骤

  • 捕获有关传入和传出网络接口的 IP 流量的信息。

  • 分析您的工作负载中的网络访问模式,以便确定用户如何使用您的应用程序。

  • 请根据以下关键元素,为您的工作负载部署选择区域:

    • 数据所在位置: 对于数据密集型应用程序(如大数据和机器学习),应用程序代码的运行应尽量接近数据。

    • 用户所在位置:对于面向用户的应用程序,选择接近您工作负载用户的一个或多个区域。

    • 其他制约:考虑成本和合规性等制约, 如 What to Consider when Selecting a Region for your Workloads 中所述。

  • 使用 AWS Local Zones 运行视频渲染等工作负载。Local Zones 使计算和存储资源更接近终端用户,从而使您受益。

  • 为需要保留在本地的工作负载使用 AWS Outposts ,在此您希望该工作负载与 AWS 中的其他工作负载一起无缝运行。

  • 高分辨率实时视频流、高保真度音频和增强现实或虚拟现实(AR/VR)等应用要求 5G 设备具有超低延迟。对于此类应用,请考虑使用 AWS Wavelength。AWS Wavelength 在 5G 网络内嵌入 AWS 计算和存储服务,为开发、部署和扩展超低延迟应用提供移动边缘计算基础设施。

  • 对常用资产使用本地缓存或 AWS 缓存解决方案 ,以提高性能,减少数据移动并减小对环境的影响。

    服务 何时使用

    Amazon CloudFront

    用于缓存静态内容(如图像、脚本和视频)以及动态内容(如 API 响应或 Web 应用程序)。

    Amazon ElastiCache

    用于缓存 Web 应用程序的内容。

    DynamoDB Accelerator

    用于将内存中加速添加到您的 DynamoDB 表。

  • 使用有助于您在更接近工作负载用户的位置运行代码的服务,例如:

    服务 何时使用

    Lambda@edge

    用于执行计算密集型操作,当对象不在缓存中时启动这些操作。

    Amazon CloudFront Functions

    用于处理简单使用场景,如 HTTP(S) 请求或响应操作,这些操作可由短期运行的函数启动。

    AWS IoT Greengrass

    用于为互联设备运行本地计算、消息收发和数据缓存。

  • 有些应用程序需要固定入口点,或通过减少第一个字节延迟和抖动以及提高吞吐量来提高性能。在边缘站点提供静态任播 IP 地址和 TCP 终止的网络服务可以使这些应用程序受益。AWS Global Accelerator 可以将应用程序的性能提高多达 60%,并为多区域架构提供快速失效转移。AWS Global Accelerator 为您提供静态任播 IP 地址,作为一个或多个 AWS 区域中托管的应用程序的固定入口点。这些 IP 地址使流量在尽可能靠近用户的位置进入 AWS 全球网络。AWS Global Accelerator 在客户端和最靠近客户端的 AWS 边缘站点之间建立 TCP 连接,从而缩短初始连接设置时间。检查 AWS Global Accelerator 的使用情况,以提高 TCP/UDP 工作负载的性能,并为多区域架构提供快速失效转移。

资源

相关最佳实践:

相关文档:

相关视频:

相关示例: