BÀI 1: Giới thiệu về Terraform – Công cụ hạ tầng dưới dạng mã (IaC) Chuyên mục Devops 2025-05-15 1 Lượt xem 1 Lượt thích 0 Bình luận
🌱 Terraform là gì?
Terraform là một công cụ Infrastructure as Code (IaC) mã nguồn mở do HashiCorp phát triển. Nó giúp bạn quản lý, cấu hình và triển khai hạ tầng (infrastructure) của mình một cách tự động và có thể tái sử dụng bằng cách viết file cấu hình dạng code (.tf files).
Thay vì phải click chuột thủ công để tạo S3, EC2, VPC,.. trên AWS Console, bạn chỉ cần viết vài dòng mã, và Terraform sẽ lo phần còn lại.
🎯 Tại sao nên dùng Terraform?
✅ Lý do | 🔍 Mô tả |
---|---|
Tự động hóa | Không còn phải thao tác thủ công trên giao diện AWS |
Hạ tầng có thể version control | Quản lý thay đổi qua Git giống như code thông thường |
Hỗ trợ đa nền tảng | Không chỉ AWS mà cả GCP, Azure, Kubernetes, v.v. |
Tái sử dụng cấu hình | Viết một lần, dùng cho nhiều môi trường |
Kiểm tra trước khi áp dụng | Xem trước các thay đổi hạ tầng qua terraform plan |
📦 Cài đặt Terraform
-
Truy cập: https://developer.hashicorp.com/terraform/downloads
-
Sau khi cài, kiểm tra:
terraform -v
📄 Cấu trúc cơ bản của một dự án Terraform
├── main.tf # Tài nguyên chính (resources)
├── variables.tf # Biến đầu vào (input variables)
├── terraform.tfvars # Giá trị cụ thể cho biến
├── outputs.tf # Giá trị đầu ra (outputs)
🔧 Các lệnh Terraform hữu ích
Lệnh | Ý nghĩa |
---|---|
terraform init | Khởi tạo dự án, tải provider |
terraform plan | Xem trước các thay đổi |
terraform apply | Thực thi thay đổi |
terraform destroy | Xoá hạ tầng đã tạo |
terraform validate | Kiểm tra cú pháp Terraform |
terraform fmt | Định dạng lại code |
🚀 Ví dụ thực tế: Tạo một bucket S3 đơn giản
# main.tf
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-terraform-bucket-demo-1234"
acl = "private"
}
Thao tác:
terraform init
terraform plan
terraform apply
🧠 Một số khái niệm bạn cần nhớ
Khái niệm | Giải thích |
---|---|
Provider | AWS, GCP, Azure... |
Resource | Những gì bạn tạo ra: S3, EC2, VPC... |
Module | Tập hợp logic có thể tái sử dụng |
State | File .tfstate lưu lại trạng thái hạ tầng |
Input variable | Biến đầu vào cho cấu hình |
Output | Xuất ra thông tin sau khi tạo hạ tầng |
🔚 Tổng kết
Terraform giúp bạn:
-
Tự động hoá việc triển khai hạ tầng
-
Giảm sai sót thủ công
-
Tăng tính tái sử dụng, quản lý code tốt hơn
Trong các bài viết tiếp theo, chúng ta sẽ bắt tay làm các bài lab từ cơ bản đến nâng cao, để bạn hiểu tận gốc cách Terraform vận hành.
👉 Tiếp theo: [Bài 2: Bài lab cơ bản về Terraform với S3 – tạo bucket S3 bằng mã Terraform]
Bình luận (0)