Bài viết này sẽ giới thiệu về AWS Transit Gateway, service của AWS giúp peer các VPC trong AWS Network với nhau và đến các Cloud provider khác hoặc máy chủ On-Premise với độ trễ thấp, cùng khả năng mở rộng nhưng lại cài đặt đơn giản hơn so với VPC Peering truyền thống.

Transit Gateway hỗ trợ kết nối network giữa các account AWS, giữa các  regionđồng thời sử dụng AWS Resource Access Manager (AWS RAM) để chia sẻ gateway giữa các account.

1. VPC Peering là gì?

Trước khi nói đến AWS Transit Gateway, thì bài viết sẽ giới thiệu về VPC Peering trước.

VPC Peering cung cấp giải pháp kết nối 2 hoặc nhiều VPC lại với nhau. Đối với trường hợp AWS, các VPC được peer với nhau sẽ giao tiếp, truyền dữ liệu với nhau thông qua mạng nội bộ của AWS, do đó giảm thiểu được độ trễ và có hiệu suất cao hơn so với truyền tải dữ liệu thông qua Public Network.

Tuy nhiên khi số lượng connection giữa các VPC tăng lên, việc quản lý peering connection sẽ trở lên rắc rối và việc thêm mới một connection sẽ rất tốn công sức và phức tạp. Dù cả khi dùng mô hình Hub & Spoke để giảm sự phức tạp, thì nó lại gây ra độ trễ do giữa 2 VPC kết nối với nhau phải thông qua một VPC trung gian khác (gọi là Hub) như hình dưới.

Từ những khó khăn này, AWS cung cấp dịch vụ tên Transit Gateway để giải quyết vấn đề kết nối giữa các VPC.

2. AWS Transit Gateway

AWS Transit Gateway là một dịch vụ giúp người dùng kết nối các VPC với nhau và với máy chủ On-Premise chỉ với một Gateway. Do đó người dùng có thể thoải mái tăng số lượng tùy vào nhu cầu mà không cần lo lắng việc thêm nhiều connection vào mạng network có sẵn.

AWS Transit Gateway cung cấp một số lợi điểm:

  • Cải thiện tính bảo mật;
  • Dễ dàng kết nối;
  • Kết nối đa chiều;
  • Băng thông theo nhu cầu;
  • Thiết kế trực quan, dễ kiểm soát.

Transit Gateway cũng dùng mô hình mạng Hub & Spoke với Transit Gateway là Hub và các kết nối VPC là các Spoke, bất cứ VPC mới nào kết nối vào Transit gateway đều được thông network đến mạng lưới hiện có. Network routing được điều chỉnh tại trung tâm Transit Gateway.

3. Use case: Kết nối VPC riêng biệt với nhau thông qua Transit Gateway

Để dễ hình dung, tác giả sẽ hiện thực ví dụ theo kiến trúc hình dưới:

Ví dụ gồm 3 bước:

  • Bước 1: Tạo 2 VPC.
  • Bước 2: Tạo Transit Gateway và thiết lập kết nối 2 VPC thông qua gateway này.
  • Bước 3: Kiểm tra kết nối mạng vừa thiết lập.

Ví dụ này tác giả sẽ dùng Terraform – Infrastructure as Code để thiết lập các service trên AWS.

Bước 1: Tạo 2 VPC

Các bước khởi tạo 2 VPC với Terraform tác giả đã làm bài viết riêng với source code ở link sau (https://github.com/KhoaNPA/terraform_simple_vpc). Nếu bạn không quan tâm đến Terraform thì có thể bỏ qua hướng dẫn, chỉ cần clone source code và chạy các lệnh sau (2 VPC này sẽ ở region ap-southeast-1):

Kết quả của lệnh trên sẽ output ra VPC_ID, Route_ID, Subnet_ID để dùng cho bước kế tiếp.

Bước 2: Tạo Transit Gateway và kết nối 2 VPC ở trên

Clone source code link này (https://github.com/KhoaNPA/terraform_tgw). Sau đó đi đến thư mục terraform_tgw/dev/main.tf và thay thế giá trị của các biến với thông tin ở Bước 1 và chạy các lệnh sau:

Source code sẽ tạo các Transit Gateway Attachment cho mỗi VPC với thông tin VPC_ID, Subnet_ID của VPC. Transit Gateway Attachment của mỗi VPC sẽ liên kết đến Transit Gateway để tạo connection như hình dưới.

Bước 3: Kiểm tra kết nối mạng vừa thiết lập

Ở trong source code của Bước 1, tác giả có mở Security Group cho method ICMP (Ping) cho 2 VPC, nên các bạn có thể dùng cách Ping để kiểm tra kết nối giữa 2 VPC.

Bây giờ tiến hành SSH remote vào 2 con EC2 instances nằm trên public subnet của mỗi VPC thông qua Public IP/ElP, sau đó ping 2 EC2 qua lại với nhau bằng Private_IP của nó.

4. Dùng Transit Gateway hay VPC Peering?

Nếu số lượng kết nối giữa các VPC không nhiều thì bạn vẫn có thể xài VPC Peering truyền thống để giải quyết vấn đề và tiết kiệm chi phí.

Tuy nhiên, nếu số lượng kết nối trở nên lớn, tăng dần đều theo nhu cầu và bạn cần kết nối VPC với Cloud khác hoặc máy chủ On-Premise qua VPN thì nên sử dụng Transit Gateway ở đây để giảm gánh nặng thiết kế và triển khai.

 5. Pricing

  VPC Peering Transit Gateway Notes
Data transferred $0.01/GB $0.02/GB VPC Peering không cung cấp transparent peering, còn Transit Gateway thì có.
Transit Gateway attachment N/A $0.07/attachment/hour

Với Transit Gateway, bạn có thể nhanh chóng thiết lập mạng lưới network giữa các VPC với nhau, giữa các account, region và VPN với nhau trong thời gian ngắn. Giá của Transit Gateway cũng khá là hợp lí, bạn có thể thêm khảo thêm giá ở đây (https://aws.amazon.com/transit-gateway/pricing/).

Nguyễn Phước Anh Khoa – FHO.STU

FPT TechInsight chính thức ra mắt chuyên mục mới – “GÓC NHÌN BẠN ĐỌC” là nơi bạn đọc có thể chia sẻ những bài viết về công nghệ mới, kinh nghiệm lập trình, tham gia dự án,… đến cộng đồng yêu công nghệ.  Các bài viết chất lượng và được đăng tải trên website FPT TechInsight sẽ nhận được một khoản nhuận bút hấp dẫn thay lời cảm ơn vì những đóng góp của tác giả cho cộng đồng.

 

Bài viết và ý kiến đóng góp, quý độc giả vui lòng gửi về địa chỉ email: [email protected]. Tiêu đề có ghi rõ “Góc nhìn bạn đọc – Họ và tên”. Hotline: +84 853 543 538

Tin liên quan: