CloudFormation의 변경 세트 오류를 해결하려면 어떻게 해야 하나요?

4분 분량
0

리소스를 AWS CloudFormation 스택으로 가져오려고 하면 오류가 발생합니다.

해결 방법

오류 유형에 따라 관련 섹션의 단계를 완료하여 오류를 해결하세요.

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

변경 세트 오류

오류: "There was an error creating this change set. As part of the import operation, you cannot modify or add [Outputs]"

리소스를 스택으로 가져오는 경우 이 오류가 발생합니다. 또한 CloudFormation 콘솔을 통해 출력이 있는 리소스 가져오기 템플릿으로 새 스택을 생성할 때도 발생합니다. 다음 단계에 따라 오류를 해결하세요.

  • 최신 CloudFormation 템플릿의 출력 섹션을 스택에서 현재 사용 중인 템플릿과 비교하세요. 두 템플릿의 출력 섹션은 동일해야 합니다. 값이 동일하지 않은 경우 현재 템플릿의 출력 섹션에 있는 값 및 출력과 일치하도록 최신 템플릿을 업데이트하세요.
    중요: 가져오기 작업에는 출력논리적 ID, 설명, , 내보내기 및 기타 속성에 대한 추가 및 수정 사항이 포함될 수 없습니다.
  • 가져오기 작업이 완료되면 출력 구성에서 원하는 변경 사항으로 스택을 업데이트합니다.

스택 속성의 유효성 검사 오류

오류: "An error occurred (ValidationError) when calling the CreateChangeSet operation: As part of the import operation, you cannot modify or add [Tags]"

이 오류는 AWS CLI 또는 AWS SDK를 사용하여 수정되거나 추가된 스택 속성을 포함하는 IMPORT 형식 변경 세트를 생성할 때 발생합니다.

  • 변경 세트 생성 작업에 포함된 스택 속성이 스택의 현재 속성 값과 동기화되었는지 확인합니다.
    중요: 새 속성 값을 업데이트하거나 추가하지 마세요.
  • 리소스를 가져온 후 별도의 업데이트 작업을 통해 속성을 업데이트하세요.

수정된 리소스 오류

오류: "There was an error creating this change set. You have modified resources [ResourceName] in your template that are not being imported. Update, create or delete operations cannot be executed during import operations."

이 오류는 리소스 가져오기 작업 중에 기존 리소스를 수정할 때 발생합니다. 가져오기 작업 중에는 리소스를 생성, 업데이트 및 삭제할 수 없습니다. 다음 단계에 따라 오류를 해결하세요.

  • IMPORT 형식 변경 세트 대신 UPDATE 형식 변경 세트를 생성합니다. 이렇게 하면 리소스 변경의 원인을 알 수 있습니다.
  • 기존 리소스에 대해 동일한 리소스 사양을 사용하고 템플릿에 가져올 적절한 리소스만 추가합니다.

리소스 가져오기 목록 오류

다음 오류는 AWS CLI 또는 AWS SDK를 사용하여 IMPORT 형식 변경 세트를 생성할 때 일반적으로 발생합니다.

오류: "An error occurred (ValidationError) when calling the CreateChangeSet operation: Resources [<ResourceName>] is missing from ResourceToImport list"

CloudFormation 템플릿에서 스택으로 가져오려는 모든 리소스의 ResourceToImport 속성에 물리적 ID를 전달하고 있는지 확인하세요.

오류: "An error occurred (ValidationError) when calling the CreateChangeSet operation: Must Provide at least one resource to import"

AWS CLI 명령에 --resources-to-import를 포함하거나 API 호출에 ResourceToImport를 포함해야 합니다. 또한 가져올 모든 리소스를 나열해야 합니다.
중요: 가져오려면 모든 새 리소스에 물리적 ID를 전달해야 합니다.

IAM 기능으로 인한 오류

"Error: Failed to create changeset for the stack: <StackName>, ex: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state: For expression "Status" we matched expected path: "FAILED" Status: FAILED. Reason: Requires capabilities: [CAPABILITY_NAMED_IAM]"

다음 단계에 따라 오류를 해결하세요.

  1. AWS CloudFormation 콘솔을 엽니다.
  2. 스택 생성 또는 스택 업데이트 마법사의 검토 페이지에서 이 템플릿이 IAM 리소스를 만들 수 있음을 인정합니다를 선택합니다.
  3. AWS CLI에서 create-stackupdate-stack 명령을 사용할 때, --capabilities 파라미터에 CAPABILITY_IAM 또는 CAPABILITY_NAMED_IAM 값을 지정합니다.
    참고: 템플릿에 AWS Identity and Access Management(IAM) 리소스가 포함된 경우 두 기능 중 하나를 지정할 수 있습니다. 템플릿에 IAM 리소스에 대한 사용자 지정 이름이 포함되어 있는 경우 CAPABILITY_NAMED_IAM을 지정해야 합니다.

스택 업데이트 작업 중 “제출된 변경 사항 없음”으로 인한 오류

오류: "The submitted information didn't contain changes. Submit different information to create a change set" 또는 "An error occurred (ValidationError) when calling the UpdateStack operation: No updates are to be performed."

이 오류는 스택 업데이트 작업 중에 동일한 스택 템플릿을 사용할 때 발생합니다. 또는 리소스 속성을 수정하지 않고 파라미터 값이나 스택 설명만 수정하려고 할 때 발생합니다. CloudFormation은 이를 변경으로 간주하지 않으므로 변경 세트 생성이 실패합니다.

ExecuteChangeSet API 호출 오류

오류: "Either DisableRollback or OnStackFailure can be specified, but not both. Validation error as OnStackFailure parameter was specified during CreateChangeSet."

OnFailure 또는 DisableRollback을 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이 문제를 해결하려면 명령에서 onStackFailure 속성을 제거하여 새 변경 세트를 만든 다음 실행하세요. 또는 롤백 옵션을 설정한 다음 현재 변경 세트를 실행하여 스택을 업데이트합니다.

변경 세트에 대한 콘솔의 입력과 형식이 일치하지 않아 오류가 발생했습니다.

오류: "Given input did not match expected format"

이 오류는 일반적으로 CloudFormation 템플릿의 구문 문제로 인해 발생합니다. 템플릿 구문에서 조인 함수 형식, 추가 문자 또는 추가 큰 따옴표가 있는지 확인하세요. 또한 AWS System Manager Agent(SSM 에이전트) 파라미터와 같은 리소스를 검토하세요. 구문 오류 해결에 대한 자세한 내용을 보려면 CloudFormation에서 템플릿 검증 또는 템플릿 형식 오류를 해결하려면 어떻게 해야 합니까?를 참조하세요.

관련 정보

기존 리소스에서 스택 생성

기존 리소스를 스택으로 가져오기

가져오기 및 드리프트 감지 작업을 지원하는 리소스

기존 리소스를 CloudFormation 관리로 가져오기

AWS CloudFormation 템플릿의 IAM 리소스 승인

AWS 공식
AWS 공식업데이트됨 7달 전