汎用プログラミング言語でクラウドリソースを定義・デプロイできる、Infrastructure as Code の CLI とエンジンです。
aws/aws-cdk
TypeScript、Python、Java、.NET、GoでAWSクラウドインフラを定義し、CloudFormation経由でプロビジョニングできるオープンソースフレームワーク。
代替できる製品:Terraform
AWS CloudFormation
- スター
- 12,948
- フォーク
- 4,656
- 未解決の Issue
- 2,939
- 最終コミット
- 6 時間前
これは何?
AWS Cloud Development Kit(CDK)を使うと、手書きのテンプレートではなく汎用プログラミング言語でクラウドインフラを定義できます。再利用可能な構成要素であるconstructを組み合わせてstackを作成し、CDKアプリを構成すると、フレームワークがこれらをAWS CloudFormationテンプレートに合成してデプロイできる形にします。
AWS Construct LibraryにはAWSサービスごとのモジュールが用意されており、サービス間の連携方法をカプセル化したオブジェクト指向APIによって、ボイラープレートや接着コードを減らせます。constructはパッケージ化して共有でき、Construct Hubから見つけることもできます。
npmからインストールできるCDK CLIには、テンプレートの合成、AWSアカウントへのstackのデプロイ、コード変更とデプロイ済みstackの差分確認を行うコマンドが用意されています。対応言語はTypeScript、JavaScript、Python、Java、.NET、Goです。
主な機能
- 01TypeScript、Python、Java、.NET、GoでAWSリソースを再利用可能なconstructとして定義できます。
- 02アプリケーションコードからAWS CloudFormationテンプレートを合成できます。
- 03cdk deployコマンドでAWSアカウントにstackをデプロイできます。
- 04変更を適用する前に、ローカルのコード変更とデプロイ済みstackの差分を確認できます。
- 05AWSサービスごとに用意されたAWS Construct Libraryのモジュールを利用できます。
ユースケース
- バージョン管理されたコードとして、アプリケーションのAWSインフラを管理する。
- constructライブラリを通じて、再利用可能なインフラパターンをチーム間で共有する。
- 本番環境にデプロイする前に、diffでインフラの変更を確認する。
クイックスタート
- 1
npm から AWS CDK CLI をインストールする
npm i -g aws-cdk - 2
新しい TypeScript サンプルプロジェクトを作成する
mkdir hello-cdk && cd hello-cdk && cdk init sample-app --language=typescript - 3
サンプルアプリを AWS アカウントにデプロイする
cdk deploy
使う前に知っておきたいこと
- スタックをデプロイするには AWS アカウントと AWS 認証情報が必要です。
- Experimental モジュールでは、どのリリースでも API に破壊的変更が加わる可能性があります。
トピック
よくある質問
- aws-cdk とは?
- TypeScript、Python、Java、.NET、GoでAWSクラウドインフラを定義し、CloudFormation経由でプロビジョニングできるオープンソースフレームワーク。 AWS Cloud Development Kit(CDK)を使うと、手書きのテンプレートではなく汎用プログラミング言語でクラウドインフラを定義できます。再利用可能な構成要素であるconstructを組み合わせてstackを作成し、CDKアプリを構成すると、フレームワークがこれらをAWS CloudFormationテンプレートに合成してデプロイできる形にします。
- aws-cdk は無料で使えますか?ライセンスは?
- aws-cdk は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- aws-cdk は今もメンテナンスされていますか?
- 活発にメンテナンス中。aws-cdk の最終コミットは 2026年10月22日 です。
- aws-cdk は何に使えますか?
- バージョン管理されたコードとして、アプリケーションのAWSインフラを管理する。 constructライブラリを通じて、再利用可能なインフラパターンをチーム間で共有する。 本番環境にデプロイする前に、diffでインフラの変更を確認する。
- aws-cdk のインストール方法は?
- npm から AWS CDK CLI をインストールする: npm i -g aws-cdk 新しい TypeScript サンプルプロジェクトを作成する: mkdir hello-cdk && cd hello-cdk && cdk init sample-app --language=typescript サンプルアプリを AWS アカウントにデプロイする: cdk deploy
- aws-cdk はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/aws/aws-cdk
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
IaC、コンテナイメージ、オープンソースパッケージを静的解析し、クラウドの設定ミスやCVEを検出するツール。
AWS Lambdaなどのマネージドクラウドサービスを中心に、コードとクラウドインフラをデプロイするCLI・YAMLベースのフレームワーク。
Terraform、Terragrunt、CloudFormation、AWS CDKのクラウドコストを、インフラ変更のデプロイ前に見積もれるオープンソースツール。
宣言的な構成を使って、TerraformからAWSリソースの作成、変更、削除を行えるプロバイダーです。
データベース、Pub/Sub、バケット、キャッシュ、cronジョブをコードで宣言できるオープンソースのTypeScript・Go向けバックエンドフレームワーク。ローカルで実行し、AWSまたはGCPの自分のアカウントにデプロイできます。