SAP-C02 学习助手

SAP-C02 第 19 题

API Gateway Lambda CloudFront CloudWatch

题目

一家公司拥有一个由 Amazon CloudFront、Amazon API Gateway 和 AWS Lambda 函数组成的无服务器应用程序。应用程序代码的当前部署过程是创建 Lambda 函数的新版本号并运行 AWS CLI 脚本进行更新。如果新函数版本出现错误,另一个 CLI 脚本将通过部署该函数的先前工作版本来恢复。该公司希望减少部署 Lambda 函数提供的新版本应用程序逻辑的时间,并减少发现错误时检测和恢复的时间。如何才能做到这一点?

选项

A. 创建和部署嵌套的 AWS CloudFormation 堆栈,其中父堆栈由 AWS CloudFront 分配和 API Gateway 组成,子堆栈包含 Lambda 函数。对于 Lambda 的更改,创建 AWS CloudFormation 更改集并部署;如果触发错误,请将 AWS CloudFormation 更改集恢复为之前的版本。

B. 使用AWS SAM和内置的AWS CodeDeploy部署新的Lambda版本,逐步将流量转移到新版本,并使用流量前和流量后测试功能来验证代码。如果触发 Amazon CloudWatch 警报则回滚。

C. 将 AWS CLI 脚本重构为部署新 Lambda 版本的单个脚本。部署完成后,将执行脚本测试。如果检测到错误,请恢复到之前的 Lambda 版本。

D. 创建并部署一个 AWS CloudFormation 堆栈,其中包含引用新 Lambda 版本的新 API Gateway 终端节点。将 CloudFront 源更改为新的 API Gateway 终端节点,监控错误,如果检测到错误,则将 AWS CloudFront 源更改为之前的 API Gateway 终端节点。

答案

B

解析

正确答案:B 解析: 题干关键点:Serverless 托管服务、核心服务:API Gateway, Lambda, CloudFront, CloudWatch。 正确选项: B. 使用AWS SAM和内置的AWS CodeDeploy部署新的Lambda版本,逐步将流量转移到新版本,并使用流量前和流量后测试功能来验证代码。如果触发 Amazon CloudWatch 警报则回滚。 选择理由: 选项 B 的设计直接围绕题干限制展开,关...

登录后查看完整解析