การเริ่มต้นใช้งาน Terraform ขั้นแรกคือการติดตั้ง CLI ลงในเครื่องที่จะใช้งาน ไม่ว่าจะเป็นเครื่องคอมพิวเตอร์ของนักพัฒนาเอง หรือเซิร์ฟเวอร์ Cloud VPS ที่ใช้รัน pipeline อัตโนมัติ Terraform เป็นไฟล์ binary ไฟล์เดียวที่เขียนด้วยภาษา Go จึงไม่ต้องติดตั้ง runtime หรือ dependency เพิ่มเติมใด ๆ ทำให้การติดตั้งสะดวกและรองรับระบบปฏิบัติการที่หลากหลาย
บทความนี้จะสรุปวิธีติดตั้งเครื่องมือนี้บนระบบปฏิบัติการหลัก ทั้ง Linux (Ubuntu, Debian, CentOS, RHEL), macOS และ Windows รวมถึงการติดตั้งบน Cloud VPS เพื่อใช้เป็น control node สำหรับงาน provisioning และสาธิตการตรวจสอบการติดตั้งให้เรียบร้อยก่อนใช้งานจริง
เตรียมความพร้อมก่อนติดตั้ง
ก่อนลงมือติดตั้ง ควรเตรียมข้อมูลและเครื่องมือพื้นฐานดังนี้ เช็คสิทธิ์การใช้งาน sudo หรือ administrator บนเครื่องเป้าหมาย เปิดพอร์ต outbound 443 เพื่อให้ Terraform ดาวน์โหลด provider จาก registry ได้ เตรียม text editor ที่รองรับไวยากรณ์ HCL เช่น VS Code พร้อมส่วนขยาย HashiCorp Terraform เพื่อช่วย syntax highlighting และ autocomplete
- ระบบปฏิบัติการ 64-bit (Linux/macOS/Windows)
- พื้นที่ดิสก์ว่างอย่างน้อย 100 MB สำหรับ binary และ .terraform cache
- การเชื่อมต่ออินเทอร์เน็ตสำหรับดาวน์โหลด provider plugin
- บัญชีผู้ใช้ของผู้ให้บริการคลาวด์ที่จะจัดการ (เช่น AWS, DigitalOcean, GCP)
ติดตั้งบน Linux (Ubuntu/Debian)
สำหรับ Ubuntu 20.04/22.04/24.04 และ Debian 11/12 วิธีที่เป็นมาตรฐานคือการเพิ่ม apt repository ของ HashiCorp แล้วติดตั้งผ่าน apt ทำให้ได้รับอัปเดตเวอร์ชันอัตโนมัติผ่านระบบแพ็กเกจปกติ
# เพิ่ม GPG key ของ HashiCorp
wget -O- https://apt.releases.hashicorp.com/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
# เพิ่ม apt repository
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/hashicorp.list
# อัปเดตและติดตั้ง
sudo apt update
sudo apt install terraform
หลังติดตั้งเสร็จ ตรวจสอบเวอร์ชันด้วยคำสั่ง terraform version หากแสดงผล v1.x.x ถือว่าติดตั้งสำเร็จ หากต้องการล็อกเวอร์ชันที่แน่นอน สามารถระบุได้ด้วย sudo apt install terraform=1.9.5-1
ติดตั้งบน CentOS/RHEL/Rocky Linux
สำหรับตระกูล RHEL ใช้ yum หรือ dnf repository ของ HashiCorp ขั้นตอนคล้ายกับ apt แต่เปลี่ยนเป็นรูปแบบของ RPM
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo \
https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum install terraform
ติดตั้งบน macOS
macOS ใช้ Homebrew ซึ่งเป็น package manager ที่ได้รับความนิยมมากที่สุด HashiCorp มี tap อย่างเป็นทางการที่ให้เวอร์ชันล่าสุดและรองรับทั้ง Intel และ Apple Silicon
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
# อัปเกรดภายหลัง
brew upgrade hashicorp/tap/terraform
ติดตั้งบน Windows
Windows มีหลายวิธีให้เลือก วิธีที่สะดวกสุดคือผ่าน Chocolatey หรือ Winget หากไม่ต้องการใช้ package manager สามารถดาวน์โหลด zip file จาก releases.hashicorp.com แล้วแตกไฟล์ terraform.exe ลงในโฟลเดอร์ที่อยู่ใน PATH เช่น C:\Windows\System32 หรือสร้างโฟลเดอร์เฉพาะแล้วเพิ่มเข้า PATH environment variable
# ผ่าน Chocolatey (Run as Administrator ใน PowerShell)
choco install terraform
# ผ่าน Winget
winget install HashiCorp.Terraform
ติดตั้งบน Cloud VPS
การติดตั้งบน Cloud VPS มักทำเพื่อใช้เป็น control node สำหรับรัน pipeline หรือให้ทีมสามารถทำงานร่วมกันโดยไม่ต้องติดตั้งบนเครื่องแต่ละคน ขั้นตอนเหมือนกับ Linux desktop ทุกประการ เพียงแค่ทำผ่าน SSH เข้าไปที่เซิร์ฟเวอร์
# SSH เข้าเซิร์ฟเวอร์
ssh root@your-vps-ip
# ติดตั้ง Terraform ด้วยวิธีมาตรฐาน (Ubuntu)
wget -O- https://apt.releases.hashicorp.com/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform -y
# สร้างผู้ใช้เฉพาะสำหรับรัน Terraform (แนวปฏิบัติด้านความปลอดภัย)
sudo useradd -m -s /bin/bash terraform
sudo usermod -aG sudo terraform
ควรแยก user สำหรับงาน provisioning ออกจาก root เพื่อจำกัดขอบเขตสิทธิ์ และตั้งค่า SSH key authentication แทน password เพื่อความปลอดภัย ถ้าจะใช้เซิร์ฟเวอร์เดียวกันนี้รัน CI/CD ก็สามารถติดตั้ง agent ของ GitHub Actions, GitLab Runner หรือ Jenkins เพิ่มได้
ติดตั้งแบบ binary โดยตรง
หากไม่สะดวกใช้ package manager สามารถดาวน์โหลด zip โดยตรงจาก releases.hashicorp.com แล้วแตก binary ไปยัง /usr/local/bin ซึ่งเป็นวิธีที่เหมาะสำหรับ Docker image หรือระบบที่ไม่มี apt/yum
VERSION="1.9.5"
wget https://releases.hashicorp.com/terraform/${VERSION}/terraform_${VERSION}_linux_amd64.zip
unzip terraform_${VERSION}_linux_amd64.zip
sudo mv terraform /usr/local/bin/
terraform version
การจัดการหลายเวอร์ชันด้วย tfenv
ในองค์กรที่มีหลายโปรเจกต์ใช้เครื่องมือนี้คนละเวอร์ชัน แนะนำให้ใช้ tfenv ซึ่งเป็นเครื่องมือบริหารเวอร์ชันคล้าย nvm หรือ pyenv ช่วยให้สลับเวอร์ชันระหว่างโปรเจกต์ได้สะดวก
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# ติดตั้งและใช้เวอร์ชันที่ต้องการ
tfenv install 1.9.5
tfenv use 1.9.5
tfenv list
ตรวจสอบการติดตั้ง
หลังติดตั้งเสร็จ ตรวจสอบให้มั่นใจว่าเครื่องมือทำงานได้ถูกต้องก่อนเริ่มเขียนโค้ดจริง
# ตรวจเวอร์ชัน
terraform version
# ดู help และคำสั่งที่ใช้ได้
terraform --help
# ทดลองสร้างโปรเจกต์ว่าง
mkdir ~/terraform-test && cd ~/terraform-test
terraform init
หาก terraform init สามารถเชื่อมต่อออกอินเทอร์เน็ตและตอบกลับโดยไม่เกิด error แสดงว่าการติดตั้งสมบูรณ์ พร้อมเริ่มเขียน configuration จริงได้ทันที
ตั้งค่า autocomplete สำหรับ shell
CLI รองรับ tab completion สำหรับ bash และ zsh ช่วยให้พิมพ์คำสั่งย่อยเช่น terraform plan หรือ terraform apply ได้เร็วขึ้น
terraform -install-autocomplete
source ~/.bashrc # หรือ ~/.zshrc
สรุป
การติดตั้งเครื่องมือนี้รองรับระบบปฏิบัติการหลักทุกตัว ทั้ง Linux, macOS และ Windows ผ่าน package manager ของแต่ละระบบ หรือจะดาวน์โหลด binary ตรงก็ทำได้ สำหรับทีมงานที่ทำ infrastructure automation แนะนำให้ติดตั้งบน control node ที่เป็น Cloud VPS เพื่อให้ทีมใช้ร่วมกันและรองรับ CI/CD ได้สะดวก หากต้องบริหารหลายเวอร์ชันพร้อมกัน tfenv คือเครื่องมือที่ตอบโจทย์ เมื่อติดตั้งเสร็จและทดสอบ terraform init ผ่านแล้ว ก็พร้อมเข้าสู่ขั้นตอนการเขียน HCL configuration เพื่อจัดการโครงสร้างพื้นฐานจริงในขั้นตอนถัดไป

