これは v2 AWS CDK デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Cloud Development Kit (AWS CDK) プロジェクトは、CDK コードを含むファイルとフォルダを表します。内容はプログラミング言語によって異なります。
AWS CDK プロジェクトは、手動で作成することも AWS CDK 、 コマンドラインインターフェイス (AWS CDK CLI) cdk init
コマンドを使用して作成することもできます。このトピックでは、AWS CDK CLI によって作成されたファイルおよびフォルダのプロジェクト構造および命名規則について説明します。ニーズに合わせて CDK プロジェクトをカスタマイズおよび整理できます。
注記
によって AWS CDK CLI作成されたプロジェクト構造は、時間の経過とともにバージョンによって異なる場合があります。
ユニバーサルファイルとフォルダ
- .git
-
git
がインストールされている場合、 AWS CDK CLI はプロジェクトのGitリポジトリを自動的に初期化します。.git
ディレクトリには、リポジトリに関する情報が含まれています。 - .gitignore
-
無視するファイルおよびフォルダを指定するため、Git によって使用されるテキストファイル。
- README.md
-
AWS CDK プロジェクトを管理するための基本的なガイダンスと重要な情報を提供するテキストファイル。必要に応じてこのファイルを変更し、CDK プロジェクトに関する重要な情報を文書化します。
- cdk.json
-
AWS CDKの設定ファイル。このファイルは、アプリの実行方法に関する指示を AWS CDK CLIに提供します。
言語固有のファイルとフォルダ
次のファイルおよびフォルダは、サポートされているプログラミング言語ごとに一意です。
次の内容は、cdk init --language typescript
コマンドを使用して my-cdk-ts-project
ディレクトリで作成されたプロジェクトの例です。
my-cdk-ts-project ├── .git ├── .gitignore ├── .npmignore ├── README.md ├── bin │ └── my-cdk-ts-project.ts ├── cdk.json ├── jest.config.js ├── lib │ └── my-cdk-ts-project-stack.ts ├── node_modules ├── package-lock.json ├── package.json ├── test │ └── my-cdk-ts-project.test.ts └── tsconfig.json
- .npmignore
-
パッケージを npm レジストリに発行するときに無視するファイルおよびフォルダを指定するファイル。このファイルは
.gitignore
に似ていますが、npm パッケージに特化しています。 - bin/my-cdk-ts-project.ts
-
アプリケーションファイルは CDK アプリを定義します。CDK プロジェクトには、1 つ以上のアプリケーションファイルを含めることができます。アプリケーションファイルは
bin
フォルダに保存されます。次の内容は、CDK アプリを定義する基本的なアプリケーションファイルの例です。
#!/usr/bin/env node import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { MyCdkTsProjectStack } from '../lib/my-cdk-ts-project-stack'; const app = new cdk.App(); new MyCdkTsProjectStack(app, 'MyCdkTsProjectStack');
- jest.config.js
-
Jest の設定ファイル。Jest は人気の JavaScript テストフレームワークです。
- lib/my-cdk-ts-project-stack.ts
-
スタックファイルは CDK スタックを定義します。スタック内では、コンストラクトを使用して AWS リソースおよびプロパティを定義します。
次の内容は、CDK スタックを定義する基本的なスタックファイルの例です。
import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; export class MyCdkTsProjectStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // code that defines your resources and properties go here } }
- node_modules
-
プロジェクトの依存関係を含む Node.js プロジェクト内の共通フォルダ。
- package-lock.json
-
package.json
ファイルと連携して依存関係のバージョンを管理するメタデータファイル。 - package.json
-
Node.js プロジェクトで一般的に使用されるメタデータファイル。このファイルには、プロジェクト名、スクリプト定義、依存関係、その他のインポートプロジェクトレベルの情報など、CDK プロジェクトに関する情報が含まれています。
- test/my-cdk-ts-project.test.ts
-
CDK プロジェクトのテストを整理するため、テストフォルダが作成されます。サンプルテストファイルも作成されます。
テストを実行する前に TypeScript にテストを記述し、Jest を使用して TypeScript コードをコンパイルできます。
- tsconfig.json
-
コンパイラオプションおよびプロジェクト設定を指定する TypeScript プロジェクトで使用される設定ファイル。