AWSから「Missing CDK bootstrap bucket」が含まれる件名のメールがきた場合の対処方法
概要
今回は「Missing CDK bootstrap bucket」が含まれる件名のメールが来た方向けに対処方法をご紹介します。脆弱性の通知のため詳細は伏せて、連絡や対処方法のみ記載します。
最初に
実はこの通知は誤って多くの方に通知されているようです。以下のre:PostでRico(CDKの主要開発者)さんから誤って多くの方に通知してしまったと記載があります。
メールの内容を確認し、該当のバケットとロールの設定を確認して両方存在すれば、すぐに対処は不要です。ただ将来的に、問題の構成になる可能性はあります。以下それぞれ対応が必要です。
- CDKを継続利用しない場合:メールに記載のバケットやロールを削除
- CDKを継続利用する場合:どこかのタイミングでブートストラップを更新
対処方法
ここではCDKを継続利用する場合について記載します。以下の手順で、cdk bootstrapを再適用してください。先にCDKのバージョンを確認します。
CDKの更新
# CDKのバージョンを確認する
## グローバルの場合
cdk --version
## ローカルの場合
npx cdk --version
確認した結果、CDKのバージョンが2.149.0
以降なら問題ないです。それ以前ならCDKのバージョンを更新してください。
# グローバルなら以下のコマンド。ローカルならpackage.jsonを更新
npm install -g aws-cdk
ブートストラップのバージョン更新
リソースが綺麗に揃っている場合は、bootstrapコマンドを打つだけで完了します。更新後はCloudFormationでCDKToolkitのスタックの出力にあるBootstrapVersion
が21
以降になっていれば大丈夫です。
cdk bootstrap aws://ACCOUNT_NUMBER/REGION1 aws://ACCOUNT_NUMBER/REGION2
実際にcdk v2.148.0(bootstrap v20)でbootstrap後、cdk v2.162.1(bootstrap v23)でbootstrapを更新したところ正常に更新が適用されました。
実はリソースを手動で消している場合は、デプロイに失敗する場合があります。なので以下のステートを持つようなリソースを消してしまってないか確認してください。リソースが無い場合はメールの対処をご確認ください。ブートストラップのバージョンによって状況が異なるので詳細は、CloudFormationのCDKToolkitスタックの出力タブで確認できます。
- S3バケット:cdk-hnb659fds-assets-{ACCOUNT_NUMBER}-{REGION1}
- ECRリポジトリ:cdk-hnb659fds-container-assets-{ACCOUNT_NUMBER}-{REGION1}
所感
想定より多くのアカウントに通知が飛んでいるようなので記事にしてみました。メールの文面を読む限りは特殊なパターンですが、対処しておいて損はないので、条件に該当する方はブートストラップのバージョンアップを検討してください。