

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用作 AWS CDK 為 IaC 工具
<a name="aws-cdk"></a>

這[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)是一個開放原始碼軟體開發架構，可讓您使用熟悉的程式設計語言來定義雲端應用程式資源。 AWS CDK 支援 JavaScript、 TypeScript、Python、Java、C\# 和圍棋。通 AWS CloudFormation過安全，可重複的方式 AWS CDK 佈建您的資源。當你合成你的 AWS CDK 代碼，結果是一個 CloudFormation 模板。 AWS CDK 提供了簡化定義 AWS 資源的過程的高層級抽象。

使 AWS CDK 用[構造](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html)的概念。 建*構*是應用程式中代表一或多個 CloudFormation資源及其組態的元件，例如 Amazon Simple Storage Service (Amazon S3) 儲存貯體。可以組成和自訂建構，以建立更複雜的基礎架構。如需詳細資訊，請參閱 AWS CDK 文件中的[建構圖層](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html#constructs_lib_levels)。 根據開發人員編寫的代碼 AWS CDK 生成 CloudFormation 模板。這樣就不需要手動建立 CloudFormation 範本。許多組織在社群中自訂、共用和重複使用建構，就像任何其他軟體程式庫一樣。共用建構可協助開發人員更快地撰寫程式碼，並預設納入最佳做法

AWS CDK [方面](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html)可以幫助組織將標準應用於給定範圍內的所有構造。該方面可以修改結構，例如通過添加標籤。或者它可以驗證有關構造狀態的內容。

 AWS CDK 允許開發人員使用他們現有的編程技能和知識來定義雲基礎架構。透過使用熟悉的程式設計語言，開發人員可以運用他們的專業知識來描述 AWS 資源，從應用程式開發轉換為基礎架構佈建變得更加 此外， AWS CDK 可以加快 AWS 基礎設施的創建。與手動編寫 CloudFormation 模板相比，這可以加快開發生命週期。

**使用的優點 AWS CDK：**
+  AWS CDK 支援已知的程式設計語言。
+ 通用語言允許使用邏輯結構，例如 for 循環，對象，強類型和其他編程技術。這有助於開發人員以簡潔且無錯誤的方式宣告基礎結構。這種方法還可以使用整合式開發環境 (IDE) 和相關工具來協助管理宣告大量資源的複雜性。
+ AWS CDK 建構是可共用的，可協助您滿足您的治理和合規要求。
+ 這些結 AWS CDK 構可以減少開發的時間和精力。如需詳細資訊，請參閱[建構程式庫 API 參考](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html)。
+  AWS CDK 是基於 CloudFormation. 如果你熟悉 CloudFormation 和它的概念，那麼 AWS CDK 概念更容易理解。
+ 可 AWS CDK 協助您執行[單元測試和快照測試](https://docs.aws.amazon.com/cdk/v2/guide/testing.html)。
+ 如果在中不支援某個特徵 AWS CDK，您可以使用[樓層 1 建構](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html#constructs_lib_levels_one)和[原始取代](https://docs.aws.amazon.com/cdk/v2/guide/cfn_layer.html#cfn_layer_raw)。或者，您可以使用直接呼叫 API 的[CloudFormation 自訂資源](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html)。
+ 您可以通過刪除 CloudFormation 堆棧有效地清理資源。

**使用的缺點 AWS CDK：**
+ 每個環境都 AWS CDK 需要[啟動載入的環境](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html)。 AWS 帳戶啟動安裝是一次性動作，您必須針對將資源部署到的每個環境執行此動作。
+  AWS CDK 可以用來部署 IaC 只能在 AWS 雲端.