AWS Certified Developer – Associate
1.3 DVA-C02
?內容領域 1:使用 AWS服務進行開發(占計分內容的 32%)
?內容領域 2:安全性(占計分內容的 26%)
?內容領域 3:部署(占計分內容的 24%)
?內容領域 4:故障排除和優化(占計分內容的 18%)
任務 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)層和生命周期管理
?短暫數據存儲模式和持久數據存儲模式之間的區別
具備以下技能:
?對數據進行序列化和反序列化,以提供數據存儲的持久性
?使用、管理和維護數據存儲
?管理數據生命周期
?使用數據緩存服務
任務 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)
?安全憑證處理
具備以下技能:
?加密包含敏感數據的環境變量
?使用密鑰管理服務保護敏感數據
?清理敏感數據
任務 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 中的階段變量)
任務 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])
具備以下技能:
?分析應用程序性能
?確定應用程序的最小內存和計算能力
?使用訂閱篩選策略來優化消息收發
?根據請求標頭緩存內容