觀點 · 資訊分享

Google Cloud Parameter Manager 推出參數範本預覽:一份設定骨架,套用到所有環境

Google Cloud 的 Parameter Manager 在 7 月 12 日開放參數範本預覽:把設定檔的結構寫成範本,各環境只要換掉變數值,就能產生最終設定。少維護幾份相似的設定檔,出錯機會也跟著減少。

發布
2026-07-12
篇幅
約 4 分鐘 · 1,881 字
結構
8 節 + 3 題常見問題
標籤
#Google Cloud#Parameter Manager#Secret Manager#設定管理#多環境部署
Google Cloud Parameter Manager 推出參數範本預覽:一份設定骨架,套用到所有環境

一句話看懂:Google Cloud 的 Parameter Manager 推出參數範本預覽,讓你把設定檔寫成一份「骨架」,測試、正式等各環境只要換掉變數值,就能產生最終設定。

Parameter Manager 推出參數範本資訊圖卡:設定檔寫成一份範本,各環境只換變數值

先用白話講:設定檔的「套印」

想像你每個月都要寄信給不同的客戶,信的格式一樣,只有姓名、地址、金額不同。聰明的做法不是每封都重打一遍,而是做一份「信件範本」,把姓名、地址、金額留空,要寄的時候再套進去。

軟體的設定檔也有同樣的問題。同一個應用程式在測試環境、正式環境的設定,大部分內容都一樣,只有網址、記錄等級、連線對象不同。如果每個環境各維護一份檔案,改一個地方就得改好幾份,漏改就會出事。

參數範本(Parameter template) 就是這份「信件範本」:先把設定的結構寫好,不同環境的值另外放,需要時再合併。

發生什麼事

Google Cloud 的版本資訊在 7 月 12 日記載:Secret Manager 旗下的 Parameter Manager,推出參數範本功能,目前是預覽版。官方的簡述是:讓你定義標準化的設定藍圖,並在部署時安全地代入各環境專用的變數。

它怎麼運作?

依官方文件,流程牽涉兩種資源與一個步驟:

名稱 做什麼
參數範本(template) 存放範本的描述資料
範本版本(template version) 放設定的結構,格式是 YAML 或 JSON,變數用「雙層大括號加點加變數名」的寫法當佔位符
算繪(render) Parameter Manager 把範本版本裡的變數,換成「參數版本」裡的值,產出最終設定

用一個簡化的例子來看(這是我自己想的示意,不是官方範例):

  • 範本版本只寫結構:應用程式名稱固定寫 my-shop,執行環境與記錄等級兩個欄位留成變數
  • 正式環境的參數版本只放值:環境是 prod、記錄等級是 INFO
  • 算繪之後,就得到一份「環境 prod、記錄等級 INFO」的完整設定

測試環境則準備另一份參數版本(例如環境 test、記錄等級 DEBUG),共用同一份範本。

有哪些限制?

官方文件列出幾項限制:

  • 範本只支援直接的變數替換,不能寫複雜的運算
  • 每個範本版本必須是合法的 JSON 或 YAML 物件,不支援純文字
  • 不能在範本中直接引用 Secret Manager 的密碼;要在參數版本裡用 __REF__() 語法,算繪時才會代入
  • 最終算繪出來的輸出不能超過 1 MB
  • 每個範本版本最多 64 個變數

要注意的是,文件頁面是目前的版本,Google 也註明預覽功能「依現況提供」,支援可能有限,細節日後也可能調整。

給開發者的技術細節

  • 想試用的話,先看官方的「建立參數範本」「新增範本版本」「算繪範本版本」三篇操作文件
  • 密碼不要寫在範本,也不要明文放在參數版本,改用 __REF__() 引用 Secret Manager 的密碼,這樣機密仍由 Secret Manager 管控
  • 因為變數上限是 64 個,設定項目很多時,要先想好哪些真的需要變、哪些固定寫在範本裡就好

我的看法

多環境設定管理,是中小型團隊最容易出包的地方:測試環境改好了,正式環境漏改;或是複製貼上時,把測試用的網址留在正式設定裡。這種「差一點點」的設定檔,用範本加參數的方式來管,概念上比較乾淨。

不過這個功能目前只是預覽版,而且是綁在 Google Cloud 上。如果你的專案不在 Google Cloud 上,其實也有不少替代做法(例如用環境變數、設定檔範本加部署腳本)。我的建議是先看懂它的概念,再決定要不要為了這個功能綁定平台。

名詞小辭典

  • Parameter Manager:Google Cloud 上管理應用程式設定(非機密)的服務,隸屬 Secret Manager 這個產品線。
  • 範本(Template):寫好結構、留下空白變數的設定骨架。
  • 算繪(Render):把範本裡的空白變數換成實際的值,產出最終設定的過程。
  • 預覽(Preview):功能還在測試階段,可能有限制或調整,不建議直接用在正式環境。

資料來源

常見問題

Parameter Manager 和 Secret Manager 有什麼不一樣?
Secret Manager 存放密碼、金鑰這類機密;Parameter Manager 則管理一般的應用程式設定(例如網址、參數),也可以引用 Secret Manager 的密碼。這次的參數範本是 Parameter Manager 的新功能。
範本能直接寫入密碼嗎?
不行。官方文件寫明範本不能直接引用 Secret Manager 的密碼,要在參數版本裡用 __REF__() 語法,算繪時才會代入範本。
可以拿來管正式環境的設定嗎?
目前是預覽版,Google 說預覽功能「依現況提供」,支援可能有限,也可能有調整。建議先在測試環境熟悉,等正式推出後再評估。
LINE