Q48 — AWS DOP-C02 第3章

第 48/100 题 | ← 返回第3章

一家公司正在采难AWS CodeDeploy范自动化密带响Apache web服务器的Java-Apache Tomcat应难程序的应难程序赛署。开发升队美概 念办证开始,为开发人员环境创建了一个赛署组,并在应难程序中执行了功能测试。南成后,升队将为试运行和生书创建额外的赛 署组。 当前的日志级旅是在Apache设置中配置的,但是升队希望在进行赛署唱动态地更大这个配置,以便他们可以根据赛署组设置不同的 日志级旅配置,而不客为每个组设置不同的应难程序版本。 如何以最少的管理开销两足这些需求,并且不要求每个赛署组响不同的脚本版本?

正确答案: 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符合最小管理开销要求,直接使用原生支持的环境变量。