기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Proton 문제 해결
문제를 해결하는 방법을 알아봅니다AWS Proton.
AWS CloudFormation동적 파라미터를 참조하는 배포 오류
CloudFormation 동적 변수를 참조하는 배포 오류가 표시되면 해당 변수가 Jinja에서 이스케이프되었는지 확인하세요
CloudFormation 동적 변수 구문 예제:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
예제AWS Proton 매개 변수 Jinja 구문:
'{{ service_instance.environment.outputs.env-outputs }}'
.
이러한 오해 오류를 방지하기 위해 Jinja는 다음 예와 같이 CloudFormation 동적 매개 변수를 이스케이프합니다.
이 예제는AWS CloudFormation 사용 설명서에서 가져온 것입니다. AWS Secrets Manager시크릿 이름 및 json-key 세그먼트는 시크릿에 저장된 로그인 자격 증명을 검색하는 데 사용할 수 있습니다.
MyRDSInstance: Type: AWS::RDS::DBInstance Properties: DBName: 'MyRDSInstance' AllocatedStorage: '20' DBInstanceClass: db.t2.micro Engine: mysql MasterUsername: '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}' MasterUserPassword: '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}'
CloudFormation 동적 매개 변수를 이스케이프하려면 다음과 같은 두 가지 방법을 사용할 수 있습니다.
-
{% raw %} and {% endraw %}
다음 사이에 블록을 포함시키십시오.'{% raw %}' MyRDSInstance: Type: AWS::RDS::DBInstance Properties: DBName: 'MyRDSInstance' AllocatedStorage: '20' DBInstanceClass: db.t2.micro Engine: mysql MasterUsername: '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}' MasterUserPassword: '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}' '{% endraw %}'
-
"{{ }}"
다음 사이에 매개 변수를 포함시키십시오.MyRDSInstance: Type: AWS::RDS::DBInstance Properties: DBName: 'MyRDSInstance' AllocatedStorage: '20' DBInstanceClass: db.t2.micro Engine: mysql MasterUsername: "{{ '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}' }}" MasterUserPassword: "{{ '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}' }}"
자세한 내용은 Jinja 탈출을