Résolution des problèmes AWS Proton - AWS Proton

Avis de fin de support : le 7 octobre 2026, AWS le support de AWS Proton. Après le 7 octobre 2026, vous ne pourrez plus accéder à la AWS Proton console ni aux AWS Proton ressources. Votre infrastructure déployée restera intacte. Pour plus d'informations, consultez le Guide AWS Proton de dépréciation et de migration des services.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes AWS Proton

Apprenez à résoudre les problèmes liés à AWS Proton.

Erreurs de déploiement faisant référence à des paramètres CloudFormation dynamiques

Si des erreurs de déploiement font référence à vos variables CloudFormation dynamiques, vérifiez qu'elles ont échappé à Jinja. Ces erreurs peuvent être causées par une mauvaise interprétation de vos variables dynamiques par Jinja. La syntaxe des paramètres CloudFormation dynamiques est très similaire à la syntaxe Jinja que vous utilisez avec vos AWS Proton paramètres.

Exemple de syntaxe de variable CloudFormation dynamique :

'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'.

Exemple de AWS Proton syntaxe Jinja pour les paramètres :

'{{ service_instance.environment.outputs.env-outputs }}'.

Pour éviter ces erreurs d'interprétation, Jinja échappe à vos paramètres CloudFormation dynamiques, comme indiqué dans les exemples suivants.

Cet exemple est tiré du guide de CloudFormation l'utilisateur. Les segments AWS Secrets Manager secret-name et json-key peuvent être utilisés pour récupérer les informations de connexion stockées dans le secret.

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}}'

Pour échapper aux paramètres CloudFormation dynamiques, vous pouvez utiliser deux méthodes différentes :

  • Placez un bloc entre {% 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 %}'
  • Placez un paramètre entre "{{ }}" :

    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}}' }}"

Pour plus d'informations, voir Jinja escaping.