

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を IaC ツール AWS CDK として使用する
<a name="aws-cdk"></a>

[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) は、使い慣れたプログラミング言語を使用してクラウドアプリケーションリソースを定義できるオープンソースのソフトウェア開発フレームワークです。は、 JavaScript、 TypeScript、Python、Java、C\#、Go AWS CDK をサポートしています。は、 を介して安全かつ繰り返し可能な方法でリソースを AWS CDK プロビジョニングします AWS CloudFormation。 AWS CDK コードを合成すると、結果は CloudFormation テンプレートになります。 AWS CDK は、リソースの定義プロセスを簡素化する高レベルの抽象化 AWS を提供します。

は[コンストラクト ](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html)の概念 AWS CDK を使用します。*コンストラクト*は、Amazon Simple Storage Service (Amazon S3) バケットなど、1 つ以上の CloudFormationリソースとその設定を表すアプリケーション内のコンポーネントです。コンストラクトを構成およびカスタマイズして、より複雑なインフラストラクチャを作成できます。詳細については、 AWS CDK ドキュメントの[「ビルドレベル](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html#constructs_lib_levels)」を参照してください。 は、デベロッパーが記述したコードに基づいて CloudFormation テンプレート AWS CDK を生成します。これにより、 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-loops、オブジェクト、強力なタイプ、その他のプログラミング手法などの論理コンストラクトを使用できます。これにより、デベロッパーは簡潔でエラーのない方法でインフラストラクチャを宣言できます。このアプローチにより、統合開発環境 (IDE) と関連ツールを使用して、多数のリソースの宣言に伴う複雑さを管理することもできます。
+ AWS CDK コンストラクトは共有可能で、ガバナンスとコンプライアンスの要件を満たすのに役立ちます。
+  AWS CDK コンストラクトは開発にかかる時間と労力を削減できます。詳細については、「[Construct Library API Reference](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)と [raw オーバーライド ](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：**
+ には、各 に[ブートストラップされた環境](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) AWS CDK が必要です AWS アカウント。ブートストラップは、リソースをデプロイするすべての環境で実行する必要がある 1 回限りのアクションです。
+  AWS CDK は、 でのみ IaC をデプロイするために使用できます AWS クラウド。