Cuối tuần đọc qua về Terraform nha các bạn. CCNA giờ cũng yêu cầu biết về Terraform để làm Network Automation.
Terraform trong Network Automation: Hướng dẫn cho CCNA
Terraform là một công cụ mã nguồn mở (open source) giúp bạn tự động hóa việc cung cấp và quản lý cơ sở hạ tầng, từ thiết bị mạng như router, switch đến máy ảo hay tài nguyên đám mây. Nếu bạn quen cấu hình mạng bằng CLI trên Cisco IOS, hãy nghĩ Terraform như một cách “viết code” để mô tả cấu hình mong muốn, sau đó để công cụ tự động áp dụng trên nhiều thiết bị. Dưới đây là các đặc điểm chính của Terraform, giải thích theo cách dễ hiểu cho người có kiến thức CCNA.
Nhớ nha: Cấu hình của thiết bị cũng là một loại CODE!!!
1. Công cụ cung cấp cơ sở hạ tầng mã nguồn mở
Terraform là phần mềm miễn phí, ai cũng có thể tải về và sử dụng. Cộng đồng có thể đóng góp để cải thiện nó. Với Terraform, bạn có thể tự động tạo và quản lý các tài nguyên như VLAN trên switch, máy ảo trên VMware, hoặc instance trên AWS.
Ví dụ: Thay vì gõ lệnh CLI để tạo VLAN trên từng switch Cisco, bạn viết một file Terraform để tự động tạo VLAN trên 10 switch cùng lúc. Điều này tiết kiệm thời gian và giảm lỗi. Ráng học để xài terraform/ ansible nha.
2. Hỗ trợ thương mại từ HashiCorp
HashiCorp, công ty phát triển Terraform, cung cấp dịch vụ hỗ trợ trả phí cho doanh nghiệp. Nếu bạn dùng Terraform để quản lý mạng lớn (như hàng trăm router), HashiCorp có thể hỗ trợ kỹ thuật chuyên sâu hoặc cung cấp phiên bản Terraform Enterprise với các tính năng nâng cao.
Ví dụ: Một công ty dùng Terraform để cấu hình toàn bộ mạng có thể trả phí để được HashiCorp tư vấn cách tối ưu hóa hoặc xử lý sự cố nhanh chóng.
Mặc dù là mã nguồn nhưng có support nha!
3. Ngôn ngữ khai báo và tính idempotent
Terraform cho phép bạn mô tả trạng thái mong muốn của cơ sở hạ tầng (như “Tôi muốn 3 VLAN trên switch”) mà không cần chỉ dẫn từng bước thực hiện. Đây gọi là declarative. Ngoài ra, Terraform có tính idempotent, nghĩa là nếu bạn chạy lại lệnh, nó sẽ kiểm tra xem hệ thống đã đúng như mong muốn chưa. Nếu đúng, nó không thay đổi gì, tránh lỗi lặp.
Ví dụ: Bạn viết file Terraform để tạo VLAN 10. Nếu VLAN 10 đã tồn tại trên switch, Terraform sẽ không tạo lại, đảm bảo cấu hình không bị lỗi.
4. Cơ sở hạ tầng bất biến (Immutable Infrastructure)
Thay vì chỉnh sửa thủ công một tài nguyên (như thêm VLAN vào switch hiện có), Terraform tạo mới toàn bộ cấu hình với các thay đổi và thay thế bản cũ. Điều này giúp cấu hình luôn nhất quán và giảm lỗi do thay đổi thủ công.
Ví dụ: Nếu bạn muốn thêm VLAN 20 vào switch đã có VLAN 10, Terraform sẽ tạo một cấu hình mới chứa cả VLAN 10 và 20, thay vì chỉ thêm VLAN 20 vào cấu hình hiện tại.
5. Quản lý nhiều loại hệ thống
Terraform không chỉ quản lý thiết bị mạng mà còn hỗ trợ máy ảo, tài nguyên đám mây, và nhiều hệ thống khác. Nó dùng các provider (plugin) để kết nối với Cisco, Juniper, AWS, Azure, VMware, v.v.
Ví dụ: Bạn có thể dùng Terraform để:
Tạo VLAN trên switch Cisco.
Triển khai máy ảo trên VMware để chạy ứng dụng mạng.
Tạo instance AWS để lưu trữ dữ liệu giám sát mạng.
terraform đa năng. Ráng thành thạo để còn kiếm cơm trong thời đại AI này.
6. Không cần agent, file thực thi đơn
Terraform không yêu cầu cài đặt phần mềm phụ (agent) trên thiết bị như router hay switch. Nó giao tiếp với thiết bị qua SSH hoặc API. Terraform chỉ là một file thực thi nhỏ (như .exe trên Windows), dễ cài đặt trên laptop và sử dụng ngay.
Ví dụ: Bạn tải Terraform về máy, viết file cấu hình, và dùng nó để quản lý switch Cisco qua SSH mà không cần cài gì thêm trên switch.
7. Không phụ thuộc server
Terraform không cần server hoặc phần mềm đặc biệt để chạy. Bạn chỉ cần Terraform trên máy tính cá nhân và kết nối đến thiết bị hoặc dịch vụ (như AWS, Cisco). Điều này giúp triển khai nhanh và đơn giản.
Ví dụ: Từ laptop, bạn chạy Terraform để cấu hình router mà không cần server trung gian hay phần mềm bổ sung.
Terraform trong Network Automation
Với người có nền tảng CCNA, Terraform là công cụ mạnh mẽ để tự động hóa các tác vụ mạng, thay vì cấu hình thủ công qua CLI.
Ví dụ thực tế:
Giả sử bạn quản lý 10 switch Cisco và cần tạo VLAN 10, 20, 30 trên tất cả.
Cách truyền thống: Gõ lệnh CLI trên từng switch, tốn thời gian và dễ sai.
Cách dùng Terraform:Viết file Terraform (dùng ngôn ngữ HCL) mô tả: “Tạo VLAN 10, 20, 30 trên 10 switch”.
Terraform tự động kết nối đến switch qua SSH/API và áp dụng cấu hình.
Nếu cần thêm VLAN 40, bạn chỉ sửa file Terraform và chạy lại. Terraform sẽ cập nhật mà không gây lỗi.
Lợi ích:
Tiết kiệm thời gian: Tự động hóa tác vụ lặp đi lặp lại.
Giảm lỗi: Cấu hình nhất quán trên nhiều thiết bị.
Mở rộng dễ dàng: Quản lý cả mạng, máy ảo, và đám mây từ một công cụ.