Amplify bulid error

seunghwa17·2022년 6월 21일
0

변경사항을 git repository에 push하고 amplify에서 build를 진행 중에 처음 보는 error가 발생했다

Resource Name: DeploymentBucketBlockHTTP (AWS::S3::BucketPolicy)
                                Event Type: create
                                Reason: The bucket policy already exists on bucket amplify-fine-main-181850-deployment.
2022-06-14T06:00:51.881Z [WARNING]: ✖ An error occurred when pushing the resources to the cloud
2022-06-14T06:00:51.881Z [WARNING]: ✖ There was an error initializing your environment.
2022-06-14T06:00:51.887Z [INFO]: [0mResourceNotReady: Resource is not in the state stackUpdateComplete

DeploymentBucketBlockHTTP (AWS::S3::BucketPolicy)

이 S3 bucket 정책이 이미 버킷에 존재한다는 뜻인데, 버킷 정책이 이미 존재한다는 에러는 맞닥뜨려봤지만 DeploymentBucketBlockHTTP 라는 정책은 처음 보는 에러였기에, 구글에 검색을 해 봤지만 아무것도 나오지 않았다.

그래서 amplify/hosting repository에 issue를 등록했다.

issue를 등록하고 다음 날 나와 같은 에러가 발생했다는 분이 있었고, Amplify CLI의 버전을 낮추어 빌드했더니 성공했다는 조언을 듣고, 동일하게 빌드를 해봤더니 빌드가 성공했다.

추후, 내 문제는 amplify/cli 팀으로 옮겨졌고 문제 발생에 대한 원인과 해결방법을 알 수 있었다.

원인은 amplify-cli 8.5.1 이전 버전에서 amplify에서 생성된 cloudformation과 AWS가 모두 버킷에 대한 퍼블릭 액세스 차단 정책을 적용하려고 했기 때문에 배포 버킷을 생성하지 못했고, 이로 인해 AWS가 배포 전에 정책을 적용할 수 있었는지 여부에 따라 "충돌하는 조건부 작업이 현재 진행 중입니다" 또는 "버킷 정책이 버킷에 이미 존재합니다" 오류와 함께 Cloudformation 배포가 실패한 것이다.

amplify-cli를 8.5.1 이상 버전으로 업그레이드하면 문제는 해결되었다.

에러가 발생하게되면 구글링을 통해 거의 해결해왔지만 이번에는 구글링을 통해 해결할 수 없는 에러였기 때문에, github issue 등록을 통해 해결해보았다.

재미있는 경험이었다!

참고 : https://github.com/aws-amplify/amplify-cli/issues/10609

profile
꾸준히 성장하는 개발자가 되겠습니다.

0개의 댓글