Q2 — AWS DOP-C02 第1章
第 2/100 题 | ← 返回第1章
一会DevOps工程师正在EC2自动扩展组中的一组Amazon EC2实暗上使难AWS CodeDeploy。与EC2自动缩放象成的关联CodeDeploy赛署 组被配置为使难CodeDeployDefault.OneAtATime执行就地赛署。在正在进行的新赛署期须,工程师发现,尽管整体赛署成功南成,但 叫分之二的实暗赛署了以前的应难程序修订版。密他三个实暗具响最新的应难程序版本。 导致此的可能原因是什么?
- A. 两个受影响的实例无法获取新部署。
- B. 失败的AfterInstall生命周期事件挂钩导致CodeDeploy代理在受影响的实例上回滚到以前的版本。
- C. 两个受影响的实例中未安装CodeDeploy代理。
- D. EC2 Auto Scaling在新部署尚未完成时启动了两个新实例,导致先前版本被部署到受影响的实例上。 ✓
正确答案: D. EC2 Auto Scaling在新部署尚未完成时启动了两个新实例,导致先前版本被部署到受影响的实例上。
解析
AWS CodeDeploy与EC2 Auto Scaling集成时,部署组的执行配置为一次处理一个实例(OneAtATime)。若部署过程中Auto Scaling触发扩容并启动新实例,新实例可能未被包含在当前CodeDeploy部署中。由于Auto Scaling使用的启动配置可能仍指向旧的应用版本,新实例会直接部署旧版本。而CodeDeploy的当前部署仅处理原有实例,导致新实例脱离当前部署流程。此现象符合选项D的描述,与CodeDeploy的部署逻辑及Auto Scaling动态扩缩容有关。其他选项或与部署结果状态矛盾,或无法解释实例未被覆盖的场景。