Q28 — AWS SAA-C03 第17章

第 28/89 题 | ← 返回第17章

Q1328. 一家公司最近推出了网站,旨在为全球用户提供内容。该公司希望利用 Amazon CloudFront 并附加一个 Amazon EC2 实例作为源服务器,来存储静态内容并加速其向用户的交付。解决方案架构师应该如何优化应用程序的高可用性?

正确答案: C. 在不同的可用区中配置另一个 EC2 实例作为源组的一部分。

解析

在使用 Amazon CloudFront 和 EC2 源服务器时,为了优化应用程序的高可用性,最佳解决方案是:正确答案:C. 在不同的可用区中配置另一个 EC2 实例作为源组的一部分。为什么这个方案是最佳选择?1. 跨可用区 (AZ) 的高可用性如果主源不可用,CloudFront 可以故障转移到备用源。通过在不同的可用区部署 EC2 实例,该解决方案可确保冗余性,并能抵御可用区故障。CloudFront 中的源组允许定义主源和辅助源,从而在主源出现故障时实现自动故障转移。2. 避免单点故障如果两个 EC2 实例位于同一个可用区 (选项 D),则可用区中断将导致整个源服务器宕机,从而造成停机。跨可用区部署(选项 C)可确保如果一个可用区发生故障,CloudFront 仍然可以从另一个可用区提供内容。3. 比 Lambda@Edge 或 S3 传输加速更有效 Lambda@Edge(选项 A)适用于边缘的自定义逻辑(例如,修改请求/响应、A/B 测试),但不能提高源可用性。S3 传输加速(选项 B)用于加快上传到 S3 的速度,而不是提高基于 EC2 的源服务器的高可用性。其他选项为何不太合适?A. 使用 Lambda@Edge 实现 CloudFrontLambda@Edge 在边缘节点运行自定义代码,但不提供源冗余。适用场景:动态内容操作、A/B 测试或安全标头——不适用于高可用性。B. 使用 Amazon S3 传输加速功能加速 CloudFrontS3 传输加速利用边缘节点加快上传到 S3 的速度。但由于源是 EC2 实例而非 S3,因此与此无关。D. 在同一可用区配置另一个 EC2 实例同一可用区部署并不能提高可用性——如果可用区发生故障,两个实例都会宕机。高可用性需要跨可用区进行冗余。推荐架构部署两个 EC2 实例(一个在可用区 A,另一个在可用区 B)。在 CloudFront 中配置源组:主要来源:AZ-A 中的 EC2 实例。辅助源:AZ-B 中的 EC2 实例。如果主源服务器出现故障,CloudFront 会自动故障转移到备用源服务器。静态内容会缓存在边缘节点,从而减轻源服务器的负载。结论确保基于 EC2 的 CloudFront 源站高可用性的最佳方法是:C. 在源组的不同可用区中配置另一个 EC2 实例。其他选项要么不能提高可用性(A、B),要么会引入单点故障(D)。