CDKのプロジェクトを作成する場合、先にckdコマンドをグローバルでインストールします。 その後、プロジェクト用ディレクトリを作成して、その中でプロジェクト作成用コマンドを実行します。
CDKコマンドのインストール
プロジェクト作成
参考
プロジェクト用の空のディレクトリを作成します。 その中に移動してcdk init コマンドを実行します。 オプションで使用する言語(例 typescrirpt)を指定します。
注意 cdk init は、空のディレクトリで実行する必要があります。
cdk init app --language=[言語]
TypeScriptの場合は以下になります。
cdk init app --language=typescript
例 TypeScriptのプロジェクト作成
$ cdk init app --language=typescript Applying project template app for typescript # Welcome to your CDK TypeScript project This is a blank project for CDK development with TypeScript. The `cdk.json` file tells the CDK Toolkit how to execute your app. ## Useful commands * `npm run build` compile typescript to js * `npm run watch` watch for changes and compile * `npm run test` perform the jest unit tests * `cdk deploy` deploy this stack to your default AWS account/region * `cdk diff` compare deployed stack with current state * `cdk synth` emits the synthesized CloudFormation template Initializing a new git repository... hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> Executing npm install... ✅ All done!
cdkの初期化が終わると、cdkコマンドはローカルにインストールされています。 そのため、グローバルインストールしたcdkコマンドは必要ないので削除しておきます。
npm uninstall -g aws-cdk
プロジェクトの中身
cdk init app で作成した場合、空のディレクトリは以下のようになります。
$ ls -al total 212 drwxrwxr-x 7 vagrant vagrant 4096 Jul 1 16:15 . drwxrwxr-x 3 vagrant vagrant 4096 Jul 1 16:14 .. drwxrwxr-x 2 vagrant vagrant 4096 Jul 1 16:15 bin -rw-rw-r-- 1 vagrant vagrant 2278 Jul 1 16:15 cdk.json drwxrwxr-x 8 vagrant vagrant 4096 Jul 1 16:15 .git -rw-rw-r-- 1 vagrant vagrant 93 Jul 1 16:15 .gitignore -rw-rw-r-- 1 vagrant vagrant 157 Jul 1 16:15 jest.config.js drwxrwxr-x 2 vagrant vagrant 4096 Jul 1 16:15 lib drwxrwxr-x 217 vagrant vagrant 12288 Jul 1 16:15 node_modules -rw-rw-r-- 1 vagrant vagrant 65 Jul 1 16:15 .npmignore -rw-rw-r-- 1 vagrant vagrant 530 Jul 1 16:15 package.json -rw-rw-r-- 1 vagrant vagrant 149179 Jul 1 16:15 package-lock.json -rw-rw-r-- 1 vagrant vagrant 536 Jul 1 16:15 README.md drwxrwxr-x 2 vagrant vagrant 4096 Jul 1 16:15 test -rw-rw-r-- 1 vagrant vagrant 663 Jul 1 16:15 tsconfig.json