AWS CDK のコアコンセプトを学ぶ - AWS Cloud Development Kit (AWS CDK) v2

これは v2 AWS CDK デベロッパーガイドです。古い CDKv1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

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

AWS CDK のコアコンセプトを学ぶ

AWS Cloud Development Kit (AWS CDK)の背後にあるコアコンセプトについて説明します。

AWS CDK および IaC

AWS CDK は、コードを使用して AWS インフラストラクチャを管理するために使用できるオープンソースフレームワークです。このアプローチは、Infrastructure as Code (IaC)。 インフラストラクチャをコードとして管理およびプロビジョニングすることで、開発者がコードを処理するのと同じ方法でインフラストラクチャを扱います。これにより、バージョン管理やスケーラビリティなど、多くの利点が得られます。IaC の詳細については、「Infrastructure as Code とは」を参照してください。

AWS CDK and AWS CloudFormation

AWS CDK は と緊密に統合されています AWS CloudFormation。 AWS CloudFormation は、インフラストラクチャの管理とプロビジョニングに使用できるフルマネージドサービスです AWS。では AWS CloudFormation、 テンプレートでインフラストラクチャを定義し、 にデプロイします AWS CloudFormation。その後、 AWS CloudFormation サービスはテンプレートで定義された設定に従ってインフラストラクチャをプロビジョニングします。

AWS CloudFormation テンプレートは宣言型です。つまり、インフラストラクチャの目的の状態または結果を宣言します。JSON または を使用してYAML、リソースプロパティを定義することで AWS インフラストラクチャを AWS 宣言します。リソースは AWS の多くのサービスを表し、プロパティはこれらのサービスの希望する設定を表します。テンプレートを にデプロイすると AWS CloudFormation、テンプレートで説明されているように、リソースと設定されたプロパティがプロビジョニングされます。

を使用すると AWS CDK、汎用プログラミング言語を使用してインフラストラクチャを命令的に管理できます。目的の状態を宣言的に定義する代わりに、目的の状態に達するために必要なロジックまたはシーケンスを定義できます。たとえば、if ステートメントまたは条件ループを使用して、インフラストラクチャの希望する終了状態に到達する方法を決定できます。

で作成されたインフラストラクチャ AWS CDK は、最終的にテンプレートに変換 AWS CloudFormation または合成され、 AWS CloudFormation サービスを使用してデプロイされます。したがって、 AWS CDK はインフラストラクチャの作成に異なるアプローチを提供しますが、 AWS リソース設定の広範なサポートや堅牢なデプロイプロセスなど AWS CloudFormation、 の利点は依然として得られます。

詳細については AWS CloudFormation、「 AWS CloudFormation ユーザーガイド」の「 AWS CloudFormationとは」を参照してください。

AWS CDK および 抽象化

では AWS CloudFormation、リソースの設定方法の詳細をすべて定義する必要があります。これにより、インフラストラクチャを完全に制御できます。ただし、そのためには、リソース設定の詳細と、アクセス許可やイベント駆動型のインタラクションなどのリソース間の関係を含む堅牢なテンプレートを学習、理解、作成する必要があります。

を使用すると AWS CDK、リソース設定を同じように制御できます。ただし、 は強力な抽象化 AWS CDK も提供するため、インフラストラクチャ開発プロセスを高速化および簡素化できます。たとえば、 AWS CDK には、適切なデフォルト設定を提供するコンストラクトや、ボイラープレートコードを生成するヘルパーメソッドが含まれています。 AWS CDK には、 AWS CDK コマンドラインインターフェイス (AWS CDK CLI)。インフラストラクチャ管理アクションを実行します。

主要 AWS CDK 概念の詳細

の操作 AWS CDK

で を使用する場合 AWS CDK、主に AWS コンストラクトライブラリと を操作します。 AWS CDK CLI.

を使用した開発 AWS CDK

は、サポートされている任意のプログラミング言語で記述 AWS CDK できます。プロジェクトから始めます。CDKプロジェクトには、アセットを含むフォルダとファイルの構造が含まれています。プロジェクト内で、CDKアプリケーションを作成します。アプリケーション内で、スタックを直接表す CloudFormation スタックを定義します。スタック内では、 コンストラクトを使用して AWS リソースとプロパティを定義します。

を使用したデプロイ AWS CDK

CDK アプリケーションを AWS 環境にデプロイします。デプロイする前に、環境を準備するためのブートストラップを 1 回だけ実行する必要があります。

詳細

AWS CDK 主要概念の詳細については、このセクションのトピックを参照してください。