EP2: Cài đặt Terraform và Công cụ Cần thiết cho AWS


Chào mừng bạn trở lại với series "Terraform và AWS Cho Người Mới Bắt Đầu"! Ở EP1: Terraform là gì? Tại sao Infrastructure as Code (IaC) lại "Hot" trong Cloud?, chúng ta đã cùng nhau tìm hiểu về sức mạnh của IaC và vai trò của Terraform trong việc quản lý hạ tầng.
Giờ đây, đã đến lúc chúng ta xắn tay áo lên và chuẩn bị "sân chơi" của mình! Trong bài viết này, tôi sẽ hướng dẫn bạn từng bước chi tiết để cài đặt Terraform, công cụ dòng lệnh AWS (AWS CLI) và thiết lập trình soạn thảo Visual Studio Code (VS Code). Đây là những nền tảng vững chắc giúp bạn sẵn sàng cho hành trình khám phá và triển khai hạ tầng trên AWS bằng Terraform.
Tại sao việc Cài đặt Đúng cách lại Quan trọng?
Việc cài đặt và cấu hình môi trường một cách cẩn thận ngay từ đầu sẽ giúp bạn tránh được nhiều lỗi không đáng có sau này. Một môi trường làm việc "sạch sẽ" và được thiết lập đúng chuẩn sẽ đảm bảo các lệnh Terraform chạy mượt mà, tương tác chính xác với AWS, và bạn có thể tập trung hoàn toàn vào việc học và thực hành IaC.
Nào, hãy cùng bắt đầu!
Bước 1: Cài đặt Terraform – "Trái tim" của IaC
Terraform là công cụ chính chúng ta sẽ sử dụng. HashiCorp (công ty phát triển Terraform) cung cấp các bản cài đặt cho hầu hết các hệ điều hành phổ biến.
Truy cập trang tải Terraform chính thức: Luôn tải Terraform từ trang chủ của HashiCorp để đảm bảo bạn có phiên bản mới nhất và an toàn nhất: https://developer.hashicorp.com/terraform/downloads
Chọn phiên bản phù hợp với hệ điều hành của bạn:
Windows:
Tải xuống tệp
.zip
cho kiến trúc hệ thống của bạn (thường là 64-bit).Giải nén tệp
terraform.exe
vào một thư mục cố định, ví dụ:C:\Terraform
.Thêm thư mục này vào biến môi trường PATH:
Tìm kiếm "environment variables" trong Start Menu và chọn "Edit the system environment variables".
Trong cửa sổ System Properties, nhấp vào nút "Environment Variables...".
Trong phần "System variables", tìm biến
Path
và chọn "Edit...".Nhấp "New" và thêm đường dẫn đến thư mục chứa
terraform.exe
(ví dụ:C:\Terraform
).Nhấn OK trên tất cả các cửa sổ.
Mở một Command Prompt hoặc PowerShell mới để thay đổi có hiệu lực.
macOS:
Cách 1: Sử dụng Homebrew (khuyến nghị): Mở Terminal và chạy lệnh: Bash
brew tap hashicorp/tap brew install hashicorp/tap/terraform
Cách 2: Tải bản cài đặt thủ công:
Tải xuống tệp
.zip
cho macOS từ trang chủ Terraform.Giải nén tệp:
unzip terraform_<version>_darwin_amd64.zip
(thay<version>
bằng phiên bản bạn tải).Di chuyển tệp
terraform
vào một thư mục trong PATH của bạn, ví dụ:/usr/local/bin
: Bashsudo mv terraform /usr/local/bin/
Đảm bảo tệp có quyền thực thi:
chmod +x /usr/local/bin/terraform
Linux:
Cách 1: Tải bản cài đặt thủ công (phổ biến):
Tải xuống tệp
.zip
cho Linux từ trang chủ Terraform.Giải nén tệp:
unzip terraform_<version>_linux_amd64.zip
(thay<version>
bằng phiên bản bạn tải).Di chuyển tệp
terraform
vào một thư mục trong PATH của bạn, ví dụ:/usr/local/bin
hoặc~/.local/bin
(nếu bạn không có quyền sudo và thư mục này đã có trong PATH): Bashsudo mv terraform /usr/local/bin/
Đảm bảo tệp có quyền thực thi:
chmod +x /usr/local/bin/terraform
Cách 2: Sử dụng trình quản lý gói (tùy thuộc vào bản phân phối Linux): HashiCorp cung cấp hướng dẫn chi tiết cho các trình quản lý gói như
apt
(Debian/Ubuntu) vàyum
/dnf
(RHEL/CentOS/Fedora) tại trang tải xuống.
Kiểm tra cài đặt Terraform: Mở một cửa sổ Terminal (macOS/Linux) hoặc Command Prompt/PowerShell (Windows) mới và chạy lệnh:
Bash
terraform --version
Nếu cài đặt thành công, bạn sẽ thấy phiên bản Terraform được hiển thị, ví dụ:
Terraform v1.8.5
.
Bước 2: Cài đặt và Cấu hình AWS CLI – "Cánh tay nối dài" tới AWS
AWS Command Line Interface (AWS CLI) là một công cụ dòng lệnh hợp nhất để quản lý các dịch vụ AWS của bạn. Terraform sử dụng AWS CLI (hoặc các thông tin xác thực mà AWS CLI sử dụng) để tương tác với tài khoản AWS của bạn và tạo/quản lý tài nguyên.
Cài đặt AWS CLI: Truy cập trang tài liệu chính thức của AWS để xem hướng dẫn cài đặt chi tiết nhất cho hệ điều hành của bạn: https://aws.amazon.com/cli/
Windows: Tải và chạy trình cài đặt MSI.
macOS: Tải và chạy trình cài đặt PKG, hoặc sử dụng
pip
.Linux: Sử dụng trình cài đặt đi kèm (bundled installer) hoặc
pip
.
Kiểm tra cài đặt AWS CLI: Mở một cửa sổ Terminal/Command Prompt mới và chạy:
Bash
aws --version
Bạn sẽ thấy phiên bản AWS CLI được hiển thị, ví dụ:
aws-cli/2.15.3 Python/3.11.6 Linux/5.10.16.3-microsoft-standard-WSL2 botocore/2.15.3
.Cấu hình AWS CLI với thông tin xác thực của bạn: Để Terraform có thể thay mặt bạn thực hiện các hành động trên AWS, bạn cần cung cấp thông tin xác thực. Chúng ta sẽ sử dụng phương pháp cấu hình thông qua
aws configure
.Chuẩn bị thông tin:
Access Key ID và Secret Access Key: Đây là cặp khóa truy cập của một IAM User. Như đã đề cập trong phần chuẩn bị ở Bài 1, bạn cần tạo một IAM User với các quyền hạn phù hợp (ví dụ:
AdministratorAccess
cho mục đích học tập ban đầu, hoặc các quyền cụ thể hơn cho từng dịch vụ). LƯU Ý QUAN TRỌNG: Giữ Secret Access Key của bạn tuyệt đối bí mật!Default Region Name: Đây là khu vực AWS mặc định mà bạn muốn AWS CLI và Terraform làm việc, ví dụ
us-east-1
,ap-southeast-1
. Bạn có thể tìm mã Region của AWS tại đây.Default Output Format: Định dạng output mặc định cho AWS CLI, thường là
json
.
Chạy lệnh
aws configure
: Mở Terminal/Command Prompt và chạy:
bash aws configure
AWS CLI sẽ lần lượt hỏi bạn các thông tin sau:
```
AWS Access Key ID [None]: YOUR_ACCESS_KEY_ID
AWS Secret Access Key [None]: YOUR_SECRET_ACCESS_KEY
Default region name [None]: your-default-region (ví dụ: ap-southeast-1)
Default output format [None]: json (nhấn Enter để chấp nhận mặc định là json)
```
Sau khi bạn nhập xong, AWS CLI sẽ lưu thông tin này vào các tệp cấu hình (thường là trong thư mục `~/.aws/credentials` và `~/.aws/config` trên Linux/macOS, hoặc `%USERPROFILE%\.aws\credentials` và `%USERPROFILE%\.aws\config` trên Windows). Terraform sẽ tự động tìm và sử dụng các thông tin này.
Lưu ý về bảo mật:
Không bao giờ hardcode (viết thẳng) Access Key ID và Secret Access Key vào trong mã Terraform của bạn.
Sử dụng các quyền hạn tối thiểu cần thiết (Principle of Least Privilege) cho IAM User mà bạn dùng với Terraform.
Xem xét việc sử dụng IAM Roles cho các kịch bản nâng cao hơn (sẽ được đề cập trong các bài sau).
Bước 3: Thiết lập Trình soạn thảo Code – Visual Studio Code (VS Code)
Mặc dù bạn có thể viết code Terraform bằng bất kỳ trình soạn thảo văn bản nào, việc sử dụng một Integrated Development Environment (IDE) hoặc một trình soạn thảo code chuyên dụng như Visual Studio Code (VS Code) sẽ giúp công việc của bạn dễ dàng và hiệu quả hơn rất nhiều nhờ các tính năng như tô màu cú pháp (syntax highlighting), gợi ý mã (autocompletion), và kiểm tra lỗi (linting).
Cài đặt VS Code: Tải VS Code miễn phí từ trang chủ: https://code.visualstudio.com/ và cài đặt theo hướng dẫn.
Cài đặt Extension "HashiCorp Terraform": Extension này được phát triển chính thức bởi HashiCorp và cung cấp hỗ trợ tuyệt vời cho việc viết code Terraform.
Mở VS Code.
Nhấp vào biểu tượng Extensions trên thanh sidebar bên trái (hoặc nhấn
Ctrl+Shift+X
).Trong ô tìm kiếm, gõ
HashiCorp Terraform
.Tìm extension có tên "HashiCorp Terraform" (thường là kết quả đầu tiên, tác giả là HashiCorp) và nhấp "Install".
Với extension này, bạn sẽ có:
Tô màu cú pháp cho file
.tf
.Tự động hoàn thành tên resource, data source, thuộc tính.
Định dạng code tự động (
terraform fmt
tích hợp).Thông tin gợi ý khi di chuột qua các khối code.
Bước 4: Tạo Thư mục Dự án Terraform Đầu tiên
Cuối cùng, hãy tạo một thư mục để chứa các tệp cấu hình Terraform cho dự án đầu tiên của chúng ta.
Mở Terminal hoặc File Explorer.
Tạo một thư mục mới, ví dụ:
terraform-learning
hoặcmy-first-terraform-project
. Bashmkdir terraform-aws-project cd terraform-aws-project
Mở thư mục này bằng VS Code: Nếu bạn đang ở trong thư mục đó bằng Terminal, gõ: Bash
code .
Hoặc mở VS Code rồi chọn "File" > "Open Folder..." và chọn thư mục bạn vừa tạo.
Kết luận
Xin chúc mừng! Bạn đã hoàn tất việc cài đặt Terraform, AWS CLI và thiết lập VS Code. Đây là những công cụ nền tảng không thể thiếu để bắt đầu hành trình chinh phục Infrastructure as Code với Terraform trên nền tảng AWS. Môi trường làm việc của bạn giờ đã sẵn sàng cho những dòng code Terraform đầu tiên.
Trong Bài 3: Ngôn ngữ HCL và Cấu trúc File Terraform Cơ bản, chúng ta sẽ cùng nhau tìm hiểu về HCL - ngôn ngữ bạn sẽ dùng để "nói chuyện" với Terraform và định nghĩa hạ tầng mơ ước của mình. Hãy sẵn sàng khám phá nhé!
Subscribe to my newsletter
Read articles from Dat Ngo Tien directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Dat Ngo Tien
Dat Ngo Tien
Hi friend. Nice to meet you in here. Hope you will find useful information on the blog. Follow and chill with me.