CDKを利用してバックエンドを構築するためにやった準備段階の備忘録。
基本的に
・TypeScript
・Yarn
を利用してます。
CDKインストール
しなきゃ話が始まらない。
$ yarn global add aws-cdk
一度インストールすれば、毎回インストールはいらない。
ただしバージョンアップは自動的にされないので、改めて使用する前には
$ yarn global upgrade aws-cdk
で最新版へアップグレードすること。
プロジェクト作成
新しいCDKプロジェクトを作成するには、まず空のディレクトリが必要になる。
$ mkdir sample-dir && cd sample-dir
で
プロジェクトを管理したいディレクトリの作成及びそのディレクトリへの移動を行う。
ディレクトリに移動したところで、ようやくプロジェクトの作成となる。
$ cdk init app --language=typescript
のように
使用したいテンプレート・言語を指定すればディレクトリ内にCDKが構築される。
$ cdk init
とだけ入力すると
以下のようにテンプレートの一覧が出力されるので、作成する前に確認しても損はない。
$ cdk init
Available templates:
* app: Template for a CDK Application #基本的なCDKのAPPテンプレート
└─ cdk init app --language=[csharp|fsharp|go|java|javascript|python|typescript]
* lib: Template for a CDK Construct Library #CDKコンストラクトライブラリのテンプレート
└─ cdk init lib --language=typescript
* sample-app: Example CDK Application with some constructs #サンプル付きCDKのAPPテンプレート
└─ cdk init sample-app --language=[csharp|fsharp|go|java|javascript|python|typescript]
サンプルなしで構築するなら$ cdk init app --language=typescript
サンプルありで構築するなら$ cdk init sample-app --language=typescript
ライブラリのみ作成なら$ cdk init lib --language=typescript
を入力すれば、それぞれに応じたテンプレートが作成される。
アプリケーションの作成へ
initコマンドによって、ディレクトリの中には以下が作成される。
├ bin
│ └ sample-dir.ts
├ cdk.json
├ jest.config.js
├ lib
│ └ sample-dir-stack.ts
├ package.json
├ package-lock.json
├ README.md
├ test
│ └ sample-dir.test.ts
└ tsconfig.json
あとは構築したプロジェクトの中で、必要に応じてライブラリ・モジュールを入れてStackを作成していく。
頻出コマンド記録
CDKを使う上でよく利用するコマンドのメモ。
cdk init –language :初期化
cdk bootstrap :CDKのキットをCfnスタックとしてデプロイ ※最初に一回だけ実行
cdk ls *** :指定されたStackをリスト
cdk diff *** :既存Stackとの差異を表示
cdk synth *** :Cfnテンプレートを出力
cdk deploy *** :Stackをデプロイ
cdk destroy *** :Stackを破棄