故障診斷 AWS Proton - AWS Proton

終止支援通知:將於 2026 年 10 月 7 日 AWS 結束對 的支援 AWS Proton。2026 年 10 月 7 日之後,您將無法再存取 AWS Proton 主控台或 AWS Proton 資源。您部署的基礎設施將保持不變。如需詳細資訊,請參閱AWS Proton 服務棄用和遷移指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

故障診斷 AWS Proton

了解如何疑難排解 的問題 AWS Proton。

參考 CloudFormation 動態參數的部署錯誤

如果您看到參考 CloudFormation 動態變數的部署錯誤,請確認它們是 Jinja 逸出的。這些錯誤可能是由於 Jinja 錯誤解譯您的動態變數所造成。CloudFormation 動態參數語法與搭配 AWS Proton 參數使用的 Jinja 語法非常相似。

CloudFormation 動態變數語法範例:

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

範例 AWS Proton 參數 Jinja 語法:

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

為了避免這些錯誤解譯錯誤,Jinja 會逸出 CloudFormation 動態參數,如下列範例所示。

此範例來自 CloudFormation 使用者指南。 AWS Secrets Manager 秘密名稱和 json 金鑰區段可用來擷取存放在秘密中的登入憑證。

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 逸出