게시된 날짜: Jul 26, 2023

AWS CloudFormation은 Fn::ForEach 내장 함수를 사용하는 반복 기능을 발표했습니다. Fn::ForEach를 통해 최소한의 코드 줄로 템플릿의 일부를 복제할 수 있습니다. Fn::ForEach를 사용하여 템플릿 레이아웃을 단순화하고 동료가 코드를 더 쉽고 빠르게 검토할 수 있도록 할 수 있습니다. Fn::ForEach는 잘못된 속성을 업데이트하거나 템플릿에서 여러 대상 속성 업데이트 누락 등의 인적 오류를 줄이는 데 도움이 됩니다.

Fn::ForEach를 사용하려면 AWS::LanguageExtensions 변환을 선언해야 합니다. 이 언어 확장 변환은 기본 CloudFormation JSON/YAML 템플릿 언어의 기능을 확장합니다. 이번 출시로 템플릿의 리소스, 리소스 속성, 조건 및 출력 섹션에서 Fn::ForEach를 사용할 수 있습니다. 예를 들어 동일한 코드 줄을 복제하는 대신 Fn::ForEach를 사용하여 고유한 식별자 이름을 가진 AWS::DynamoDB::Table의 5개 인스턴스를 선언할 수 있습니다. 또한 중첩된 Fn::ForEach 루프를 사용하고 Fn::ForEach를 Fn::Join과 같은 다른 내장 함수와 결합하여 고급 템플릿을 생성할 수 있습니다. 그 예로 VPC, 서브넷 및 Transit Gateway와 같은 리소스를 중첩된 루프로 결합하여 네트워킹 스택을 생성할 수 있습니다. 샘플 템플릿이 포함된 예는 사용 설명서를 참조하세요.

Fn::ForEach 내장 함수는 CloudFormation이 제공되는 AWS 리전에서 사용할 수 있습니다. CloudFormation을 사용할 수 있는 AWS 리전을 보려면 AWS 리전 표를 참조하세요.

Fn::ForEach는 Language Discussion Github 리포지토리를 통해 CloudFormation 커뮤니티와 오픈 토론을 벌인 결과입니다. 피드백을 공유해 주신 커뮤니티에 감사드립니다. Language Discussion 리포지토리로 이동하여 언어 기능을 요청하고 새로운 언어 기능 관련 RFC(Request For Comments) 제안에 피드백을 남길 수 있습니다.