隨著您的基礎架構逐漸成長,可能出現需要在每個範本中宣告相同的元件。您可以分離這些常見的元件,為他們建立專用的範本,如此一來,您就可以混合及搭配不同的範本,使用巢狀堆疊來建立單一整合堆疊。
本篇將說明如何以巢狀(nested)方式使用複數 CloudFormation 組合出基礎架構時,在同一個父系堆疊(parent stack)的巢狀堆疊(nested stack)間互相傳遞參數。
簡易說明
1. 一個 nested Stack B 要使用同一個 Parent 的 nested Stack A 資源,必須先為 Stack A 的資源新增 Outputs,並於 Stack B 增加要接收的參數。
2. 在 Parent stack 使用 Fn::GetAtt 將 Stack A 的 Output傳給 Stack B 的 Parameter。
設定步驟
1.1 Stack A 是一個簡易的 VPC 架構
1.2 Stack B 是一個基本 Security Group template
2. 建立 Security 需要 VPC 的 ID,因此在 Stack A 編輯 VPC Outputs
3. 在 Stack B 新增 Parameter
4. 在父系堆疊使用 Fn::GetAtt 將 Stack A 的 Output 傳給 Stack B 的 Parameter
這樣就大功告成啦! 是不是清楚簡單又快速呢?
請持續鎖定 Nextlink 架構師專欄,以獲得最新專業資訊喔!
若您有任何 AWS 需求,歡迎與我們聯繫!