Q10 — AWS SAA-C03 第16章

第 10/100 题 | ← 返回第16章

Q1210. 一家公司希望使用 AWS 服务构建一个事件驱动的应用程序。该公司希望在部署期间使用 Amazon API Gateway REST API 来控制蓝绿环境之间的流量。哪种解决方案可以满足这些要求?

正确答案: D. 创建单个 AWS Lambda 函数。使用 AWS 无服务器应用程序模型 (AWS SAM) 执行蓝/绿部署,方法是创建两个 Lambda 别名,并更新 APl 网关阶段变量以在别名之间切换。

解析

为了满足公司使用 Amazon API Gateway REST API 构建事件驱动应用程序以控制部署期间蓝绿环境之间的流量的要求,最合适的解决方案是:D. 创建单个 AWS Lambda 函数。使用 AWS 无服务器应用程序模型 (AWS SAM) 执行蓝/绿部署,方法是创建两个 Lambda 别名并更新 API 网关阶段变量以在别名之间切换。分析:具有别名的单个 AWS Lambda 函数:蓝绿部署:通过为单个 Lambda 函数创建两个别名(例如,蓝色和绿色),您可以轻松地在该函数的不同版本之间切换流量。这是在 AWS Lambda 中实现蓝绿部署的常用方法。版本控制:每个别名可以指向 Lambda 函数的不同版本,让您可以在绿色环境中测试新版本,同时在蓝色环境中保留稳定版本。用于蓝/绿部署的 AWS SAM:自动部署:AWS SAM 提供了一种便捷的方式来定义和部署无服务器应用程序。您可以使用 SAM 创建和管理 Lambda 别名,以及更新 API 网关阶段变量以在部署期间切换别名。基础设施即代码:通过使用 SAM,您可以对基础设施和部署进行版本控制,从而更轻松地管理和审计随时间推移的变更。API 网关阶段变量:流量路由:通过更新 API 网关阶段变量以指向不同的 Lambda 别名,您可以控制哪个版本的 Lambda 函数接收来自 API 网关的流量。这让您能够在部署期间在蓝绿环境之间无缝切换。为什么其他选择不适合:A.创建两个 AWS Lambda 函数并更新阶段变量:资源重复:为蓝绿环境创建两个独立的 Lambda 函数会导致资源重复并增加管理开销。使用单个 Lambda 函数并为其指定别名会更高效。B.使用 AWS Systems Manager Run Command 交换 Lambda 函数别名:手动干预:使用 AWS Systems Manager Run Command 交换 Lambda 函数别名是一个手动过程,其效率或可扩展性不如使用 AWS SAM 自动化部署过程。C.创建两个 AWS Lambda 函数并使用 Amazon EventBridge 进行路由:复杂性和开销:创建两个独立的 Lambda 函数并使用 Amazon EventBridge 根据环境标签路由事件会增加不必要的复杂性和开销。对于蓝/绿部署,使用带有别名和 API Gateway 阶段变量的单个 Lambda 函数更为直接。