以下是我在撰寫 HCL 時常會用到的函數將一一做介紹。 concat(list1, list2, …): 這個函數用於將多個列表(或元素)串聯在一起。 l...
Terraform 是一個用於管理基礎設施代碼 (Infrastructure as Code,IaC) 的工具,它允許你通過定義和配置基礎設施來自動化資源的創...
Terraform Terraform 是什麼 Terraform 是由 HashiCorp 建立的開放原始碼「基礎架構即程式碼」工具。 宣告式編碼工具 Ter...
從一開始發現鐵人賽到現在也過了好幾年,在看過無數的高手寫的文章之後,今年終於也準備好小試身手了。 這三十天來都是半夜在趕工生產文章,今天要暫時話下句點了。 設定...
前一篇我們稍微聊了一下有什麼方案可以儲存狀態資料,今天就要選 S3 的方案來實作。 使用 AWS S3 儲存狀態檔,並搭配 AWS DynamoDB 鎖定狀態。...
Terraform 預設情況下,所有的狀態檔 (state file) 都是存放是本地端。 如果今天是一個團隊要維護基礎架構時,就需要有一個遠端的儲存空間來存放...
前一回我們建立多個資料夾來管理不同工作環境下的狀態記錄,這樣的做法讓我們在實作工作上有更多的運用空間。 其實 Terraform 還有一個工具可以幫忙處理這樣的...
先前的練習我們都使用一個資料夾,執行 Terraform 所產生的狀態檔就只會有一份。當你的需要按照使用情境分成多個的環境時,只有一份狀態檔就不夠用了。 為了解...
前一篇,我們成功建立了 Lambda 函數,接下來要再建立一組 API 閘道 (Gateway),並且把兩邊串接一起。 首先建立 gateway.tf 檔案,我...
今天我們來試試在雲端服務很熱門的一種架構:無伺服器架構 (Serverless) 我們會在 AWS 上建立一個無伺服器架構的 API,會使用到 AWS Lamb...
我們漸漸的熟悉 Terraform,基礎架構的設計會越來越複雜。所以更要優雅的寫程式,不對,是寫組態。 所以今天要來研究一點 Terraform 的風格指南。...
前一篇,我們順利的製作了一個 Terraform 模組。接下來要回到根模組建立組態檔來使用模組。 完整的範例檔案可以參考 Github 上的資料。 建立組態檔...
嘗試過如果使用現成的模組後,接下來我們要試著製作自己的模組。 一個基本的模組 (module) 大概會有以下幾個檔案: README.md 說明模組用途的文...
Terraform Registry 網址: https://registry.terraform.io/ HashiCorp 官方維運的服務,提供各種的供應商...
前面練習過程中,我們寫了不少的 Terraform 組態檔,但都同樣是要建立網頁伺服器的,我想應該有辦法製作可重複使用的組態,減少一些重工的行為。 接下來要認識...
當我們想把原有的基礎架構改成用 Terraform 控制時,可以使用 terraform import 指令,將現有的資源匯入 Terraform。 不同於從零...
terraform graph 指令,能夠根據組態檔裡使用的 Terraform 資源來產生一張依賴關系圖。 graph 指令並不會直接製作圖片,而是以 DOT...
完整範例: https://github.com/nyogjtrc/practice-terraform/tree/master/web-packer-terr...
Packer 稱自己的設定檔為「模版」(Templates)。模版為 JSON 格式的,裡面由多個元件組成。 模版結構 下面列出所有的模版元件 builders...
Packer 是自動化的映像檔製作工具。透過 JSON 格式的組態檔,讓我們可以更容易的結合一些工具製作映像檔。 Packer 支援許多的雲端服務平台跟虛擬化引...
我們來實際用使用者資料設定虛擬機,以下是預計要讓使用者資料處理的工作: 建立一個叫做 terraform 的使用者 安裝 nginx 放入一個 HTML 檔案...
前面我們所使用佈建器 (Provisioner) 的 remote-exec 不怎麼好用,而且 Terraform 無法檢查設定有沒有變動。 aws 有一個叫做...
參考了前面文章的介紹的功能,我們要試著讓組態檔更有可用性。 今天來試著製作一台網頁伺服器。 簡單的網頁伺服器 一台簡單的網頁伺服器需要的工作: 建立一個虛擬網...
如果你打開狀態檔,會看到滿滿的資料,但是你只是想找個 IP,這巨大的資訊量造成了一些困擾。 Terraform 有輸出值 (Output Values) 的功能...
前面的範例,所有的設定都是寫死的 要讓 terraform 組態檔能重複使用,並適合放入版本控制裡, 我們需要參數化一些組態資料。 Terraform 有「輸入...
今晚我想要來點 Terraform 佐 Vim 工作要有好的品質,就需要有好的工具。 要開始動工寫 Terraform 組態檔,就要有好用的編輯器。我的習慣是用...
在 terraform apply 成功執行之後,資料夾裡會產生一份檔名為 terraform.tfstate 的狀態檔案,裡面放著建立機器資源的所有資料。 狀...
稍微認識一點組態檔的長相之後,再來認識幾個主要的指令。 init 指令 terraform init會初始化工作資料夾,準備好需要的檔案讓 terraform...
初次體驗過 terraform 的實際運作之後,我們要來回頭看看 main.tf 的內容 terraform { required_providers {...
安裝好 Terraform 之後,我們差不多可以開一台機器來玩看看了。 本次系列文章都會在 AWS 上練習 Terraform,所以需要 AWS 帳號跟登入資料...