考试大纲 | AWS DVA-C02(最新版)


■ 考试名称

AWS Certified Developer – Associate

■ 版本编号

1.3 DVA-C02

■ 考察领域和权重

•内容领域 1:使用 AWS服务进行开发(占计分内容的 32%)
•内容领域 2:安全性(占计分内容的 26%)
•内容领域 3:部署(占计分内容的 24%)
•内容领域 4:故障排除和优化(占计分内容的 18%)

■ 内容领域 1:使用 AWS 服务进行开发

任务 1:为 AWS上托管的应用程序开发代码。
掌握以下知识:
•架构模式(例如,事件驱动型、微服务、整体式、编配、编排、扇出)
•幂等性
•有状态概念和无状态概念之间的区别
•紧耦合组件和松散耦合组件之间的区别
•容错设计模式(例如,使用指数回退和抖动的重试、死信队列)
•同步模式和异步模式之间的区别
具备以下技能:
•使用编程语言(例如 Java、C#、Python、JavaScript、TypeScript、Go)创建
具有弹性的容错应用程序
•创建、扩展和维护 API(例如,响应/请求转换、强制执行验证规则、覆盖状态
代码)
•在开发环境中编写和运行单元测试(例如,使用 AWS Serverless Application
Model [AWS SAM])
•编写代码以使用消息收发服务
•使用 API和 AWS SDK编写与 AWS服务交互的代码
•使用 AWS服务处理数据流

任务 2:为 AWS Lambda开发代码。
掌握以下知识:
•事件源映射
•无状态应用程序
•单元测试
•事件驱动型架构
•可扩展性
•通过 Lambda 代码访问 VPC中的私有资源
具备以下技能:
•通过定义环境变量和参数(例如,内存、并发性、超时、运行时、处理程序、
层、扩展、触发器、目标)来配置 Lambda 函数
•使用代码(例如,Lambda 目标、死信队列)处理事件生命周期和错误
•使用 AWS服务和工具编写和运行测试代码
•将 Lambda 函数与 AWS服务集成
•调整 Lambda 函数以获得最佳性能

任务 3:在应用程序开发中使用数据存储。
掌握以下知识:
•关系数据库和非关系数据库
•创建、读取、更新和删除 (CRUD, Create, Read, Update, and Delete)操作
•用于平衡分区访问的高基数分区键
•云存储选项(例如,文件、对象、数据库)
•数据库一致性模型(例如,强一致性、最终一致性)
•查询和扫描操作之间的区别
• Amazon DynamoDB键和索引
•缓存策略(例如,直写、直读、延迟加载、TTL)
• Amazon Simple Storage Service (Amazon S3)层和生命周期管理
•短暂数据存储模式和持久数据存储模式之间的区别
具备以下技能:
•对数据进行序列化和反序列化,以提供数据存储的持久性
•使用、管理和维护数据存储
•管理数据生命周期
•使用数据缓存服务

■ 内容领域 2:安全性

任务 1:对应用程序和 AWS服务实施身份验证和 /或授权。
掌握以下知识:
•身份联合验证(例如,安全断言标记语言 [SAML]、OpenID Connect [OIDC]、
Amazon Cognito)
•持有者令牌(例如, JSON Web令牌 [JWT]、OAuth、AWS Security Token
Service [AWS STS])
• Amazon Cognito 中用户池和身份池的比较
•基于资源的策略、服务策略和主体策略
•基于角色的访问控制 (RBAC, Role-based Access Control)
•使用 ACL 的应用程序授权
•最低权限原则
• AWS托管策略和客户自主管理型策略之间的差异
•身份和访问管理
具备以下技能:
•使用身份提供商实施联合访问(例如,Amazon Cognito、AWS Identity and
Access Management [IAM])
•使用持有者令牌保护应用程序
•配置对 AWS的编程访问
•对 AWS服务进行身份验证调用
•担任 IAM角色
•定义主体的权限

任务 2:使用 AWS服务实施加密。
掌握以下知识:
•静态和传输中的加密
•证书管理(例如,AWS Private Certificate Authority)
•密钥保护(例如,密钥轮换)
•客户端加密和服务器端加密之间的差异
• AWS托管和客户自主管理型 AWS Key Management Service (AWS KMS)密钥
之间的区别
具备以下技能:
•使用加密密钥加密或解密数据
•生成用于开发目的的证书和 SSH密钥
•跨账户边界使用加密
•启用和禁用密钥轮换

任务 3:管理应用程序代码中的敏感数据。
掌握以下知识:
•数据分类(例如,个人身份信息 [PII]、受保护的健康信息 [PHI])
•环境变量
•密钥管理(例如,AWS Secrets Manager、AWS Systems Manager Parameter
Store)
•安全凭证处理
具备以下技能:
•加密包含敏感数据的环境变量
•使用密钥管理服务保护敏感数据
•清理敏感数据

■ 内容领域 3:部署

任务 1:准备要部署到 AWS的应用程序构件。
掌握以下知识:
•访问应用程序配置数据的方法(例如,AWS AppConfig、Secrets Manager、
Parameter Store)
• Lambda 部署打包、层和配置选项
•基于 Git 的版本控制工具(例如, Git)
•容器映像
具备以下技能:
•管理软件包中代码模块(例如,环境变量、配置文件、容器映像)的依赖项
•为应用程序部署组织文件和目录结构
•在部署环境中使用代码存储库
•实施应用程序的资源要求(例如,内存、内核)

任务 2:在开发环境中测试应用程序。
掌握以下知识:
• AWS服务中用于执行应用程序部署的功能
•使用模拟端点的集成测试
• Lambda 版本和别名
具备以下技能:
•使用 AWS服务和工具测试部署的代码
•对 API执行模拟集成并解析集成依赖关系
•使用开发端点测试应用程序(例如,在 Amazon API Gateway中配置各个阶段)
•将应用程序堆栈更新部署到现有环境(例如,将 AWS SAM 模板部署到不同的
暂存环境)

任务 3:自动执行部署测试。
掌握以下知识:
• API Gateway 阶段
•持续集成和持续交付 (CI/CD, Continuous Integration and Continuous
Delivery)工作流中的分支和操作
•自动化软件测试(例如,单元测试、模拟测试)
具备以下技能:
•创建应用程序测试事件(例如,用于测试 Lambda、API Gateway、AWS SAM
资源的 JSON负载)
•将 API资源部署到各种环境
•创建使用经批准的版本进行集成测试的应用程序环境(例如,Lambda 别名、
容器映像标签、AWS Amplify分支、AWS Copilot环境)
•实施和部署基础设施即代码 (IaC, Infrastructure as Code)模板(例如,AWS
SAM 模板、AWS CloudFormation模板)
•管理各个 AWS服务中的环境(例如,在 API Gateway 中区分开发、测试和生产)

任务 4:使用 AWS CI/CD 服务部署代码。
掌握以下知识:
•基于 Git 的版本控制工具(例如, Git)
• AWS CodePipeline中的手动和自动批准
• AWS AppConfig和 Secrets Manager 的访问应用程序配置
•使用 AWS服务的 CI/CD工作流
•使用 AWS服务和工具的应用程序部署(例如, CloudFormation、AWS Cloud
Development Kit [AWS CDK]、AWS SAM、AWS CodeArtifact、AWS
Copilot、Amplify、Lambda)
• Lambda 部署打包选项
• API Gateway 阶段和自定义域
•部署策略(例如,canary、蓝/绿、滚动)
具备以下技能:
•更新现有的 IaC 模板(例如,AWS SAM 模板、 CloudFormation模板)
•使用 AWS服务管理应用程序环境
•使用部署策略部署应用程序版本
•将代码提交到存储库以调用构建、测试和部署操作
•使用编排的工作流将代码部署到不同的环境
•使用现有的部署策略执行应用程序回滚
•使用标签和分支进行版本和发布管理
•使用现有的运行时配置创建动态部署(例如,在 Lambda 函数中使用 API
Gateway 中的阶段变量)

■ 内容领域 4:故障排除和优化

任务 1:协助进行根本原因分析。
掌握以下知识:
•日志记录和监控系统
•日志查询语言(例如,Amazon CloudWatch Logs Insights)
•数据可视化
•代码分析工具
•常见的 HTTP错误代码
•由 SDK生成的常见异常
• AWS X-Ray中的服务图
具备以下技能:
•调试代码以识别缺陷
•解释应用程序指标、日志和跟踪
•查询日志以查找相关数据
•实施自定义指标(例如,CloudWatch嵌入式指标格式 [EMF])
•使用控制面板和见解查看应用程序运行状况
•使用服务输出日志排除部署故障

任务 2:针对可观测性的检测代码。
掌握以下知识:
•分布式跟踪
•日志记录、监控和可观测性之间的区别
•结构化日志记录
•应用程序指标(例如,自定义、嵌入式、内置)
具备以下技能:
•实施有效的日志记录策略来记录应用程序的行为和状态
•实现发出自定义指标的代码
•为跟踪服务添加注释
•针对特定操作实施通知警报(例如,关于配额限制或部署完成的通知)
•使用 AWS服务和工具实施跟踪

任务 3:使用 AWS服务和功能优化应用程序。
掌握以下知识:
•缓存
•并发性
•消息收发服务(例如,Amazon Simple Queue Service [Amazon SQS]、
Amazon Simple Notification Service [Amazon SNS])
具备以下技能:
•分析应用程序性能
•确定应用程序的最小内存和计算能力
•使用订阅筛选策略来优化消息收发
•根据请求标头缓存内容