🤢
[解決]CDKのエラー`SSM parameter /cdk-bootstrap/hnb659fds/version not found.
解決方法
アセットの入っているS3バケットを削除して、bootstrapをやり直し。(中身はいちおう別のバケットにコピーしておいた。)
原因?
よくわかりませんが、ToolKitスタックを消してしまったのかも?
エラー内容
cdk deployしようとしたら、SSMパラメタがない、cdk bootstrapせよとエラー。
SSM parameter /cdk-bootstrap/hnb659fds/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap'
❌ Test01Stack failed: Error: Test01Stack: SSM parameter /cdk-bootstrap/hnb659fds/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap' (see https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html)
at CloudFormationDeployments.validateBootstrapStackVersion (/usr/local/lib/node_modules/aws-cdk/lib/api/cloudformation-deployments.ts:482:13)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at CloudFormationDeployments.publishStackAssets (/usr/local/lib/node_modules/aws-cdk/lib/api/cloudformation-deployments.ts:457:7)
at CloudFormationDeployments.deployStack (/usr/local/lib/node_modules/aws-cdk/lib/api/cloudformation-deployments.ts:339:7)
at CdkToolkit.deploy (/usr/local/lib/node_modules/aws-cdk/lib/cdk-toolkit.ts:209:24)
at initCommandLine (/usr/local/lib/node_modules/aws-cdk/lib/cli.ts:341:12)
Test01Stack: SSM parameter /cdk-bootstrap/hnb659fds/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap' (see https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html)
cdk bootstrapしたらバケットが存在しているのでエラー
cdk bootstrap
してみるも、エラー。cdk-hnb659fds-assets-111111111111-ap-northeast-1 already exists
なのでbootstrapに失敗すると。
⏳ Bootstrapping environment aws://111111111111/ap-northeast-1...
Trusted accounts for deployment: (none)
Trusted accounts for lookup: (none)
Using default execution policy of 'arn:aws:iam::aws:policy/AdministratorAccess'. Pass '--cloudformation-execution-policies' to customize.
myToolKit: creating CloudFormation changeset...
6:32:57 PM | CREATE_FAILED | AWS::S3::Bucket | StagingBucket
cdk-hnb659fds-assets-111111111111-ap-northeast-1 already exists
❌ Environment aws://111111111111/ap-northeast-1 failed bootstrapping: Error: The stack named myToolKit failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: cdk-hnb659fds-assets-111111111111-ap-northeast-1 already exists
at prepareAndExecuteChangeSet (/usr/local/lib/node_modules/aws-cdk/lib/api/deploy-stack.ts:385:13)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at /usr/local/lib/node_modules/aws-cdk/lib/cdk-toolkit.ts:575:24
at async Promise.all (index 0)
at CdkToolkit.bootstrap (/usr/local/lib/node_modules/aws-cdk/lib/cdk-toolkit.ts:572:5)
at initCommandLine (/usr/local/lib/node_modules/aws-cdk/lib/cli.ts:341:12)
The stack named myToolKit failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: cdk-hnb659fds-assets-111111111111-ap-northeast-1 already exists
S3バケットを削除してから再開
cdk-hnb659fds-assets-111111111111-ap-northeast-1 というバケットには、CDKがデプロイする中身が入っているらしい。jsonのテンプレートとか、zip内にラムダファイルとか。
ついでにtoolkit名を変更
サーバワークス社のこちらのブログを参考にして、
cdk.jsonの"app"の下の行に、
"toolkitStackName": "myToolKit",
と追加してやってみました。スタック名が変わる以上の効果は実際不明。
スタック名変える?
このブログでもStack名を変えろと書いてあるけど、いまいちわかっていない。
参考
似てる?
Discussion