처리된 템플릿 문제 해결 - AWS CloudFormation

처리된 템플릿 문제 해결

매크로를 사용할 때 CloudFormation 콘솔에서 처리된 템플릿을 찾을 수 있습니다.

템플릿의 스테이지는 처리 상태를 나타냅니다.

  • Original: 사용자가 스택 또는 스택 세트를 생성하거나 업데이트하기 위해 최초로 제출한 템플릿입니다.

  • Processed: CloudFormation에서 참조된 매크로 처리 이후 스택 또는 스택 세트를 생성하거나 업데이트할 때 사용하는 템플릿입니다. 원본 템플릿이 YAML 형식인 경우에도 처리된 템플릿은 JSON 형식입니다.

문제 해결을 위해 처리된 템플릿을 사용합니다. 템플릿이 매크로를 참조하지 않는 경우 원본 템플릿과 처리된 템플릿이 동일합니다.

자세한 내용은 CloudFormation 콘솔에서 스택 정보 보기 단원을 참조하십시오.

AWS CLI를 사용하여 처리된 템플릿을 가져오려면 get-template 명령을 사용합니다.

크기 제한

CreateStack, UpdateStack 또는 ValidateTemplate으로 직접 전달될 경우 처리되는 스택 템플릿의 최대 크기는 51,200바이트이고, Amazon S3 템플릿 URL을 사용하여 S3 객체로 처리될 경우에는 1MB입니다. 그러나 처리 중 CloudFormation은 템플릿에 포함된 매크로를 연속적으로 처리할 때 템플릿의 임시 상태를 업데이트합니다. 이 때문에 처리 중 템플릿의 크기가 전체 처리된 템플릿의 허용 크기를 일시적으로 초과할 수 있습니다. CloudFormation은 이러한 프로세스 내 템플릿에 대한 일부 버퍼를 허용합니다. 그러나 처리되는 스택 템플릿의 최대 허용 크기를 고려하여 템플릿과 매크로를 설계해야 합니다.

템플릿을 처리할 때 CloudFormation이 Transformation data limit exceeded 오류를 반환할 경우, CloudFormation이 처리 중 허용하는 최대 템플릿 크기를 초과한 것입니다.

이 문제를 해결하려면 다음과 같이 해 보십시오.

  • 템플릿을 여러 개의 템플릿으로 재구성하여 처리 과정의 템플릿에 대한 최대 크기를 넘지 않도록 하십시오. 예제:

  • 특정 매크로가 반환하는 템플릿 조각의 크기를 줄입니다. CloudFormation은 매크로가 반환한 조각의 내용을 변경하지 않습니다.