AWS CloudFormation

更新 發佈閱讀 5 分鐘

AWS CloudFormation 是 AWS 原生的 「基礎設施即代碼 (Infrastructure as Code, IaC)」 服務。

簡單來說,它的概念是:「不要手動去 AWS Console 點擊滑鼠建立資源,而是寫一份『程式碼/腳本』,讓 AWS 自動幫你把整個環境蓋起來。」

這也是 AWS 架構師考試(SAA, SAP)與 DevOps 實務中最重要的服務之一。


1. 核心概念 (Core Concepts)

要理解 CloudFormation,只需記住這三個名詞:

A. Template (範本) —— 就是那份「藍圖」

  • 這是一個純文字檔案,格式為 JSON 或 YAML(推薦用 YAML,比較好讀)。
  • 你在裡面描述你「想要」什麼資源。例子:「我想要一台 t2.micro 的 EC2,和一個 S3 Bucket。」
  • 這是一種 宣告式 (Declarative) 語言,你只要告訴它「結果要什麼」,不需要寫「怎麼做」。

B. Stack (堆疊) —— 蓋出來的「建築物」

  • 當你把 Template 上傳給 AWS,CloudFormation 就會根據藍圖生成一組資源,這組資源統稱為一個 Stack。
  • 管理單位:你操作的是 Stack,而不是個別資源。刪除 Stack = 裡面定義的 EC2、RDS、VPC 會全部被自動刪除(乾淨俐落)。

C. Change Set (變更集) —— 施工前的「預覽圖」

  • 當你想要修改現有的 Stack(例如:把資料庫變大)時,直接執行可能會嚇到人。
  • 你可以先建立一個 Change Set,它會告訴你:「如果你執行這個更新,我會替換掉這台 EC2,並保留那個 S3。」
  • 確認沒問題後,再按執行 (Execute)。

2. 為什麼要用它? (Benefits)

  1. 自動化與一致性:避免「人工手滑」設定錯誤。開發環境 (Dev) 和生產環境 (Prod) 可以保證 100% 長得一樣,因為是用同一份 Code 跑出來的。
  2. 版本控制 (Git):因為基礎設施變成了「程式碼」,你可以把它存入 GitHub/GitLab。誰在什麼時候改了防火牆規則,通通查得到。
  3. 快速複製:要在另一個 Region(例如從東京搬到美國)建立一模一樣的架構,只需要把 Template 再跑一次即可。
  4. 免費:CloudFormation 服務本身免費,你只需為它建立出來的資源(如 EC2)付費。

3. 考試/面試 重點功能 (Key Features)

這些是認證考試中關於 CloudFormation 的常見關鍵字:

  • Drift Detection (漂移偵測):情境:你用 CloudFormation 建好了環境,結果有個同事「手癢」直接去 Console 改了 Security Group 的規則。功能:Drift Detection 可以掃描並告訴你:「現在實際的環境跟你的 Template 藍圖不一樣了!」
  • Nested Stacks (巢狀堆疊):情境:架構太大,Template 寫了 2000 行,很難維護。功能:把常用的部分(如標準 VPC 網路架構)寫成一個獨立 Template,然後在其他 Template 裡引用它。這就是模組化的概念。
  • StackSets:關鍵字:Cross-Region (跨區域) 或 Cross-Account (跨帳號)。功能:讓你按一個按鈕,就同時在多個 AWS 帳號、多個 Region 部署同樣的 Stack。
  • DependsOn:控制資源建立的順序。例如:必須先建立 VPC,然後才能建立 EC2。
  • DeletionPolicy:防止誤刪重要資料。例如:設定資料庫的 DeletionPolicy 為 Retain,即使你刪除了 Stack,這個資料庫也會被保留下來。

4. 常見比較:CloudFormation vs. Terraform vs. CDK

raw-image


總結

如果你想在 AWS 上建立「可複製」、「可版控」、「自動化」的環境,CloudFormation 是最基礎的標準答案。

