Liên hệProfile
Danh mục

Mục Lục

    Terraform là gì? Hướng dẫn sử dụng Terraform trên Linux

    Nguyễn Hưng

    Ngày đăng:

    06/05/2026

    Cập nhật lần cuối:

    06/05/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    06/05/2026

    Cập nhật lần cuối:

    06/05/2026

    Mục lục

    Việc quản trị hàng trăm máy ảo trên Linux sẽ trở nên bất khả thi nếu thiếu đi sự hỗ trợ của Terraform để tự động hóa toàn bộ quy trình khởi tạo và cấu hình hạ tầng. Những hướng dẫn trong bài viết này được mình đúc kết từ quá trình trực tiếp triển khai các file cấu hình .tf để thiết lập hệ thống thực tế, giúp loại bỏ hoàn toàn các sai sót thủ công thường gặp. Hãy cùng mình tìm hểu chi tiết vào cách vận hành Terraform trên Linux để bạn có thể làm chủ hạ tầng chỉ thông qua một vài dòng code chuẩn xác.

    Những điểm chính

    Đối với mình, Terraform không chỉ là công cụ quản lý hạ tầng mà còn là nền tảng giúp tự động hóa toàn bộ quá trình triển khai và kiểm soát tài nguyên một cách nhất quán. Để giúp bạn hiểu rõ hơn về Terraform và cách áp dụng trong thực tế, bài viết dưới đây sẽ cung cấp các thông tin gồm:

    • Khái niệm: Hiểu rõ Terraform là công cụ Infrastructure as Code mã nguồn mở, giúp bạn định nghĩa và quản lý hạ tầng đám mây dưới dạng code.
    • Lợi ích: Nắm được các ưu điểm nổi bật như mô hình hóa hạ tầng qua code, tương thích đa nền tảng và tự động hóa toàn bộ lifecycle, giúp đơn giản hóa quy trình, hạn chế sai sót và dễ dàng kiểm soát thay đổi.
    • Cách thức hoạt động: Biết được quy trình làm việc cốt lõi từ viết cấu hình, chuẩn bị môi trường đến triển khai và loại bỏ tài nguyên, giúp bạn áp dụng các lệnh một cách có hệ thống.
    • So sánh với Ansible: Phân biệt rõ sự khác nhau giữa Terraform và Ansible, giúp lựa chọn đúng công cụ cho từng giai đoạn trong quy trình DevOps.
    • Hướng dẫn sử dụng: Nắm vững các bước cài đặt trên Linux, quy trình làm việc cốt lõi và các lệnh quản lý chất lượng code, giúp bạn bắt đầu sử dụng Terraform một cách tự tin.
    • Ví dụ thực hành: Trải nghiệm các bước tạo và loại bỏ tài nguyên thực tế thông qua ví dụ minh họa, giúp củng cố kiến thức và làm quen với các thao tác điều phối hạ tầng cơ bản.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến Terraform.

    Terraform là gì?

    Terraform là công cụ Infrastructure as Code (IaC) mã nguồn mở do HashiCorp phát triển. Công cụ này cho phép bạn định nghĩa, khởi tạo và quản lý toàn bộ cơ sở hạ tầng, từ các dịch vụ đám mây (AWS, Azure, GCP) đến hệ thống on-premise, thông qua các tệp cấu hình dạng khai báo bằng ngôn ngữ HCL.

    Thay vì phải thao tác thủ công trên giao diện quản trị web hoặc sử dụng các tập lệnh rời rạc, bạn chỉ cần mô tả trạng thái hạ tầng mong muốn bằng code. Terraform sẽ tự động hóa việc triển khai các tài nguyên như máy chủ, mạng, cơ sở dữ liệu một cách nhất quán, có khả năng tái sử dụng cao và hỗ trợ quản lý phiên bản như một dự án phần mềm thực thụ.

    Terraform là công cụ Infrastructure as Code mã nguồn mở do HashiCorp phát triển
    Terraform là công cụ Infrastructure as Code mã nguồn mở do HashiCorp phát triển

    Lợi ích khi sử dụng Terraform

    Terraform mang lại nhiều ưu điểm nổi bật trong việc quản lý hạ tầng hiện đại, giúp đơn giản hóa quy trình từ định nghĩa đến vận hành:

    • Mô hình hóa hạ tầng qua code: Việc sử dụng mã nguồn để mô tả toàn bộ hạ tầng thay vì thao tác thủ công, từ đó tự động hóa quy trình, hạn chế sai sót và dễ dàng kiểm soát thay đổi.
    • Tương thích đa hệ thống: Hoạt động mượt mà trên hàng loạt nền tảng đám mây (AWS, Azure, GCP, OCI) cùng các dịch vụ như Docker, VMware hay Cloudflare vô cùng lý tưởng cho môi trường hybrid/multi-cloud.
    • Tự động hóa toàn bộ lifecycle: Xử lý cung cấp, chỉnh sửa và loại bỏ tài nguyên một cách an toàn, bao quát từ yếu tố cơ bản (máy ảo, storage) đến nâng cao (DNS, SaaS).
    • Kế hoạch áp dụng trước: Tự động sinh bản dự thảo chi tiết trước khi thực thi, hiển thị rõ ràng tài nguyên sẽ thêm, sửa hoặc xóa.
    • Theo dõi trạng thái hạ tầng: Ghi nhận tình trạng hiện tại vào file state, hỗ trợ đồng bộ và giám sát liên tục.
    • Dễ dàng tái sử dụng và hợp tác: Module cấu hình hỗ trợ version control qua Git, cho phép chia sẻ và áp dụng lại nhanh chóng giữa các team.
    Lợi ích khi sử dụng Terraform
    Lợi ích khi sử dụng Terraform

    Cách thức hoạt động của Terraform

    Terraform vận hành theo quy trình đơn giản, lặp lại qua các lệnh cốt lõi sau:

    • Soạn thảo cấu hình: Tạo file .tf sử dụng ngôn ngữ HCL để khai báo trạng thái hạ tầng mong đợi.
    • Chuẩn bị môi trường: Thực thi terraform init nhằm tải và cài đặt các provider liên quan.
    • Dự thảo thay đổi: Sử dụng terraform plan để kiểm tra trước các cập nhật, thêm mới hoặc xóa bỏ dự kiến.
    • Triển khai thực tế: Chạy terraform apply để xây dựng hoặc chỉnh sửa hạ tầng theo kế hoạch.
    • Loại bỏ tài nguyên: Áp dụng terraform destroy nhằm dọn sạch toàn bộ hạ tầng đã tạo.
    Cách thức hoạt động của Terraform
    Cách thức hoạt động của Terraform

    So sánh Terraform với Ansible

    Bạn nên phân biệt rõ vai trò của Terraform và Ansible để chọn đúng công cụ cho từng giai đoạn trong quy trình hạ tầng và vận hành.

    Tiêu chíTerraformAnsible
    Trọng tâm chínhCung cấp và quản lý toàn bộ lifecycle hạ tầng đa nền tảng, theo cách declarative (chỉ định kết quả mong muốn).Cấu hình hệ thống, triển khai và tự động hóa tác vụ trên máy chủ hiện có.
    Ứng dụng điển hìnhXây dựng tài nguyên đám mây/on-premise từ đầu, dễ dàng scale multi-cloud.Sử dụng sau Terraform để tinh chỉnh cấu hình và vận hành server.

    Quan điểm của mình: Trong các dự án hạ tầng thực tế, Terraform phù hợp nhất cho bước nền tảng (network, VM, database, dịch vụ managed), còn Ansible nên được dùng phía sau để chuẩn hóa cấu hình, triển khai ứng dụng và giữ cho trạng thái server sát với mong muốn của đội ngũ vận hành.

    1. Cài đặt Terraform trên Linux

    Terraform không có sẵn trong kho lưu trữ mặc định của Ubuntu. Người dùng cần bổ sung kho chính thức từ HashiCorp để tiến hành cài đặt:

    • Bước 1: Cài đặt các gói phụ thuộc
    sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
    • Bước 2: Thêm GPG Key của HashiCorp
    wget -O- https://apt.releases.hashicorp.com/gpg | \
    gpg --dearmor | \
    sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
    • Bước 3: Thêm 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
    • Bước 4: Cài đặt
    sudo apt update
    sudo apt-get install terraform
    • Bước 5: Bạn kiểm tra cài đặt bằng lệnh sau. Kết quả mong đợi hiển thị phiên bản Terraform v1.x.x.
    terraform -version

    2. Quy trình làm việc cốt lõi

    Quy trình Terraform dựa trên bốn lệnh chính: Init, Plan, Apply và Destroy. Các lệnh này tạo thành chuỗi hoạt động lặp lại để quản lý hạ tầng:

    • Bước 1: Bạn cần chạy lệnh trong thư mục chứa file .tf để tải các plugin provider cần thiết về máy.
    terraform init
    • Bước 2: Lệnh phía dưới sẽ thực hiện kiểm tra thử nghiệm bằng cách so sánh trạng thái hiện tại với code. Terraform hiển thị các hành động dự kiến như tạo mới, sửa đổi hoặc xóa tài nguyên.
    terraform plan

    Hoặc lưu kế hoạch vào file để sử dụng sau:

    terraform plan -out=tfplan
    • Bước 3: Bạn cần áp dụng lệnh terraform apply thực hiện các thay đổi để xây dựng hạ tầng thực tế và yêu cầu xác nhận bằng cách nhập yes.
    terraform apply

    Hoặc áp dụng từ file kế hoạch đã lưu mà không cần xác nhận:

    terraform apply tfplan
    • Bước 4: Bạn có thể áp dụng lệnh destroy để xóa toàn bộ hạ tầng do Terraform quản lý. Người dùng cần cân nhắc kỹ trước khi thực thi.
    terraform destroy

    3. Các lệnh quản lý chất lượng Code

    Bạn có thể định dạng code thông qua lệnh terraform fmt. Lệnh này sẽ tự động sắp xếp code HCL theo chuẩn định dạng, bao gồm thụt lề và khoảng cách:

    terraform fmt -recursive

    Kiểm tra cú pháp thông qua lệnh terraform validate giúp xác minh tính hợp lệ về cú pháp và logic cơ bản của code. Để thực hiện, bạn sử dụng lệnh sau:

    terraform validate

    4. Quản lý State

    Terraform lưu trạng thái hạ tầng trong file terraform.tfstate. Người dùng có thể thao tác thủ công với file này khi cần thiết:

    LệnhChức năng
    terraform state listLiệt kê tất cả tài nguyên đang được quản lý.
    terraform state showHiển thị chi tiết thuộc tính của tài nguyên cụ thể.
    terraform state rmNgừng quản lý tài nguyên mà không xóa thực tế.

    Ví dụ thực hành Terraform

    Sau đây, bạn cần thực hành tạo một file local. Để kiểm tra Terraform cục bộ, bạn tạo file main.tf với nội dung sau:

    resource "local_file" "example" {
      content  = "Xin chao, toi la Terraform!"
      filename = "${path.module}/hello.txt"
    }

    Bạn cần thực thi các lệnh theo thứ tự. File hello.txt sẽ được tạo sau khi apply và xóa sau destroy:

    terraform init
    terraform apply

    Cuối cùng, bạn cần kiểm tra nội dung file bằng lệnh cat hello.txt. Sau đó bạn chạy terraform destroy để dọn dẹp.

    Bạn cần tạo file main.tf và chạy terraform init
    Bạn cần tạo file main.tf và chạy terraform init (Nguồn: Internet)
    Bạn chạy terraform apply để khởi tạo hạ tầng, file hello.txt sẽ xuất hiện
    Bạn chạy terraform apply để khởi tạo hạ tầng, file hello.txt sẽ xuất hiện (Nguồn: Internet)
    Sau khi chạy terraform apply xong, file hello.txt sẽ xuất hiện
    Sau khi chạy terraform apply xong, file hello.txt sẽ xuất hiện (Nguồn: Internet)
    Bạn chạy lệnh terraform destroy để xoá toàn bộ hạ tầng đã tạo
    Bạn chạy lệnh terraform destroy để xoá toàn bộ hạ tầng đã tạo (Nguồn: Internet)
    Sau khi chạy lệnh terraform destroy thì  file hello.txt sẽ được xóa
    Sau khi chạy lệnh terraform destroy thì file hello.txt sẽ được xóa (Nguồn: Internet)

    Câu hỏi thường gặp

    Terraform AWS là gì?

    Terraform AWS đề cập đến provider chính thức cho AWS trong Terraform, cho phép định nghĩa và quản lý tài nguyên AWS như EC2, S3, VPC qua code HCL.

    Terraform.io là trang chính thức?

    Terraform.io là website chính thức của HashiCorp dành cho Terraform, cung cấp tài liệu, hướng dẫn, registry module và thông tin cập nhật.

    Làm thế nào để học Terraform?

    Học Terraform qua tài liệu chính thức trên terraform.io, các khóa miễn phí trên HashiCorp Learn hoặc thực hành với lab trên Katacoda/Playground. Bắt đầu bằng cài đặt và ví dụ cơ bản local file.

    Terraform provider hoạt động ra sao?

    Provider là plugin kết nối Terraform với nền tảng cụ thể (như AWS, Azure), được tải qua terraform init và khai báo trong code để quản lý tài nguyên.

    Có công cụ Terraform online không?

    Terraform hỗ trợ chạy online qua HashiCorp Playground hoặc Terraform Cloud miễn phí, cho phép viết code và apply mà không cần cài đặt local.

    Terraform Registry dùng để gì?

    Terraform Registry là kho lưu trữ chính thức trên registry.terraform.io chứa provider, module và data source chia sẻ, giúp tái sử dụng code nhanh chóng.

    Cách update Terraform như thế nào?

    Update Terraform bằng cách tải phiên bản mới từ HashiCorp releases, cài lại qua package manager (apt/yum) hoặc binary, sau đó chạy terraform init -upgrade. Luôn backup state trước.

    Terraform Cloud có lợi ích gì?

    Terraform Cloud là nền tảng SaaS của HashiCorp hỗ trợ chạy workflow remote, quản lý state an toàn, collaboration team và tích hợp VCS như GitHub, miễn phí cho cá nhân.

    Terraform nổi lên như giải pháp Infrastructure as Code hàng đầu, giúp doanh nghiệp và developer tự động hóa hạ tầng đám mây một cách hiệu quả, nhất quán. Việc áp dụng Terraform không chỉ giảm thiểu lỗi thủ công mà còn hỗ trợ scale linh hoạt trên đa nền tảng. Hãy bắt đầu hành trình với Terraform ngay hôm nay để tối ưu hóa quy trình DevOps của bạn.

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Emacs là gì? Hướng dẫn sử dụng Emacs Terminal trên Linux
    Emacs là gì? Hướng dẫn sử dụng Emacs Terminal trên Linux

    Trong môi trường Linux chuyên sâu, Emacs không chỉ đơn thuần là một trình soạn thảo mà còn là một hệ sinh thái mạnh mẽ giúp tôi tối ưu hóa toàn bộ quy trình xử lý văn bản và lập trình chỉ trên một giao diện terminal duy nhất. Những kỹ thuật sử dụng và…

    06/05/2026

    Vim Linux là gì? Hướng dẫn sử dụng trình soạn thảo văn bản Vim trong Linux
    Vim Linux là gì? Hướng dẫn sử dụng trình soạn thảo văn bản Vim trong Linux

    Trong công việc quản trị hệ thống hàng ngày, Vim là công cụ giúp mình xử lý các tệp tin cấu hình trực tiếp trên Server với tốc độ mà các trình soạn thảo thông thường không thể đáp ứng được. Những hướng dẫn trong bài viết này không chỉ dừng lại ở lý thuyết,…

    06/05/2026

    Ansible là gì? Hướng dẫn sử dụng Ansible trên Linux chi tiết cho người mới
    Ansible là gì? Hướng dẫn sử dụng Ansible trên Linux chi tiết cho người mới

    Việc quản trị thủ công từng server đơn lẻ sẽ trở thành rào cản lớn khi hệ thống mở rộng và Ansible chính là giải pháp mình đã áp dụng để đồng bộ hóa cấu hình trên hàng trăm node chỉ với một câu lệnh duy nhất. Những hướng dẫn trong bài viết này không…

    05/05/2026

    Cách sử dụng lệnh lsusb trong Linux để kiểm tra thiết bị USB chi tiết
    Cách sử dụng lệnh lsusb trong Linux để kiểm tra thiết bị USB chi tiết

    lsusb là lệnh dùng để liệt kê các thiết bị USB và bộ điều khiển USB đang được hệ thống nhận diện. Bài viết này được mình đúc kết từ kinh nghiệm xử lý sự cố thực tế cho hàng ngàn máy chủ Linux để hướng dẫn bạn cách sử dụng lsusb với các tùy…

    05/05/2026

    linux

    lenh

    text