CDKでは、初回デプロイの前にbootstrapコマンドを実行する必要があります。

実行

cdkがインストールされている場合、以下を実行します。 実行すると、AWSにアクセスしてCloundFormationのスタックや、S3など複数のリソースを作成します。

npm run cdk bootstrap

成功した場合、以下のリソースが作成されます。

項目 リソース 備考
CloudFormation・スタック CDKTookkit
S3・バケット cdk-*-*-asets-*-* 例 cdk-abc123def-assets-123456789012-us-west-2
Elastic Container Registry (ECR)・レポジトリ cdk-*-container-assets-*-* 例 cdk-abc123def-container-assets-123456789012-us-west-2
System Manager・パラメータストア cdk-bootstrap/*/version 例 /cdk-bootstrap/abc123def/version
IAM・ロール cdk-*-**-role-*-* 例 cdk-abc123def-cfn-exec-role-123456789012-us-west-2 ( 複数存在します。 *-cfn-exec-role-*, *-deploy-role-*, *-file-publishing-role-*, image-publishing-role-*, *-lookup-role-*)

削除する場合、S3バケットと CloudFormationのCDKToolkitスタックだけ削除します。 その他は、CloudFormationが自動で削除してくれます。

CDKToolkit

CDKToolkitスタックの出力

作成されたCloudFormationの CDKToolkitスタックの「出力」には、以下のようなキーと値が設定されています。 CDKToolkitを削除して、CDKの初期状態にしたい場合、BucketNameのS3バケットを事前にメモしておきます。

キー 備考
BootstrapVersion バージョン番号 例 18
BucketDomainName 文字列 例 cdk-abc123def-assets-123456789012-us-west-2.s3.us-west-2.amazonaws.com
BucketName S3のバケット名 例 cdk-abc123def-assets-123456789012-us-west-2
FileAssetKeyArn 文字列 例 AWS_MANAGED_KEY
ImageRepositoryName Amazon Elastic Container Registry (ECR名) 例 cdk-abc123def-container-assets-123456789012-us-west-2

CDKToolkitの削除

cdk bootstrapを実行する前の状態に戻したい場合、CloudFormationの CDKToolkitスタックとS3のバケットを削除する必要があります。 S3のバケット名は、CDKToolkitスタックの「出力」のBucketNameの値になります。 削除手順は以下のようになります。

  • CloudFormationのCDKToolkitスタックでS3のバケット名を確認
  • CloudFormationでCDKToolkitスタックを削除
  • CDKToolkitスタックのS3バケットを削除