CloudFormation 建立 RDS DB Subnet GroupName 自動轉小寫

2019-12-16 AWS

這陣子接獲同事抱怨,CloudFormation 的雷非常多(深有同感),這篇記下同事暴雷的事件

事件發生在寫 CloudFormation Template 時在處理 AWS::RDS::DBSubnetGroup 時把 DBSubnetGroupName 也一併 Output 給其他 Stack 使用

情境是,DBSubnetGroupName 定義的是大駝峰的大小寫名稱

  • DBSubnetGroupName:ExampleDbSG

而在文件內是說 DBSubnetGroupName 會轉成小寫字元,可是 Example 又是大小寫混合。

DBSubnetGroupName

The name for the DB subnet group. This value is stored as a lowercase string.
Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.
Example: mySubnetgroup

此時的 CloudFormation DBSubnetGroupName Output 和實際的 DBSubnetGroupName 差異會是:

  • 實際 DBSubnetGroupName:exampledbsg (被轉成小寫)
  • CloudFormation OutPut:ExampleDbSG (沒被轉小寫,按照原寫法 Output)

如果按照範例「大小寫混合」的情況,拿 Output 掛 RDS 就會發生錯誤(ExampleDbSG),因為實際上的值是 exampledbsg

Service: AmazonRDS; Status Code: 404; Error Code: DBSubnetGroupNotFoundFault …

最好的方式就是都用 “小寫” …

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