

지원 종료 알림: 2026년 10월 7일에 AWS 에 대한 지원이 종료됩니다 AWS Proton. 2026년 10월 7일 이후에는 AWS Proton 콘솔 또는 AWS Proton 리소스에 더 이상 액세스할 수 없습니다. 배포된 인프라는 그대로 유지됩니다. 자세한 내용은 [AWS Proton 서비스 사용 중단 및 마이그레이션 안내서](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 코드 파일로서의 구성 요소 인프라
<a name="ag-components-iac"></a>

구성 요소 코드형 인프라(IaC) 파일은 다른 AWS Proton 리소스와 유사합니다. 여기에서 구성 요소별 몇 가지 세부 정보를 알아보세요. 에 대한 IaC 파일 작성에 대한 자세한 내용은 섹션을 AWS Proton참조하세요[용 템플릿 작성 및 번들 생성 AWS Proton](ag-template-authoring.md).

## 구성 요소와 함께 매개변수 사용
<a name="ag-components-iac.namespace"></a>

 AWS Proton 파라미터 네임스페이스에는 서비스 IaC 파일이 연결된 구성 요소의 이름과 출력을 가져오기 위해 참조할 수 있는 일부 파라미터가 포함되어 있습니다. 네임스페이스에는 구성 요소 IaC 파일이 참조하여 구성 요소가 연결된 환경, 서비스 및 서비스 인스턴스의 입력, 출력 및 리소스 값을 가져올 수 있는 매개변수도 포함되어 있습니다.

구성 요소에는 자체 입력이 없으며 연결된 서비스 인스턴스에서 입력을 가져옵니다. 구성 요소는 환경 출력을 읽을 수도 있습니다.

구성 요소 및 관련 서비스 IaC 파일의 매개변수 사용에 대한 자세한 내용은 [구성 요소 CloudFormation IaC 파일 파라미터 세부 정보 및 예제](comp-parameters.md)을 참조합니다. AWS Proton 파라미터에 대한 일반 정보와 파라미터 네임스페이스의 전체 참조는 섹션을 참조하세요[AWS Proton 파라미터](parameters.md).

## 견고한 IaC 파일 작성
<a name="ag-components-iac.robust"></a>

관리자는 서비스 템플릿 버전을 생성할 때 템플릿 버전에서 생성된 서비스 인스턴스에 연결된 구성 요소를 허용할지 여부를 결정할 수 있습니다. *AWS Proton API 참조*에서 [CreateServiceTemplateVersion](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateServiceTemplateVersion.html) API 작업의 [upportedComponentSources](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateServiceTemplateVersion.html#proton-CreateServiceTemplateVersion-request-supportedComponentSources) 매개변수를 참조합니다. 그러나 향후 서비스 인스턴스의 경우 인스턴스를 생성하고 구성 요소를 추가할지 여부를 결정하며 구성 요소 (직접 정의된 구성 요소의 경우) 작성자 (구성 요소 IaC) 는 일반적으로 서비스 템플릿을 사용하는 개발자와 다릅니다. 따라서 구성 요소가 서비스 인스턴스에 연결될 것이라고 보장할 수 없습니다. 또한 특정 구성 요소 출력 이름의 존재 여부 또는 이러한 출력 값의 유효성 및 안전성을 보장할 수 없습니다.

AWS Proton 및 Jinja 구문은 다음과 같은 방법으로 이러한 문제를 해결하고 장애 없이 렌더링되는 강력한 서비스 템플릿을 작성하는 데 도움이 됩니다.
+ *AWS Proton 파라미터 필터* - 구성 요소 출력 속성을 참조할 때 *파라미터 값을 검증, 필터링 및 형식 지정하는 한정자*인 파라미터 필터를 사용할 수 있습니다. 자세한 정보와 지침은 [CloudFormation IaC 파일용 파라미터 필터](parameter-filters.md)을 참조합니다.
+ *단일 속성 기본값* - 구성 요소의 단일 리소스 또는 출력 속성을 참조하는 경우 `default` 필터를 사용하여 기본값이 있든 없든 서비스 템플릿 렌더링이 실패하지 않도록 할 수 있습니다. 구성 요소나 참조하는 특정 출력 매개변수가 없는 경우 기본값 (또는 기본값을 지정하지 않은 경우 빈 문자열) 이 대신 렌더링되고 렌더링이 성공합니다. 자세한 내용은 [존재하지 않는 참조에 대한 기본값 제공](parameter-filters.md#parameter-filters.proton.default)을 참조합니다.

  예시:
  + `{{ service_instance.components.default.name | default("") }}`
  + `{{ service_instance.components.default.outputs.{{my-output}} | default("17") }}`
**참고**  
직접 정의된 구성 요소를 지정하는 네임스페이스 `.default` 부분을 참조된 속성이 없을 때 기본값을 제공하는 `default` 필터와 혼동하지 마십시오.
+ *전체 개체 참조* – 전체 구성 요소 또는 구성 요소의 출력 컬렉션을 참조하는 경우 AWS Proton 는 빈 개체, `{}`를 반환하므로 서비스 템플릿 렌더링이 실패하지 않습니다. 코드에서 직접 SDK의 보안 인증 정보를 제공할 필요가 없습니다. 빈 개체를 사용할 수 있는 컨텍스트에서 참조하거나 `{{ if .. }}` 조건을 사용하여 빈 개체를 테스트해야 합니다.

  예시:
  + `{{ service_instance.components.default }}`
  + `{{ service_instance.components.default.outputs }}`