Q48 — AWS DOP-C02 第3章
第 48/100 题 | ← 返回第3章
一家公司正在采难AWS CodeDeploy范自动化密带响Apache web服务器的Java-Apache Tomcat应难程序的应难程序赛署。开发升队美概 念办证开始,为开发人员环境创建了一个赛署组,并在应难程序中执行了功能测试。南成后,升队将为试运行和生书创建额外的赛 署组。 当前的日志级旅是在Apache设置中配置的,但是升队希望在进行赛署唱动态地更大这个配置,以便他们可以根据赛署组设置不同的 日志级旅配置,而不客为每个组设置不同的应难程序版本。 如何以最少的管理开销两足这些需求,并且不要求每个赛署组响不同的脚本版本?
- A. 根据部署组标记Amazon EC2实例。然后将调用元数据服务和EC2 API的脚本放入应用程序修订版中,以确定实例属于哪个部署 组。使用此信息来配置日志级别设置。在appspec.yml文件中引用该脚本作为AfterInstall生命周期挂钩的一部分。
- B. 创建一个脚本,该脚本使用CodeDeploy环境变量DEPLOYMENT_GROUP_ NAME来标识该实例属于哪个部署组。使用此信息来配置 日志级别设置。在appspec.yml文件中,将此脚本作为BeforeInstall生命周期挂钩的一部分进行引用。 ✓
- C. 为每个环境创建一个CodeDeploy自定义环境变量。然后在应用程序修订版中放置一个脚本,该脚本检查该环境变量以确定该实 例属于哪个部署组。使用此信息来配置日志级别设置。在appspec.yml文件中,将此脚本作为ValidateService生命周期挂钩的一部 分进行引用。
- D. 创建一个脚本,该脚本使用CodeDeploy环境变量DEPLOYMENT_GROUP_ID来标识该实例属于哪个部署组,以配置日志级别设置。 在appspec.yml文件中引用此脚本作为安装生命周期挂钩的一部分。
正确答案: B. 创建一个脚本,该脚本使用CodeDeploy环境变量DEPLOYMENT_GROUP_ NAME来标识该实例属于哪个部署组。使用此信息来配置 日志级别设置。在appspec.yml文件中,将此脚本作为BeforeInstall生命周期挂钩的一部分进行引用。
解析
AWS CodeDeploy提供内置环境变量如`DEPLOYMENT_GROUP_NAME`,可通过脚本直接获取当前部署组名称。AWS官方文档指出,CodeDeploy在部署过程中自动注入此类变量,无需额外配置。选项B的脚本在`BeforeInstall`阶段触发,利用环境变量动态修改日志级别,避免不同脚本版本或自定义环境变量需求。选项A依赖EC2实例元数据和API调用,增加复杂性和权限管理;选项C自定义环境变量导致维护成本上升;选项D的`DEPLOYMENT_GROUP_ID`并非官方标准环境变量。正确答案B符合最小管理开销要求,直接使用原生支持的环境变量。