프로덕션에서 AWS CloudFormation UPDATE_ROLLBACK_FAILED 수정
4773 단어 awspythoncloudformationcloud
일반적으로 AWS SAM Cli 또는 클라우드 형성에 익숙하다면 이 상태가 "UPDATE_COMPLETE"로 변경될 때까지 새 업데이트를 배포할 수 없다는 것을 알게 될 것입니다.
이제 이 상황에 직면한 두 가지 옵션이 있습니다(적어도 제가 알고 있는 것은).
두 번째 옵션은 프로덕션에서 이 작업을 수행하고 싶지 않을 수 있다는 사실이 기본적으로 응용 프로그램을 종료하는 것 외에는 거의 완벽하고 간단합니다.
그러나 첫 번째 옵션이 훨씬 더 권장됩니다. 이제 업데이트 롤백을 어떻게 완료합니까?
AWS CLI 사용
aws cloudformation continue-update-rollback 명령을 사용하여 업데이트 롤백을 완료할 수 있습니다.
aws cloudformation continue-update-rollback \
--stack-name STACK_NAME \
--resources-to-skip LIST_OF_RESOURCES
여기서 STACK_NAME은 스택의 이름이고 LIST_OF_RESOURCES는 건너뛸 리소스의 논리적 ID 목록입니다. LIST_OF_RESOURCES의 경우 UPDATE_FAILED 상태인 리소스만 지정해야 합니다.
견본
aws cloudformation continue-update-rollback \
--stack-name eazido-app-stack \
--resources-to-skip CustomerApi PaymentApi
AWS 콘솔 사용
참고 이 업데이트 롤백이 여전히 실패하거나 일부 리소스를 건너뛰려면 "업데이트 롤백 계속"대화 상자에서 "고급 문제 해결"을 선택하고 건너뛸 리소스를 선택하십시오.
이 작업이 완료되면 이제 스택에 "** UPDATE_ROLLBACK_COMPLETE**"상태가 표시됩니다. 업데이트를 다시 배포하려고 하면 제대로 작동합니다.
그러나 오류로 인해 업데이트가 어떻게 실패했는지 기억하고 배포하기 전에 이를 식별하고 수정해야 합니다. 내 경우에는 버전이 존재하지 않는 레이어를 사용하고 있었습니다. 스택 템플릿을 업데이트하여 레이어를 업데이트해야 했습니다(이에 대해서는 잠시 후 설명하겠습니다). 실패한 스택의 이벤트 탭에서 상태 이유 열을 확인하여 스택이 실패한 이유를 알 수 있습니다.
CloudFormation 템플릿 업데이트
"디자이너에서 보기"페이지가 로드되면 이와 유사한 페이지가 표시됩니다.
AWS CLI의 (get-template)[ https://docs.aws.amazon.com/cli/latest/reference/cloudformation/get-template.html ] 명령을 사용하여 특정 스택에 대한 템플릿을 가져올 수 있습니다.
aws cloudformation get-template --stack-name STACK_NAME
변경 세트 생성 및 실행
AWS CLI의 (update-stack)[ https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html ] 명령을 사용하여 특정 스택을 업데이트할 수 있습니다.
aws cloudformation update-stack --stack-name STACK_NAME --template-url https://s3.amazonaws.com/sample/updated_template.template
참고: AWS CLI 오류가 발생하는 경우 - AWS cli troubleshooting guide.을 살펴보는 것이 좋습니다.
Reference
이 문제에 관하여(프로덕션에서 AWS CloudFormation UPDATE_ROLLBACK_FAILED 수정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/emmarex/aws-cloudformation-updaterollbackfailed-fix-in-production-4203텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)