

# 처리된 템플릿 문제 해결
<a name="template-macros-troubleshoot-processed-template"></a>

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

템플릿의 스테이지는 처리 상태를 나타냅니다.
+ `Original`: 사용자가 스택 또는 스택 세트를 생성하거나 업데이트하기 위해 최초로 제출한 템플릿입니다.
+ `Processed`: CloudFormation에서 참조된 매크로 처리 이후 스택 또는 스택 세트를 생성하거나 업데이트할 때 사용하는 템플릿입니다. 원본 템플릿이 YAML 형식인 경우에도 처리된 템플릿은 JSON 형식입니다.

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

자세한 내용은 [CloudFormation 콘솔에서 스택 정보 보기](cfn-console-view-stack-data-resources.md) 섹션을 참조하세요.

AWS CLI를 사용하여 처리된 템플릿을 가져오려면 [get-template](service_code_examples.md#get-template-sdk) 명령을 사용합니다.

## 크기 제한
<a name="template-macros-size-limitation"></a>

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

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

이 문제를 해결하려면 다음과 같이 해 보십시오.
+ 템플릿을 여러 개의 템플릿으로 재구성하여 처리 과정의 템플릿에 대한 최대 크기를 넘지 않도록 하십시오. 예제:
  + 중첩 스택 템플릿을 사용하여 템플릿의 부분을 캡슐화합니다. 자세한 내용은 [중첩 스택을 사용하여 템플릿을 재사용 가능한 조각으로 분할](using-cfn-nested-stacks.md) 섹션을 참조하세요.
  + 여러 개의 스택을 생성하고 교차 스택 참조를 사용하여 스택 간에 정보를 교환합니다. 자세한 내용은 [다른 CloudFormation 스택의 리소스 출력 참조](walkthrough-crossstackref.md) 섹션을 참조하세요.
+ 특정 매크로가 반환하는 템플릿 조각의 크기를 줄입니다. CloudFormation은 매크로가 반환한 조각의 내용을 변경하지 않습니다.