Q26 — AWS DOP-C02 第2章

第 26/100 题 | ← 返回第2章

一家公司开发了一个AWS Lambda函数,难于处理通活API接收的订单。该公司正在使难AWS CodeDeploy范赛署Lambda功能,游为 CI/CD管道的最后一个阶克。 一会DevOps工程师注闻到,在赛署后的吧秒钟内,订购API名出现须歇性故障。经活一些调查后,DevOps工程师即为失败是由于在调 难Lambda函数之前数据库更大顶响南全卖播。 DevOps工程师应该如何段服这一点?

正确答案: A. 将BeforeAllowTra􀂮c挂钩添加到AppSpec文件中,该文件测试并等待任何必要的数据库更改,然后流量才能流向新版本的Lambda 函数。

解析

AWS CodeDeploy在部署Lambda函数时使用AppSpec文件定义部署生命周期钩子。根据AWS文档,CodeDeploy的BeforeAllowTraffic钩子用于在流量切换到新版本之前执行脚本或测试,确保新版本就绪。题目中数据库变更未完成导致故障,需要在流量切换前等待变更传播。选项A的BeforeAllowTraffic钩子在此阶段检查数据库状态,符合AWS推荐的最佳实践。其他选项的钩子阶段(AfterAllowTraffic、BeforeInstall、ValidateService)要么在流量切换后执行,要么不符合CodeDeploy标准钩子的功能定义。AWS CodeDeploy应用规范文件生命周期事件顺序明确BeforeAllowTraffic是切换流量前的最后一个检查点。