동적 참조를 사용하여 다른 서비스에 저장된 값 가져오기 - AWS CloudFormation

동적 참조를 사용하여 다른 서비스에 저장된 값 가져오기

동적 참조는 다른 서비스에서 저장되고 관리되는 외부 값을 지정하고 코드형 인프라 템플릿에서 민감한 정보를 분리하는 편리한 방법을 제공합니다. CloudFormation에서 스택 및 변경 세트 작업 도중 필요한 지정된 참조의 값을 검색합니다.

동적 참조를 사용하여 다음을 수행할 수 있습니다.

  • 보안 문자열 사용 - 민감한 데이터의 경우 데이터가 저장 시 암호화되도록 항상 AWS Systems Manager Parameter Store의 보안 문자열 파라미터 또는 AWS Secrets Manager의 보안 암호를 사용하세요.

  • 액세스 제한 - Parameter Store 파라미터 또는 Secrets Manager 보안 암호에 대한 액세스를 승인된 보안 주체 및 역할로만 제한합니다.

  • 자격 증명 교체 - Parameter Store 또는 Secrets Manager에 저장된 민감한 데이터를 정기적으로 교체하여 높은 수준의 보안을 유지하세요.

  • 자동 교체 - Secrets Manager의 자동 교체 기능을 활용하여 민감한 데이터를 정기적으로 업데이트하고 애플리케이션 및 환경 전체에 배포하세요.

일반적인 고려 사항

다음은 CloudFormation 템플릿에서 동적 참조를 지정하기 전에 고려할 일반적인 사항들입니다.

  • 리소스의 기본 식별자의 일부인 리소스 속성에 동적 참조 또는 민감한 데이터를 포함하지 마세요. CloudFormation은 기본 리소스 식별자의 실제 일반 텍스트 값을 사용할 수 있으며, 이는 보안 위험이 될 수 있습니다. 이 리소스 ID는 파생된 출력 또는 대상에 나타날 수 있습니다.

    리소스 유형의 기본 식별자를 구성하는 리소스 속성은 AWS 리소스 및 속성 유형 참조의 해당 리소스에 대한 리소스 참조 설명서에서 확인하세요. Return values(반환 값) 섹션에서 Ref 함수 반환 값은 리소스 유형의 기본 식별자를 구성하는 리소스 속성을 나타냅니다.

  • 스택 템플릿에 최대 60개의 동적 참조를 포함할 수 있습니다.

  • 변환(예: AWS::Include 또는 AWS::Serverless)을 사용하는 경우 CloudFormation은 변환을 적용하기 전에 동적 참조를 확인하지 않습니다. 대신 동적 참조의 리터럴 문자열을 변형으로 전달하고, 템플릿을 사용하여 변경 세트를 실행할 때 참조를 확인합니다.

  • 사용자 지정 리소스의 보안 암호 값(예: Parameter Store 또는 Secrets Manager에 저장된 값)에는 동적 참조를 사용할 수 없습니다.

  • 백슬래시(\)로 끝나는 동적 참조를 생성하지 마세요. CloudFormation은 이러한 참조를 확인할 수 없으므로 스택 작업이 실패합니다.

다음 주제에서는 동적 참조 사용에 대한 정보 및 기타 고려 사항을 제공합니다.