iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
DevOps

30 天 Terraform 學習筆記:從零開始的 IaC 實戰 系列

這次的鐵人賽,我以一個 DevOps 新手的身分,挑戰在 30 天內從零開始學習並實作 Terraform。這將是一份我個人的學習日誌,記錄著我在這趟學習旅程中的點滴與收穫。我會把複雜的概念轉化為易懂的筆記,從環境建置、HCL 語法,到實際部署雲端資源,如虛擬機器、網路與儲存空間。

除了知識分享,我也會記錄踩過的坑、解決問題的過程,以及學習上的心得體會。這份筆記不只為了自己,更希望能為所有想入門 Terraform 的人提供一個真實、可依循的參考。

這是一場自我挑戰,也是一個與自己對話的過程👀✨

參賽天數 22 天 | 共 22 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 - Terraform Data Sources:查詢 VPC、映像檔、可用區域

昨天聊到 Variables 的進階應用,知道如何讓配置更彈性。今天要來認識另一個讓 Terraform 更智慧的功能:Data Sources。如果說 Va...

2025-09-11 ‧ 由 我是七哈 分享
DAY 12

Day 12 - Terraform Outputs:資訊擷取與串接

昨天我們聊到 Data Sources,可以從既有的資源中擷取資訊。今天來看另一個常用工具 Outputs —— 它能把 Terraform 建立好的資訊「輸出...

2025-09-12 ‧ 由 我是七哈 分享
DAY 13

Day 13 - Terraform Resource 關係管理:depends_on、implicit dependencies

在前面幾天,我們從概念著手了解了 Terraform 的運作方式、狀態檔、Remote State,再一步步練習實作,從建立 VM、設定 Provider、活用...

2025-09-13 ‧ 由 我是七哈 分享
DAY 14

Day 14 - 建立第一個 Module

過去幾天,我們已經學過 Terraform 的基本元件:resource、variable、output、data source。 但這些就像是散落一地的零件,...

2025-09-14 ‧ 由 我是七哈 分享
DAY 15

Day 15 - Module 設計原則與參數管理

昨天我們完成了第一個 VM module,成功把散落的資源組裝起來,變成可重複使用的積木。 但光是能用是還不夠的,在實務專案裡,我們應該去思考 如何設計一個好維...

2025-09-15 ‧ 由 我是七哈 分享
DAY 16

Day 16 - Registry 模組活用:站在巨人肩膀上建構基礎架構

昨天我們探討了「模組設計原則與參數管理」,知道了好的 module 應該像乾淨的 API:易讀、可用、又有彈性。 但想像一下,如果每次要建立 VPC 網路,你都...

2025-09-16 ‧ 由 我是七哈 分享
DAY 17

Day 17 - 專案架構與檔案組織:從混亂到井然有序

為什麼需要好的專案架構? 在前面幾天的學習裡,我們慢慢累積了越來越多的 Terraform 配置。其實就跟開發應用程式一樣,如果一開始沒有好好設計架構,隨著功能...

2025-09-17 ‧ 由 我是七哈 分享
DAY 18

Day 18 - Terraform Workspaces 多環境管理

在前幾天的專案架構練習中,我們已經學會了模組化與檔案拆分的重要性,知道如何把資源按功能分類、建立可重用模組。今天,我們要把同樣的思維延伸到 多環境管理,讓同一套...

2025-09-18 ‧ 由 我是七哈 分享
DAY 19

Day 19 - Resource Lifecycle 管理:create_before_destroy、prevent_destroy、Ignore changes

昨天我們聊到 Workspace 多環境管理,學會如何讓同一份 Terraform 程式碼安全地部署在 Dev、Test、Prod,並且讓不同環境互不干擾。這對...

2025-09-19 ‧ 由 我是七哈 分享
DAY 20

Day 20 - Terraform 迴圈與條件邏輯:for_each、count、條件表達式

昨天我們聊到Resource Lifecycle,了解如何透過 create_before_destroy、prevent_destroy 等設定來保護資源不被...

2025-09-20 ‧ 由 我是七哈 分享