Trang chủ Blog Phát triển offshore

Giao tiếp giữa 2 VPC thật đơn ...

Giao tiếp giữa 2 VPC thật đơn giản với VPC Peering

Rabiloo

Nếu đã từng làm việc với AWS (Amazon Web Services) chắc hẳn bạn đã nghe đến khái niệm VPC (Virtual Private Cloud). Những tài nguyên chúng ta thường sử dụng đều được đặt trong các VPC. Nếu bạn cần kết nối từ tài nguyên thuộc VPC A sang VPC B (các tài nguyên này đều không kết nối trực tiếp từ internet), thì việc tạo ra một kết nối từ VPC A sang VPC B là điều bắt buộc. VPC Peering sẽ giúp bạn giải quyết điều này.

1. VPC Peering là gì

VPC peering là một phương thức giúp ta tạo ra một kết nối riêng giữa 2 VPC, trong đó, ta có thể chỉ định VPC nguồn và VPC đích. 

Khi các VPC được kết nối với nhau bằng cách sử dụng VPC peering, những dịch vụ trong các VPC đó có thể giao tiếp bằng IP riêng từ VPC nguồn đến VPC đích và ngược lại.

Các VPC không nhất thiết nằm cùng trong một region, nó có thể nằm ở các khu vực khác nhau, thậm chí ở các tài khoản AWS khác nhau. Tức là nếu có đủ thông tin kết nối bạn có thể kết nối đến VPC của bạn bè, thật tiện lợi.

Ngoài ra, khi bạn sử dụng VPC Peering để kết nối tới các VPC thuộc nhiều region khác nhau, tốc độ sẽ được cải thiện nhiều hơn so với kết nối trực tiếp từ internet.

Có thể bạn quan tâm: Quy trình tạo Amazon S3 để lưu trữ dữ liệu

VPC Peering là gì

VPC Peering là gì

2. Cách thiết lập VPC Peering

Bước 1: Tạo 2 VPC như bên dưới

Danh sách VPC

Lưu ý, dải IPV4 của 2 VPC nên để khác nhau, như trong hình tôi để lần lượt là:

  • 10.0.0.0/16 ứng với dải IP 10.0.0.1→10.0.255.254

  • 10.1.0.0/16 ứng với dải IP 10.1.0.1→10.1.255.254

Khi chúng ta cài đặt dải IP khác nhau, những IP nội bộ của các tài nguyên trong 2 VPC không thể trùng nhau. Sau này khi chúng ta dùng IP nội bộ để giao tiếp cũng ko lo phát sinh vấn đề.

Bước 2: Tạo các subnet con trên các VPC

Tạo các subnet con trên các VPC

Danh sách subnet

Ứng với mỗi VPC, tôi tạo một mạng con tương ứng như hình trên.

Bước 3: Tạo tài nguyên Ec2 trên từng subnet

Danh sách các Ec2

Danh sách các Ec2

Ở đây, trong từng subnet, tôi tạo ra các Ec2 tương ứng, mỗi Ec2 thuộc 1 VPC khác nhau. Ngay sau đây, chúng ta sẽ dùng VPC Peering để kết nối qua lại giữa các EC2 này.

Ec2 test1 của tôi có IP là: 10.0.0.93, Ec2 test 2 có IP là 10.1.0.206. Tôi sẽ thử giao tiếp từ test1 sang test2.

 Kết quả tất nhiên là timeout

 Kết quả tất nhiên là timeout

Tiến hình tạo Peering connection

Việc tạo peering connection khá đơn giản. Bạn cần điền tên, chỉ định VPC Requester, VPC Accepter.

Thông tin VPC peering

Thông tin VPC peering

Sau khi tạo xong bạn cần được chủ sở hữu VPC Accepter chấp nhận kết nối. Nếu bạn là chủ cả 2 VPC thì có thể tự chấp nhận được. 

Cấu hình route table 

Thông tin route table của subnet test1-subnet1

Thông tin route table của subnet test1-subnet1

Ảnh trên là thông tin của bảng định tuyến (route table), bảng định tuyến này đã được tôi gắn cho subnet test1-subnet1, thông tin cụ thể của bảng như sau:

  1. Chỉ dẫn kết nối sang test2-subnet1
  2. Chỉ dẫn kết nối local
  3. Chỉ dẫn kết nối ra internet bên ngoài

Tương tự, tôi cũng tạo một bảng định tuyến cho subnet test2-subnet1, tương tự sẽ cho chỉ dẫn sang bên test1-subnet1.

Thông tin route table của subnet test2-subnet1

Thông tin route table của subnet test2-subnet1

Thiết lập đến đây đã hoàn tất, tôi sẽ tiến hành giao tiếp lại từ Ec2 test1 sang Ec2 test2.

Thiết lập đến đây đã hoàn tất, tôi sẽ tiến hành giao tiếp lại từ Ec2 test1 sang Ec2 test2.

Kết quả 

Như vậy bằng VPC peering tôi đã thành công trong việc kết nối 2 VPC với nhau.

3. Kết luận

Qua bài viết này chúng ta đã hiểu cách sử dụng VPC peering. Hy vọng bạn có thể áp dụng được những chia sẻ bên trên vào dự án phần mềm của mình. Cảm ơn các bạn đã đọc bài.

Rabiloo là công ty công nghệ, có 5 năm kinh nghiệm sản xuất và phát triển phần mềm cho doanh nghiệp Nhật Bản, Mỹ, Pháp, Singapore, Việt Nam. Nếu bạn đang cần tư vấn về bất kỳ điều gì về lĩnh vực công nghệ, dù chỉ là điều nhỏ nhất, đừng ngại liên hệ với đội ngũ tư vấn của Rabiloo. Chúng tôi ở đây để tìm ra giải pháp cho tất cả vấn đề của bạn bằng công nghệ. 

Hãy cho Rabiloo biết chúng tôi có thể đóng góp gì cho sự thành công của dự án công nghệ sắp tới của bạn. Nếu bạn vẫn chưa chắc chắn về kinh nghiệm của Rabiloo, chúng tôi sẵn sàng chứng minh.

 

ĐẶT LỊCH TƯ VẤN & KIỂM TRA NĂNG LỰC MIỄN PHÍ


Bài viết liên quan

blog
HTTPS with SpringBoot