Việc kết nối giữa các máy chủ EC2 trên cùng 1 VPC, Region là thực sự rất đơn giản. Nhưng trong các mô hình thiết kế hệ thống AWS (Amazon Web Service), chúng ta bắt gặt các máy chủ EC2 năm ở trên Region khác. Trong một số trường hợp như để giảm thiểu rủi ro, cần 1 giải pháp backup dữ liệu, hoặc thiết lập hệ thống HA Cluster trên các Region khác nhau. VD: 1 máy chủ EC2 năm trên Region là Tokyo có thể kết nối và chuyển đổi tới 1 máy chủ EC2 trên Singapore khi có sự cố xảy ra chẳng hạn.
Amazon cung cấp nhiều giải pháp để kết nối và liên lạc giữa các máy chủ EC2 được đặt trên các Region khác nhau:
- Inter-region VPC Peering
- Software VPN Appliances
- Transit VPC
- Internet-Based VPN
- Corporate Network Backbone
Trong bài viết này mình sẽ hướng dẫn các bạn sử dụng giải pháp Inter-region VPC Peering, đây là 1 giải pháp đơn giản nhất trong 5 giải pháp mà Amazon cung cấp.
1. Inter-region VPC Peering là gì?
Inter-region VPC Peering là giải pháp kết nối an toàn giữa các VPC khác nhau năm trên nhiều Region được hỗ trợ bởi AWS (Không phải sử dụng VPN hay phần cứng vật lý). Nó cung cấp các kêt nối mã hóa và định tuyền lưu lượng giữa các VPC với nhau. Vì được hỗ trợ sẵn bởi AWS nên ít khả năng xảy ra hiện tượng thắt cổ trai ( bandwidth bottleneck ) hay liên lạc thất bại (failure communication).
Mô hình hệ thống AWS sử dụng Inter-region VPC Peering
2. Các bước chuẩn bị
Đầu tiên chúng ta cần tạo 1 máy chủ EC2 nằm trên 2 hoặc nhiều region khác nhau, các bạn vui lòng tham khảo bài viết Hướng dẫn tạo máy ảo Amazon EC2 trên AWS
Vậy để bắt đầu bài lab này chúng ta có các thông tin sau:
Trên Tokyo Region:
- Mạng ảo VPC có IPv4 CIDR: 10.0.0.0/16
- Máy chủ EC2 Instance có địa chỉ Private IPv4: 10.0.68.69
Trên Sigapore Region:
- Mạng ảo VPC có IPv4 CIDR: 172.20.0.0/16
- Máy chủ EC2 Instance có địa chỉ Private IPv4: 172.20.108.96
3. Kết nối giữa các EC2 trên các VPC đặt trên Region khác nhau
Bước 1: Tạo một kết nối Peering Connections
Từ trang quản lý VPC của AWS Console Management => chọn menu “Peering Connections”
Bấm button [ Create Perring Connection ]
Điền đầy đủ các thông tin ở hình bên dưới:
- Peering connection name tag: Tên của Peering Connection
- Local VPC
- VPC (Requester): Chọn VPC ở Region hiện tại (Tokyo)
- Another VPC to peer:
- Account: Tài khoản AWS (Ở đây mình liên kết tới VPC trong cùng 1 tài khoản)
- Region: Chọn “Another Region” (Mình liên kết tới VPC trên Region khác: Singapore)
- VPC (Requester): Điền VPC ID ở Region cần liên kết tới
Bấm button [ Create Peering Connection ] để tạo request
Xác nhận lại thông tin đã tạo
Sau khi tạo thành công => Một yêu cầu kết nối sẽ được gửi tới người quản lý VPC cần liên kết.
Vì mình liên kết tới VPC nằm trong tài khoản mình, nên mình switch sang Region Singapore => Sẽ thấy yêu cầu liên kết ở trạng thái “Pending Acceptance”
Chọn “Action” => “Accept Request” để đồng ý liên kết.
Một popup xác nhận liên kết => Bấm button [ Yes, Accept ]
Kết quả cuối cùng kết nối giữa 2 VPC trên 2 Region khác nhau đã ở trạng thái là Active.
Bước 2: Cấp quyền cho Route Table
Sau khi tạo kết nối giữa 2 VPC trên 2 Region khác nhau, chúng ta cần cấp quyền để chúng có thể communication với nhau trên Route Table.
Trên Tokyo Region => Chọn menu “Route Table” => Chọn bản ghi “Route Table” cần chỉnh sửa => Bấm “Edit routes”
Thêm 1 route với:
- Destination là CIDR của VPC hiện tại (Tokyo Region)
- Target là ID của Peering Connection
Bấm button [ Save routes ]
Tương tự trên Region Singapore chúng tạo tạo 1 bản ghi route table tương tự như cách tạo ở Region Singapore.
Bước 3: Test thử kết nối giữa các máy chủ EC2
Login vào máy chủ EC2 trên VPC của Region Tokyo, thử ping tới địa chỉ Private IP của máy chủ EC2 trên Region Singapore là: 172.20.108.96
Nếu có response trả về thì chúng ta đã thành công.
Chú ý: Để xóa kết nối giữa 2 VPC, đơn giản chúng ta chỉ cần xóa bản ghi Peering Connection đi.
Chọn bản ghi Perring Connecton cần xóa => Chọn “Actions” => “Delete VPC Peering Connection”
Xác nhận trước khi thực hiện xóa.
Nguồn: vinasupport.com