Trong bài viết này, bạn sẽ học cách tạo AWS VPC bằng các module Terraform có cấu trúc rõ ràng. Đây là một hướng dẫn từng bước dành cho người mới bắt đầu với đầy đủ thông tin chi tiết.

Yêu Cầu Trước Khi Thực Hiện

Để làm theo hướng dẫn này, bạn cần có các yêu cầu sau:

  1. Cài đặt phiên bản Terraform mới nhất và cấu hình trên hệ thống của bạn.
  2. Cài đặt AWS CLI và cấu hình với tài khoản AWS hợp lệ có đầy đủ quyền để tạo và quản lý dịch vụ AWS VPC.
  3. Nếu bạn đang chạy Terraform trên một EC2 instance, hãy đảm bảo rằng instance có IAM role hợp lệ với quyền khởi tạo VPC.

Mã Code Terraform AWS VPC

Mã Terraform cho AWS VPC là một phần của repository terraform AWS. Clone về máy của bạn để làm theo hướng dẫn.

git clone https://github.com/techiescamp/terraform-aws.git

Fork và clone repository nếu bạn muốn sử dụng lại hoặc thay đổi theo nhu cầu của mình.

Cấu Trúc Thư Mục Terraform AWS VPC

Mã Terraform VPC được tổ chức theo cấu trúc sau:

├── infra
│   └── vpc
│       ├── main.tf
│       └── variables.tf
├── modules
│   └── vpc
│       ├── endpoint.tf
│       ├── internet-gateway.tf
│       ├── nacl.tf
│       ├── nat-gateway.tf
│       ├── outputs.tf
│       ├── route-tables.tf
│       ├── subnet.tf
│       ├── variables.tf
│       └── vpc.tf
└── vars
    └── dev
        └── vpc.tfvars

Cấu Hình VPC

VPC sẽ được tạo với cấu hình sau:

  1. CIDR Block: 10.0.0.0/16
  2. Khu vực: us-west-2
  3. Availability Zones: us-west-2a, us-west-2b, us-west-2c
  4. Subnets: 15 subnet (mỗi AZ một subnet)
    • 3 Public Subnets
    • 3 App Subnets
    • 3 DB Subnets
    • 3 Management Subnets
    • 3 Platform Subnets
  5. NAT Gateway cho private subnet
  6. Internet Gateway cho public subnet
  7. Endpoint được bật: S3, CloudWatch & Secrets Manager
  8. NACL chuyên biệt cho từng nhóm subnet

Các Bước Triển Khai AWS VPC Bằng Terraform

Bước 1: Truy Cập Vào Repository Đã Clone

Nếu chưa clone, hãy thực hiện:

git clone https://github.com/techiescamp/terraform-aws.git

Di chuyển vào thư mục:

cd terraform-aws

Bước 2: Chỉnh Sửa Tệp vpc.tfvars

Mở thư mục repository trong IDE yêu thích để dễ dàng chỉnh sửa mã nguồn.

Chỉnh sửa tệp vars/dev/vpc.tfvars theo nhu cầu của bạn.

Lưu ý: Nếu không muốn sử dụng NAT Gateway, đặt create_nat_gateway thành false.

Bước 3: Khởi Tạo Terraform Và Kiểm Tra Kế Hoạch

Di chuyển vào thư mục infra/vpc:

cd infra/vpc

Khởi tạo Terraform:

terraform init

Chạy Terraform plan để kiểm tra cấu hình:

terraform plan -var-file=../../vars/dev/vpc.tfvars

Bạn sẽ thấy danh sách các tài nguyên sẽ được tạo.

Bước 4: Triển Khai VPC Bằng Terraform Apply

terraform apply -var-file=../../vars/dev/vpc.tfvars

Bước 5: Kiểm Tra VPC Trên AWS Console

Vào AWS Console, chọn VPC vừa tạo và kiểm tra Resource Map.

Bạn sẽ thấy 15 subnet, 6 route tables, internet gateway và NAT gateway được tạo thành công.

Bước 6: Xóa Tài Nguyên Nếu Không Cần Dùng

Nếu bạn chỉ tạo VPC để học tập và muốn dọn dẹp tài nguyên, chạy lệnh sau:

terraform destroy -var-file=../../vars/dev/vpc.tfvars

Tham Khảo Mã Terraform Thực Tế

Nếu muốn tìm hiểu cách viết mã Terraform chuẩn trong môi trường dự án thực tế, hãy tham khảo repository của nền tảng hiện đại hóa thuộc Bộ Tư Pháp Anh.

Tài liệu quyết định kiến trúc:

https://github.com/ministryofjustice/modernisation-platform/tree/main/architecture-decision-record

Kết Luận

Trong hướng dẫn này, chúng ta đã học cách tạo AWS VPC bằng Terraform.

Trong các dự án thực tế, bạn có thể cần xem xét thêm nhiều tùy chọn VPC như Flow Logs, Peering Connections, v.v.

Để quản lý trạng thái Terraform, bạn nên sử dụng remote backend với S3 và DynamoDB Lock.

Hãy tùy chỉnh mã Terraform theo nhu cầu của bạn. Nếu có thắc mắc hoặc gặp lỗi, hãy để lại bình luận bên dưới!

Tài liệu tham khảo How to Create AWS VPC Using Terraform

Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận