1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amplifyデプロイ中にcdk bootstrapが失敗するときの対処

Last updated at Posted at 2025-01-16

事象

AWS AmplifyのコンソールからNext.jsアプリケーションをデプロイしたとき、以下のエラーでデプロイが失敗する。

Error updating stack: UPDATE_ROLLBACK_IN_PROGRESS The following resource(s) failed to update: [ImagePublishingRoleDefaultPolicy, StagingBucket].

スクリーンショット 2025-01-13 18.02.04.png

解決策

ECRリポジトリにcdk-hnb659fds-container-assets-[account ID]-[region]という名前のリポジトリが存在するか確認し、なければ手動で作成しましょう。

解説

  • Amplifyのデプロイロジックは裏でCDKが動いている
  • cdk bootstrapが実行されると、CDKがAWSリソースを生成するために必要な前準備を行う。具体的には以下リソースが作成される。
    • S3バケット
      • AWS Lambda関数コードやアセットなどの CDK プロジェクトファイルを保存するために使用
    • ECRリポジトリ(private)
      • Dockerイメージの保存に使用
    • IAMロール
      • デプロイを実行するために必要なアクセス許可を AWS CDK に付与するように設定される
    • 参考:https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/bootstrapping.html
  • この3つのリソースをBootstrap Resourceと呼ぶ
  • Bootstrap ResourceになっているECRリポジトリを誤って削除してしまうと、cdk bootstrapが失敗していしまう。
  • ログにあったImagePublishingRoleDefaultPolicyは、Fn::Sub: "${ContainerAssetsRepository.Arn}"でBootstrap ResourceのECRリポジトリを参照している。
  • ソースコード:https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/bootstrap/bootstrap-template.yaml#L427C3-L427C35
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?