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

Dat Ngo TienDat Ngo Tien
8 min read

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.

  1. 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

  2. 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:

        1. Tìm kiếm "environment variables" trong Start Menu và chọn "Edit the system environment variables".

        2. Trong cửa sổ System Properties, nhấp vào nút "Environment Variables...".

        3. Trong phần "System variables", tìm biến Path và chọn "Edit...".

        4. Nhấp "New" và thêm đường dẫn đến thư mục chứa terraform.exe (ví dụ: C:\Terraform).

        5. Nhấn OK trên tất cả các cửa sổ.

        6. 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:

        1. Tải xuống tệp .zip cho macOS từ trang chủ Terraform.

        2. Giải nén tệp: unzip terraform_<version>_darwin_amd64.zip (thay <version> bằng phiên bản bạn tải).

        3. Di chuyển tệp terraform vào một thư mục trong PATH của bạn, ví dụ: /usr/local/bin: Bash

           sudo mv terraform /usr/local/bin/
          
        4. Đả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):

        1. Tải xuống tệp .zip cho Linux từ trang chủ Terraform.

        2. Giải nén tệp: unzip terraform_<version>_linux_amd64.zip (thay <version> bằng phiên bản bạn tải).

        3. 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): Bash

           sudo mv terraform /usr/local/bin/
          
        4. Đả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.

  3. 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.

  1. 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.

  2. 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.

  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 IDSecret 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).

  1. 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.

  2. 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.

  1. Mở Terminal hoặc File Explorer.

  2. Tạo một thư mục mới, ví dụ: terraform-learning hoặc my-first-terraform-project. Bash

     mkdir terraform-aws-project
     cd terraform-aws-project
    
  3. 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é!

0
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.