留言
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
43會員
572內容數
現職 : 富邦建設資訊副理 證照:經濟部 iPAS AI應用規劃師 初級+中級(數據分析) AWS AIF-C01 AWS CLF-C02 Microsoft AI-900 其他:富邦美術館志工
你可能也想看
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
看完上篇 4 位新成員的靈魂拷問,是不是意猶未盡?別急,野格團新血的驚喜正接著登場!今天下篇接力的另外 4 位「個人主題專家」,戰力同樣驚人──領域從旅行美食、運動、商業投資到自我成長;這些人如何維持長跑般的創作動力?在爆紅的文章背後,又藏著哪些不為人知的洞察?5 大靈魂拷問繼續出擊
Thumbnail
看完上篇 4 位新成員的靈魂拷問,是不是意猶未盡?別急,野格團新血的驚喜正接著登場!今天下篇接力的另外 4 位「個人主題專家」,戰力同樣驚人──領域從旅行美食、運動、商業投資到自我成長;這些人如何維持長跑般的創作動力?在爆紅的文章背後,又藏著哪些不為人知的洞察?5 大靈魂拷問繼續出擊
Thumbnail
如何查詢 CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID) 使用上述查詢,目的是為了
Thumbnail
如何查詢 CloudTrail Event history 使用 Event name 篩選 RequestSpotFleet CloudTrail Event history 使用 Resource name 篩選,該 Request ID (提提知道ID) 使用上述查詢,目的是為了
Thumbnail
由於客戶需要透過  Cost Explorer 來監控 ECS Fargate tasks 成本,ECS 設置需要的 Tag 標籤, AWS Billing (Cost allocation tags)啟用 Tag 後,還是沒出現。 原因是,ECS Cluster 本生沒有產生費用,故才未
Thumbnail
由於客戶需要透過  Cost Explorer 來監控 ECS Fargate tasks 成本,ECS 設置需要的 Tag 標籤, AWS Billing (Cost allocation tags)啟用 Tag 後,還是沒出現。 原因是,ECS Cluster 本生沒有產生費用,故才未
Thumbnail
Fleet Manager (AWS Systems Manager 的功能) 是統一的使用者界面 (UI) 體驗,可助您遠端管理在 AWS 或內部部署上執行的受管節點 利用 Fleet Manager,您可以從單一主控台檢視整個伺服器機群的運作狀態和效能狀態 Fleet Manager 有哪些
Thumbnail
Fleet Manager (AWS Systems Manager 的功能) 是統一的使用者界面 (UI) 體驗,可助您遠端管理在 AWS 或內部部署上執行的受管節點 利用 Fleet Manager,您可以從單一主控台檢視整個伺服器機群的運作狀態和效能狀態 Fleet Manager 有哪些
Thumbnail
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
Thumbnail
以下是限制 S3 bucket 訪問 HTTPS 的方法 測試 S3 存儲桶訪問 S3 bucket 通常允許 HTTP 和 HTTPS 訪問 AWS CLI 預設通常使用 HTTPS 向 AWS 服務發送請求 https://docs.aws.amazon.com/zh_tw/cli/l
Thumbnail
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
Thumbnail
有這一篇原因是工作上,建立 OU 時,會自動新增額外的 FullAWSAccess 規則,但原本就會有預設Root OU繼承的FullAWSAccess,等於會有兩組一樣的規則,故所以詢問了AWS Support。 先謝謝 AWS 技術支援工程師 George 細心說明~ SCP很重要的
Thumbnail
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
Thumbnail
可以分析源代碼並檢查在遷移到 AWS Graviton 時需要更改的過時運行library 優化 aws 成本的方法之一是遷移到並採用具有高性價比的AWS Graviton 推薦使用AWS Graviton,從可持續性的角度來看,它有很好的表現 但有需要注意的地方: 不適用於所有操作系統和實
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News