Amazon DOP-C02: CI/CD 流水线和部署策略 — 学习指南

属于 AWS DevOps Engineer Professional DOP-C02 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.

概述

AWS 上一个稳健的 CI/CD 系统将源控制、构建、测试、构建产物治理、部署编排以及跨多账户和区域的安全发布策略结合在一起。核心托管服务——CodeCommit、CodeArtifact、CodeBuild、CodePipeline 和 CodeDeploy——无需维护服务器,与 IAM 和 KMS 紧密集成,并为面向 EC2/Auto Scaling、ECS 和 Lambda 的蓝/绿、金丝雀、滚动和就地部署提供一流的支持。高效的管道还依赖于精确的触发器(webhook、EventBridge、计划任务)、规范的构建产物管理、用于加速的构建缓存,以及结合健康警报进行自动回滚的、有明确策略的流量切换。对于企业而言,跨账户和跨区域模式是强制性的,这需要角色代入、区域性构建产物存储以及一致的加密策略。

使用 AWS Developer Tools 进行编排

使用 CodeCommit 作为私有的、高可用的 Git 服务。它与 EventBridge 集成以处理存储库和拉取请求事件,支持审批规则模板,并使用 IAM 进行精细授权。对于第三方 Git (GitHub/Bitbucket),配置带有 webhook 的 CodePipeline 源操作,以实现近乎实时的触发。

CodeArtifact 为多种生态系统(npm、Maven、PyPI、NuGet)集中管理软件包。它支持与公共注册表的上游连接并进行缓存,支持按存储库进行 KMS 加密,以及会自动过期的、有范围限制的身份验证令牌。通过在 pre_build 阶段调用 aws codeartifact login 来集成到 CodeBuild 中,以配置包管理器,而无需嵌入长期有效的密钥。

CodeBuild 提供临时的、容器化的构建,无需管理工作节点。关键功能:

CodePipeline 是编排器。定义阶段(源、构建、测试、部署、审批),其中的操作可以并行或顺序运行。最佳实践:

CodeDeploy 是部署引擎,支持 EC2/本地、ECS 和 Lambda 目标。它通过 CloudWatch 警报管理生命周期钩子、流量切换、健康检查和自动回滚。确保 EC2 实例运行 CodeDeploy 代理,具有实例配置文件,并具备到 CodeDeploy 端点的出站连接(或通过 NAT 的出口流量)。跳过的事件和空操作部署通常表示代理、权限或连接性存在问题。

部署策略与 CodeDeploy 生命周期

根据风险、容量和平台选择策略:

CodeDeploy appspec.yml 定义了要安装的内容以及何时运行脚本:

流量切换和回滚:

EC2、ECS 和 Lambda 的蓝/绿部署与流量切换

EC2/Auto Scaling:

ECS:

Lambda:

CodeDeploy 之外的加权路由:

多账户和多区域交付

企业级流水线通常位于一个集中的“工具”账户中,并跨多个区域部署到开发/测试/生产账户:

安全性、构建产物和治理:

实践问题场景

Spotify 需要在其数百个微服务中实现更安全的发布,这些微服务运行在混合计算底层(ECS on Fargate、基于 EC2 的服务和 Lambda)上。他们要求在将流量引入生产环境之前进行金丝雀部署和蓝/绿部署,并伴有自动化测试,同时还需要构建产物治理和多区域提升,并将生产环境保持在独立的账户中。

  1. 建立代码仓库和包
  1. 构建和测试
  1. 编排流水线
  1. 蓝/绿部署和金丝雀部署
  1. 跨账户和跨区域提升
  1. 构建产物治理和安全
  1. 可观测性和通知

该设计将异构运行时统一在单一的托管工具链下,通过自动化验证提供了安全的发布策略,通过消除自托管的 CI/CD 基础设施减少了维护工作,并以清晰的职责分离实现了全球扩展。


所有领域 · 基础架构即代码和配置管理

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Amazon →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品