AWS CDK
AWS Cloud Development Kit
用程式碼建立與管理 AWS 基礎設施的開發套件。
一句話說明
用程式碼建立與管理 AWS 基礎設施的開發套件。
概要
AWS CDK 是可使用 TypeScript、Python 等程式語言定義 AWS 基礎設施的 IaC 工具。
主要用途
- IaC 管理
- 環境重現
- 多項 AWS 資源的一次性建構
CLF-C02 考試重點
- 是 Infrastructure as Code 的選項之一
- 產生 CloudFormation 以管理 AWS 資源
- 可用開發語言定義基礎設施
SAA-C03 考試重點
- 可對環境差異進行程式碼審查
- 可以堆疊為單位管理資源
- 需理解刪除操作的影響範圍
實際使用情境
AWS CDK(Cloud Development Kit)是可使用 TypeScript / Python / Java / C# / Go 等通用程式語言定義 AWS 基礎設施的 Infrastructure as Code(IaC)工具。以 CDK 撰寫的程式碼(CDK 應用程式)在內部會被合成(synth)為 CloudFormation 範本, 以 CloudFormation 堆疊的形式部署。實務上會應用於:將複雜的資源架構切分為可重複 使用的 Construct(元件)以實現標準化、將各環境(dev / staging / prod)的差異 參數化以從同一份程式碼配發多個環境、將 Lambda 函式的程式碼與基礎設施定義以一個 語言整合等用途。 相較於直接撰寫 CloudFormation 範本(YAML / JSON)的優點是:IDE 自動完成與型別 檢查有效、可用程式語言的語法撰寫迴圈或條件分支、可使用可重複利用的 Construct 函式庫(L1 / L2 / L3 Constructs / AWS Solutions Constructs)將最佳實務納入 程式碼等。另一方面,若不透過 CDK 直接編輯經 CDK 部署的 CloudFormation 堆疊 會破壞同步,因此運作規則上需遵守「CDK 管理對象只透過 CDK 變更」的原則。CDK 本身不計費,但建立的 AWS 資源會照常產生費用,因此在 PR 審查中檢查避免誤建立 高額資源的運作較為理想。 在 CLF-C02 中,題目會以「以程式碼管理基礎設施的選項是什麼」「產生 CloudFormation 以管理資源的工具是什麼」等形式出題。CloudFormation / CDK / Terraform(第三方) 的區分使用容易成為論點,需掌握 CDK 為「AWS 官方的 IaC 工具,可使用通用語言」 的定位。SAA-C03 以後,堆疊切分的粒度、CDK Construct 的階層(L1 = CloudFormation 資源的薄包裝 / L2 = 附帶安全預設值 / L3 = 整合最佳實務的高階)、正式環境的部署 權限控制都會被深入出題。
官方文件
成本注意事項
- CDK 本身不額外收費,但所建立的 AWS 資源會產生費用
- 進行審查以避免誤建高額資源
安全性注意事項
- 確認所建立的 IAM 權限
- 限制正式環境的部署權限
相關服務
相關比較文章
此術語尚未登錄相關比較文章。
相關架構圖
此術語尚未登錄相關架構圖。
標籤
最後更新日: 2026-06-07
上一個術語
AWS Config
下一個術語
AWS CloudFormation