LambdaTest, một nền tảng đám mây quản lý và thực hiện kiểm tra omnichannel hàng đầu, đã tìm cách mở rộng mạng lưới đa khu vực và kết hợp của họ. Mạng lưới toàn cầu kết hợp hiện tại của LambdaTest đã sử dụng AWS Site-to-Site VPN để kết nối các vị trí và Amazon Virtual Private Clouds (VPCs) trên nhiều Khu vực AWS khác nhau. LambdaTest đang phát triển nhanh chóng, giúp hơn 2 triệu nhà phát triển thực hiện hơn 500 triệu bài kiểm tra và hỗ trợ hơn 10.000 khách hàng trên hơn 130 quốc gia. Để quản lý sự phát triển này, LambdaTest cần một giải pháp dài hạn có thể hỗ trợ sự mở rộng toàn cầu của họ qua hơn mười Khu vực AWS và hơn mười vị trí.
Như với hầu hết các doanh nghiệp, có một số lý do cho việc hoạt động ở nhiều Khu vực AWS:
- Giảm Recovery Point Objectives (RPO) và Recovery Time Objectives (RTO) như một phần của kế hoạch phục hồi thảm họa đa khu vực (DR);
- Mở rộng đối tượng đến một khán giả toàn cầu bằng cách tạo trải nghiệm người dùng cuối tốt hơn thông qua hiệu suất mạng cao hơn, độ trễ thấp hơn; và
- Định tuyến lưu lượng qua Mạng lưới Toàn cầu của AWS bằng cách kết nối đến Khu vực AWS gần nhất hoặc điểm hiện diện của AWS, có thể là AWS Global Accelerator, AWS Direct Connect hoặc Amazon CloudFront.
Dưới đây là cách họ thực hiện điều đó.
LambdaTest là gì?
Nền tảng LambdaTest cung cấp sự điều phối kiểm tra an toàn, có khả năng mở rộng và thông minh cho khách hàng ở các điểm khác nhau trong vòng đời DevOps (CI/CD) của họ. Kiểm tra Trình duyệt & Ứng dụng, cho phép người dùng thực hiện cả kiểm tra thủ công và tự động của ứng dụng web và di động trên hơn 3000 trình duyệt khác nhau, thiết bị thực và môi trường hệ điều hành. HyperExecute, một đám mây điều phối kiểm tra được trang bị trí tuệ nhân tạo giúp khách hàng chạy và điều phối lưới kiểm tra trong đám mây cho bất kỳ framework và ngôn ngữ lập trình nào với tốc độ vô cùng nhanh để giảm thời gian kiểm tra chất lượng, giúp nhà phát triển xây dựng phần mềm nhanh hơn.
LambdaTest là một tổ chức tập trung vào khách hàng. Sự tập trung này vào khách hàng thúc đẩy sự đổi mới liên tục tại LambdaTest. Văn hóa đổi mới này đã dẫn đến một sáng kiến để đảm bảo thời gian phản hồi tối ưu cho người dùng toàn cầu của họ.
Kiến trúc Global WAN trên AWS và sự mở rộng đến các vị trí của LambdaTest thông qua Site-to-Site VPN
Chúng tôi đã xem xét một số tùy chọn để tạo kết nối Global WAN trên AWS và mở rộng nó đến các vị trí của LambdaTest bằng cách sử dụng Site-to-Site VPN. Dưới đây là một số thông tin quan trọng cần biết.
Amazon Virtual Private Cloud (Amazon VPC) cho phép bạn triển khai tài nguyên trong các mạng riêng tư ở các khu vực AWS khác nhau và cung cấp định tuyến riêng tư giữa các khu vực AWS đó qua nhiều tài khoản với VPC peering. Các tài nguyên này có thể giao tiếp bằng địa chỉ IP riêng tư và không yêu cầu Internet Gateway (IGW), VPN hoặc các thiết bị mạng riêng biệt.
VPC peering hoạt động tốt cho các mạng có số lượng ít VPC và ít kết nối peering. Tuy nhiên, định tuyến chuyển tiếp (gửi lưu lượng từ VPC A đến VPC B và sau đó đến VPC C) không được phép. Khi số lượng VPC được kết nối qua peering tăng lên, mạng lưới các kết nối peering có thể trở nên khó quản lý và gặp vấn đề trong việc xử lý sự cố.
AWS Transit Gateway giúp giảm bớt những khó khăn này bằng cách tạo ra một bộ định tuyến ảo quy mô đám mây kết nối nhiều VPC và mạng on-premises. Khả năng định tuyến của Transit Gateway có thể mở rộng đến các khu vực AWS bổ sung thông qua Transit Gateway inter-Region peering để tạo ra một mạng riêng tư phân phối toàn cầu cho các tài nguyên của bạn.
LambdaTest đã triển khai AWS Transit Gateway để có kết nối đa khu vực để đạt được các mục tiêu chính sau:
- Tránh sử dụng mạng lưới tổng thể để kết nối nhiều khu vực AWS và các vị trí on-premises.
- Sử dụng mạng toàn cầu của AWS để đảm bảo hiệu suất mạng đồng nhất và được tối ưu hóa.
- Giảm thời gian nhập cảnh cho khách hàng mới.
- Tạo kết nối mạng có khả năng mở rộng và đáng tin cậy trên nhiều khu vực AWS.
- Giảm số lượng Site-to-Site VPN giữa AWS và các thiết bị tại các vị trí của LambdaTest để tối ưu hóa chi phí.
Chuyển đổi từ kiểu mạng lưới (mesh) sang mô hình trung tâm (hub and spoke) sử dụng AWS Transit Gateway
LambdaTest phục vụ khách hàng toàn cầu của mình bằng cách sử dụng các trung tâm đặt chỗ với máy chủ và một bộ điều khiển hiện đại trên AWS, bao gồm:
Các Khu vực Core (Core Regions): Đó là các Khu vực AWS với tất cả các dịch vụ và gần nhất với các vị trí on-premises (tức là nơi có hạ tầng máy chủ riêng của họ).
Các Khu vực Supporting (Supporting Regions): Đây là các Khu vực AWS có một số dịch vụ micro nhưng không có kết nối trực tiếp đến các vị trí on-premises. Chúng tồn tại để cân bằng công việc trong các Khu vực Core.
Các Khu vực Proxy (Proxy Regions): Đây là điểm tiếp xúc gần nhất với khách hàng cuối trên đám mây LambdaTest trên AWS. Mạng Toàn cầu của AWS được sử dụng để chuyển các yêu cầu từ khách hàng đến Khu vực Core/Supporting, trong khi phản hồi ngay lập tức được gửi từ Khu vực Proxy.
Ứng dụng trung tâm của LambdaTest yêu cầu kết nối trên tất cả các Khu vực AWS, bao gồm Khu vực Core và Supporting, cũng như các vị trí on-premises của họ. LambdaTest đã sử dụng VPC Peering để kết nối đa khu vực, và kết nối đến các vị trí on-premises được cung cấp bằng IPsec Site-to-Site VPN từ mỗi VPC sử dụng Virtual Private Gateway.
Với sự tăng trưởng kinh doanh vượt bậc, LambdaTest không chỉ thấy sự chấp nhận của khách hàng doanh nghiệp đối với dịch vụ của họ trên AWS mà còn thấy mẫu tăng trưởng tương tự cho phần ứng dụng của họ trên nền tảng on-premises. Điều này dẫn họ tạo gần 50 IPsec Site-to-Site VPN từ mỗi Khu vực AWS đến các vị trí on-premises của họ, vì họ sử dụng một nền tảng phần cứng riêng biệt cho mỗi khách hàng tại các vị trí khác nhau.
Điều này dẫn đến việc cạn kiệt giới hạn IPsec VPN cho mỗi Virtual Gateway và họ bắt đầu quan sát các thách thức hoạt động và hiệu suất khác nhau dưới dạng tổng băng thông cho kết nối đến các mạng on-premises. Việc tạo mới các VPN cho khách hàng trong tất cả các Khu vực AWS cũng làm tăng chi phí vận hành nền tảng của họ. Kiến trúc này được minh họa trong sơ đồ sau (Hình 1).
Hình 1: VPNs từ mỗi điểm đặt chỗ kết nối đến các VGWs riêng cho mỗi Khu vực AWS
Để giải quyết những thách thức này, LambdaTest đã sử dụng Transit Gateway để kết nối các VPC trong mỗi Khu vực AWS của họ. Điều này cung cấp khả năng kết nối giữa các Khu vực và kết nối với mạng trên nơi làm việc. Ban đầu, có VPN từ mỗi địa điểm đặt chỗ đến tất cả các Khu vực hỗ trợ và Core. Sau khi di chuyển, chỉ cần VPN để kết nối với Transit Gateway trong mỗi Khu vực Core. Kết nối đến các Khu vực Hỗ trợ và Proxy sử dụng việc kết nối Transit Gateway giữa các Khu vực. Để đảm bảo tính sẵn sàng cao, họ đã mở rộng VPN từ mỗi vị trí tại nơi làm việc đến nhiều Khu vực Core khác nhau, để vấn đề xảy ra tại một Khu vực Core không ảnh hưởng đến kết nối ứng dụng từ các vị trí tại nơi làm việc. Kiến trúc này được hiển thị trong sơ đồ sau (Hình 2).
Sử dụng Mạng toàn cầu của AWS để tối ưu hóa hiệu suất và bảo mật mạng.
Tương tự, việc mở rộng đến các vị trí on-premises mới và thiết lập kết nối đến Các Khu Vực Cốt Lõi và Khu Vực Hỗ Trợ trở nên dễ dàng hơn với kiến trúc mới này. Khi cần mở rộng kết nối Khu Vực Cốt Lõi đến một vị trí on-premises mới, điều này được thực hiện bằng cách sử dụng IPSec Site-to-Site VPN. Chúng cung cấp kết nối đến Khu Vực Hỗ Trợ bằng cách sử dụng cùng một kết nối VPN. Không cần tạo thêm VPN cho Khu Vực Hỗ Trợ, vì họ kết nối tất cả Các Khu Vực Cốt Lõi đến Khu Vực Hỗ Trợ thông qua mạng kết nối Transit Gateway. Điều này giúp giảm số lượng VPN và tổng chi phí của giải pháp. LambdaTest cũng tiết kiệm thời gian bằng cách giảm số cấu hình VPN cần thiết để thiết lập kết nối với nhiều Khu Vực AWS khác nhau.
Kết Luận
Bằng cách sử dụng Transit Gateway, LambdaTest đã thiết lập kết nối đến nhiều Khu Vực AWS và các vị trí on-premises của khách hàng của họ một cách hiệu quả. Dữ liệu của họ được tự động mã hóa khi di chuyển giữa các Khu Vực AWS và không bao giờ đi qua internet công cộng khi sử dụng Transit Gateway peering. Các giới hạn trước đây là một thách thức với VPN và VPC Peering đã được loại bỏ. Transit Gateway mở rộng khi số lượng kết nối mạng tăng. Họ đã giảm yêu cầu về nhiều VPN đến Khu Vực Hỗ Trợ, giúp tiết kiệm 25% công sức trong quá trình triển khai.