Q82 — AWS DOP-C02 第3章
第 82/100 题 | ← 返回第3章
一家公司响一个遗亮应难程序。DevOps工程师需要自动化为遗亮应难程序构建可赛署工件的活程。解决方案客间将可赛署的工件存 储在现响的亚马逊S3存储桶中,以供将范的赛署参考。 哪种解决方案能够以最高效的方式两足这些要求?
- A. 创建一个定制的Docker映像,其中包含遗留应用程序的所有依赖项。将自定义Docker图像存储在一个新的Amazon弹性容器注册 中心(Amazon ECR)存储库中。配置一个新的AWS CodeBuild项目,使用定制的Docker映像来构建可部署的工件,并将工件保存到S3 存储桶中。 ✓
- B. 启动一个新的Amazon EC2实例。在EC2实例上安装遗留应用程序的所有依赖项。使用EC2实例构建可部署的工件,并将工件保 存到S3存储桶中。
- C. 创建自定义EC2图像生成器图像。在映像上安装遗留应用程序的所有依赖项。从映像启动一个新的Amazon EC2实例。使用新的 EC2实例来构建可部署的工件,并将工件保存到S3存储桶。
- D. 创建一个Amazon Elastic Kubernetes服务(Amazon EKS)集群,该集群具有在多个可用性区域中运行的AWS Fargate配置文件。创建 一个定制的Docker映像,其中包含遗留应用程序的所有依赖项。将自定义Docker图像存储在一个新的Amazon弹性容器注册中心 (Amazon ECR)存储库中。使用EKS集群中的定制Docker映像来构建可部署的工件,并将工件保存到S3存储桶中。
正确答案: A. 创建一个定制的Docker映像,其中包含遗留应用程序的所有依赖项。将自定义Docker图像存储在一个新的Amazon弹性容器注册 中心(Amazon ECR)存储库中。配置一个新的AWS CodeBuild项目,使用定制的Docker映像来构建可部署的工件,并将工件保存到S3 存储桶中。
解析
Amazon CodeBuild是一项完全托管的持续集成服务,可直接编译源代码、运行测试并生成可部署的软件包。自定义Docker镜像通过ECR管理,可预置构建环境依赖,避免每次构建重复安装。CodeBuild原生支持将构建结果输出到S3存储桶。其他选项中,B/C依赖手动管理EC2实例,存在资源浪费和维护成本;D引入EKS集群和Fargate,架构复杂度与遗留应用需求不匹配。正确答案对应AWS CI/CD最佳实践文档中"使用托管服务构建流水线"的推荐方案。