Q67 — AWS SAA-C03 第17章

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

Q1367. 一家公司正在升级其关键的基于 Web 的应用程序。该应用程序托管在 Amazon EC2 实例上,这些实例属于应用程序负载均衡器 (ALB) 后面的自动扩展组。该公司希望在将所有流量路由到升级后的应用程序之前,先用特定流量测试新配置。解决方案架构师应该如何设计架构才能满足这些要求?

正确答案: B. 创建一个新的启动模板。创建一个额外的自动伸缩组。将新的启动模板与该额外的自动伸缩组关联。将该额外的自动伸缩组附加到应用负载均衡器 (ALB)。通过加权目标群体分配流量。

解析

正确答案是 B。创建一个新的启动模板。创建一个额外的自动伸缩组。将新的启动模板与该额外的自动伸缩组关联。将该额外的自动伸缩组附加到应用负载均衡器 (ALB)。使用加权目标组分配流量。解释:公司希望在全面迁移到升级后的应用程序之前,先用特定流量测试新的配置。这需要采用金丝雀部署(逐步切换流量)或蓝绿测试(部分流量迁移到新版本)。为什么方案 B 是最佳选择:新版本将使用单独的自动伸缩组 (ASG)允许同时运行旧版本(现有版本)和新版本(升级版本)。确保隔离——新版本中的故障不会影响旧版本。ALB中的加权目标组应用程序负载均衡器 (ALB) 可以将流量分配到多个目标组(每个目标组代表一个 ASG)。加权路由允许控制发送到每个版本的流量百分比(例如,10% 给新版本,90% 给旧版本)。可实现逐步推广,并在出现问题时轻松回滚。最低运营成本无需额外的 ALB 或 53 号公路配置(比选项 C 和 D 更简单)。利用原生ALB功能进行流量拆分。其他选项为何错误:A. 使用带有重定向规则的单个自动伸缩组没有流量控制。重定向规则会将所有流量发送到新位置(而非部分流量)。没有隔离。新旧配置都运行在同一个自动化存储组 (ASG) 中(如果新版本出现故障,则存在风险)。C. 使用独立的 ALB + Route 53 故障转移路由故障转移路由用于灾难恢复,而不是逐步测试。它仅在主端点发生故障时才将流量路由到备用端点。成本更高,复杂性更大,需要管理两台 ALB 和 53 号公路健康检查。D. 使用单独的 ALB + 53 号路线加权路由不必要的复杂性:Route 53 加权路由虽然可行,但它需要 DNS 级别的流量拆分,而这:具有 TTL 延迟(更改需要时间才能传播)。不如基于 ALB 的加权目标组精确。成本更高:两个ALB会增加费用。适用于部分流量测试的最佳架构:在单独的应用服务组 (ASG) 中部署新版本(使用新的启动模板)。将两个 ASG 注册到同一个应用负载均衡器 (ALB)(作为不同的目标组)。使用 ALB 加权目标组来控制流量分配(例如,10% 新版本,90% 旧版本)。监控性能并逐步增加新版本的流量。如果出现问题,则回滚(通过调整权重或终止新的 ASG)。结论:方案 B 是最有效且最具可扩展性的解决方案,因为它:使用原生 ALB 流量拆分(精确且快速)。隔离新版本(降低风险)。只需进行极少的更改(无需额外的 ALB 或 DNS 配置)。避免选择 A、C 和 D(它们要么缺乏交通管制,要么引入不必要的复杂性)。最终答案:B