Proxy cho Amazon RDS
Giúp cho các ứng dụng của bạn dễ dàng điều chỉnh quy mô, dễ phục hồi và an toàn hơn
Proxy cho RDS là gì?
Proxy cho RDS là tính năng proxy cơ sở dữ liệu được quản lý đầy đủ, có tính sẵn sàng cao và dễ sử dụng của Amazon RDS, giúp các ứng dụng của bạn 1/ cải thiện khả năng điều chỉnh quy mô bằng cách tổng hợp và dùng chung kết nối cơ sở dữ liệu, 2/ cải thiện khả năng phục hồi bằng cách giảm thời gian chuyển đổi dự phòng cơ sở dữ liệu tới 66% và duy trì kết nối ứng dụng trong khi chuyển đổi dự phòng, cũng như 3/ cải thiện tính bảo mật bằng cách thực thi xác thực AWS IAM không bắt buộc cho cơ sở dữ liệu và lưu trữ an toàn thông tin chứng thực trong Trình quản lý thông tin bí mật của AWS.
Proxy cho RDS không yêu cầu bạn phải cung cấp hay quản lý thêm bất kỳ cơ sở hạ tầng nào để bắt đầu dùng, đồng thời proxy này có thể được kích hoạt cho hầu hết các ứng dụng mà không cần thay đổi mã.
Lợi ích của Proxy cho Amazon RDS
Proxy cho RDS duy trì một nhóm kết nối đã thiết lập với các phiên bản cơ sở dữ liệu RDS, giúp giảm áp lực lên tài nguyên bộ nhớ và điện toán cơ sở dữ liệu thường xảy ra khi thiết lập các kết nối mới. Dịch vụ này cũng chia sẻ các kết nối cơ sở dữ liệu được sử dụng không thường xuyên, do đó giảm số kết nối truy cập cơ sở dữ liệu RDS. Nhóm kết nối này cho phép cơ sở dữ liệu của bạn hỗ trợ hiệu quả một lượng lớn kết nối ứng dụng với tần suất cao để ứng dụng có thể điều chỉnh quy mô mà không ảnh hưởng đến hiệu năng.
Proxy cho RDS giảm thiểu sự gián đoạn ứng dụng do ngừng hoạt động ảnh hưởng đến tính sẵn sàng của cơ sở dữ liệu bằng cách tự động kết nối với phiên bản cơ sở dữ liệu mới trong khi vẫn duy trì các kết nối ứng dụng. Khi chuyển đổi dự phòng xảy ra, Proxy cho RDS sẽ định tuyến yêu cầu trực tiếp đến phiên bản cơ sở dữ liệu mới. Điều này giúp giảm thời gian chuyển đổi dự phòng cho cơ sở dữ liệu Aurora và RDS lên đến 66%. Proxy cho RDS cũng hỗ trợ nhiều vùng sẵn sàng với hai phiên bản dự phòng có quyền đọc cho quá trình chuyển đổi dự phòng thường dưới 35 giây, độ trễ ghi được cải thiện gấp 2 lần, thêm dung lượng đọc và giảm thời gian ngừng hoạt động để nâng cấp phiên bản phụ xuống dưới 1 giây.
Proxy cho RDS cung cấp quyền kiểm soát bổ sung đối với bảo mật dữ liệu bằng cách cho bạn lựa chọn thực thi xác thực IAM để truy cập cơ sở dữ liệu và tránh viết thông tin chứng thực cơ sở dữ liệu trực tiếp vào trong mã của ứng dụng. Dịch vụ này cũng cho phép bạn quản lý tập trung thông tin chứng thực cơ sở dữ liệu bằng Trình quản lý thông tin bí mật.
Một máy chủ proxy cơ sở dữ liệu giúp xử lý tải bổ sung trên cơ sở dữ liệu của bạn. Mặc dù các máy chủ proxy truyền thống cho phép các ứng dụng điều chỉnh quy mô hiệu quả hơn, nhưng chúng rất khó triển khai, vá lỗi và quản lý – tốn tài nguyên mà bạn có thể dành vào việc phát triển các sản phẩm tuyệt vời. Proxy cho RDS hoàn toàn phi máy chủ và là proxy cơ sở dữ liệu được quản lý đầy đủ, vì vậy có thể tự động điều chỉnh quy mô để phù hợp với khối lượng công việc, đồng thời loại bỏ gánh nặng vá lỗi và quản lý máy chủ proxy riêng.
Proxy cho RDS hoàn toàn tương thích với các giao thức của các công cụ cơ sở dữ liệu được hỗ trợ, vì vậy bạn có thể triển khai proxy này cho ứng dụng của mình mà không cần thay đổi mã ứng dụng. Bạn chỉ cần trỏ các kết nối ứng dụng của mình đến proxy thay vì cơ sở dữ liệu RDS và mọi thứ còn lại sẽ được quản lý liền mạch.
Bắt đầu với Proxy cho Amazon RDS
Bạn đang tìm thông tin hướng dẫn cách nhanh chóng bắt đầu sử dụng Proxy cho RDS? Dưới đây là các tài liệu kỹ thuật, hướng dẫn sử dụng và hướng dẫn quan trọng nhất để giúp bạn biết cách bắt đầu sử dụng Proxy cho RDS trong vài bước.
Câu hỏi thường gặp
Thông tin chung
Mở tất cảCác ứng dụng có khối lượng công việc khó dự đoán: Các ứng dụng hỗ trợ khối lượng công việc biến động lớn có thể phát sinh đồng thời một lượng lớn kết nối cơ sở dữ liệu mới. Cơ chế quản lý kết nối của Proxy cho RDS giúp ứng dụng mở rộng quy mô một cách linh hoạt khi phải xử lý các khối lượng công việc khó dự đoán bằng cách tái sử dụng hiệu quả các kết nối cơ sở dữ liệu. Đầu tiên, Proxy cho RDS cho phép nhiều kết nối ứng dụng chia sẻ cùng một kết nối cơ sở dữ liệu để sử dụng tài nguyên cơ sở dữ liệu một cách hiệu quả. Thứ hai, Proxy cho RDS cho phép bạn duy trì hiệu năng cơ sở dữ liệu có thể dự đoán bằng cách điều chỉnh số lượng kết nối cơ sở dữ liệu đã được mở. Thứ ba, Proxy cho RDS loại bỏ các yêu cầu ứng dụng không thể đáp ứng để duy trì hiệu năng tổng thể và tính sẵn sàng của ứng dụng.
Các ứng dụng thường xuyên mở và đóng kết nối cơ sở dữ liệu: Các ứng dụng được xây dựng dựa trên các công nghệ như Phi máy chủ, PHP hoặc Ruby on Rails có thể mở và đóng kết nối cơ sở dữ liệu thường xuyên để đáp ứng các yêu cầu của ứng dụng. Proxy cho RDS cho phép bạn duy trì một nhóm kết nối cơ sở dữ liệu nhằm tránh áp lực không cần thiết về điện toán và bộ nhớ cơ sở dữ liệu để thiết lập các kết nối mới.
Các ứng dụng duy trì kết nối mở nhưng không hoạt động: Các ứng dụng trong những lĩnh vực như SaaS hoặc thương mại điện tử có thể duy trì các kết nối cơ sở dữ liệu ở trạng thái không hoạt động nhằm giảm thiểu thời gian phản hồi khi người dùng cuối quay lại tương tác. Thay vì cung cấp quá nhiều cơ sở dữ liệu để hỗ trợ các kết nối hầu như không hoạt động, bạn có thể sử dụng Proxy cho RDS để giữ các kết nối không hoạt động, đồng thời chỉ thiết lập kết nối cơ sở dữ liệu theo yêu cầu để phục vụ các yêu cầu hiện hoạt một cách tối ưu.
Các ứng dụng cần duy trì khả năng hoạt động trong trường hợp xảy ra sự cố tạm thời: Với Proxy cho RDS, bạn có thể xây dựng ứng dụng có khả năng tự động xử lý lỗi cơ sở dữ liệu một cách minh bạch mà không cần viết mã xử lý lỗi phức tạp. Proxy cho RDS tự động định tuyến lưu lượng đến phiên bản cơ sở dữ liệu mới trong khi duy trì kết nối ứng dụng. Giải pháp này cũng bỏ qua bộ nhớ đệm DNS (Hệ thống tên miền) để rút ngắn thời gian chuyển đổi dự phòng tới 66% đối với RDS và cơ sở dữ liệu nhiều vùng sẵn sàng của Aurora. Trong quá trình chuyển đổi dự phòng cơ sở dữ liệu, ứng dụng có thể bị tăng độ trễ và các giao dịch đang diễn ra có thể phải thực hiện lại.
Tăng cường bảo mật và quản lý tập trung thông tin xác thực: Proxy cho RDS hỗ trợ bạn xây dựng các ứng dụng an toàn hơn bằng cách cho phép áp dụng cơ chế xác thực dựa trên IAM và quản lý tập trung thông tin xác thực cơ sở dữ liệu thông qua Trình quản lý thông tin bí mật của AWS.
Proxy cho RDS giúp thay đổi cách tiếp cận khi xây dựng các ứng dụng phi máy chủ hiện đại bằng cách khai thác sức mạnh và sự đơn giản của cơ sở dữ liệu quan hệ. Giải pháp này cho phép các ứng dụng phi máy chủ mở rộng quy mô hiệu quả bằng cách gộp và tái sử dụng các kết nối cơ sở dữ liệu. Nhờ đó, bạn có thể xử lý các khối lượng công việc biến động lớn với khả năng phát sinh đồng thời nhiều kết nối mới hoặc duy trì số lượng lớn kết nối đang mở nhưng không hoạt động, những tình huống có thể gây quá tải máy chủ cơ sở dữ liệu, dẫn đến truy vấn chậm hơn và hạn chế khả năng mở rộng của ứng dụng.
Với Proxy cho RDS, bạn không còn cần xử lý thông tin xác thực cơ sở dữ liệu trong mã Lambda nữa. Thay vào đó, bạn có thể sử dụng vai trò thực thi IAM được liên kết với hàm Lambda để xác thực với Proxy cho RDS và cơ sở dữ liệu. Ngoài ra, Proxy cho RDS là dịch vụ được quản lý toàn phần và tự động mở rộng năng lực dựa trên nhu cầu của ứng dụng, giúp bạn không cần quản lý thêm hạ tầng hoặc mã nguồn. Giải pháp này duy trì hiệu năng cơ sở dữ liệu ổn định bằng cách kiểm soát tổng số kết nối cơ sở dữ liệu đang mở và bảo toàn khả năng sẵn sàng của ứng dụng bằng cách từ chối các kết nối không thể phục vụ, vốn có thể làm suy giảm hiệu năng cơ sở dữ liệu.
Proxy cho RDS hiện khả dụng cho Aurora PostgreSQL, Aurora MySQL, RDS for PostgreSQL, RDS for MySQL, RDS for MariaDB và RDS for SQL Server. Bạn có thể xem danh sách các phiên bản công cụ được hỗ trợ trong Hướng dẫn sử dụng Aurora hoặc Hướng dẫn sử dụng RDS.
Bạn có thể bật Proxy cho RDS cho cơ sở dữ liệu RDS chỉ với vài thao tác trong bảng điều khiển RDS. Khi bật Proxy cho RDS, bạn sẽ chỉ định VPC và các mạng con mà bạn muốn Proxy cho RDS truy cập. Nếu là người dùng Lambda, bạn có thể bật Proxy cho RDS cho cơ sở dữ liệu RDS và thiết lập hàm Lambda để truy cập cơ sở dữ liệu chỉ với vài thao tác mà không cần rời khỏi bảng điều khiển Lambda.
- Sử dụng xác thực IAM cho các kết nối từ máy khách đến proxy và sử dụng Trình quản lý thông tin bí mật cho các kết nối từ proxy đến cơ sở dữ liệu.
- Sử dụng xác thực IAM cho cả kết nối máy khách đến proxy và proxy đến cơ sở dữ liệu, loại bỏ nhu cầu lưu trữ mật khẩu cơ sở dữ liệu trong Trình quản lý thông tin bí mật.
Có nhiều cách để thực hiện xác thực giữa ứng dụng và cơ sở dữ liệu thông qua Proxy cho RDS. Bạn có thể sử dụng phương thức xác thực truyền thống bằng tên người dùng và mật khẩu kết hợp với Trình quản lý thông tin bí mật của AWS để lưu trữ thông tin xác thực cơ sở dữ liệu, đồng thời quản lý tập trung, tăng cường bảo mật và đơn giản hóa việc quản lý thông tin xác thực cho ứng dụng. Khi sử dụng Trình quản lý thông tin bí mật, bạn có thể kết nối với Proxy cho RDS theo cùng cách thức như khi kết nối trực tiếp với cơ sở dữ liệu. Tên người dùng và mật khẩu bạn cung cấp sẽ được đối chiếu với thông tin chứng thực được lưu trữ trong Trình quản lý thông tin bí mật, sau đó được sử dụng cho các kết nối cơ sở dữ liệu.
Để tăng cường bảo mật, bạn có thể sử dụng xác thực dựa trên IAM. Thay vì sử dụng tên người dùng và mật khẩu, ứng dụng có thể dùng vai trò thực thi IAM được liên kết với các dịch vụ như AWS Lambda hoặc Amazon EC2 để xác thực với Proxy cho RDS. Bạn có hai tùy chọn để xác thực IAM:
Để tìm hiểu thêm về cách xác thực với Proxy cho RDS, vui lòng tham khảo tài liệu Kết nối với cơ sở dữ liệu thông qua Proxy cho RDS.
Có, vui lòng tham khảo trang SLA của Proxy cho RDS.
Khách hàng
Acquia
“Chúng tôi liên tục tìm kiếm giải pháp để tối ưu hóa và cải thiện hiệu năng cũng như khả năng điều chỉnh quy mô cho khách hàng. Vì Drupal không hỗ trợ tổng hợp kết nối theo mặc định, nên chúng tôi muốn có một giải pháp cho phép cải thiện khả năng điều chỉnh quy mô kết nối của ứng dụng trên cơ sở dữ liệu quan hệ. Proxy cho RDS hoàn toàn phù hợp! Với Proxy cho RDS, các ứng dụng Drupal của khách hàng có thể dễ dàng tận dụng nhóm kết nối đã thiết lập sẵn. Điều này đã cho phép chúng tôi quản lý tốt hơn khi lưu lượng truy cập trang web gia tăng đột ngột và cải thiện hiệu quả cơ sở dữ liệu của chúng tôi.”
Ed Brennan, Kiến trúc sư trưởng – Acquia
CAINZ
“Chúng tôi có cơ sở hạ tầng API phi máy chủ dựa trên AWS Lambda, dự kiến sẽ hỗ trợ hàng chục nghìn người dùng và yêu cầu kho dữ liệu backend có thể điều chỉnh quy mô. Mặc dù chúng tôi thường dựa vào cơ sở dữ liệu NoSQL cho các tình huống như vậy, nhưng thách thức trong tình huống này là chúng tôi cần khả năng truy vấn SQL mạnh mẽ để quản lý và truy cập dữ liệu được cung cấp bởi cơ sở dữ liệu Amazon RDS và Amazon Aurora. Bây giờ chúng tôi có thể giải quyết thách thức này với Proxy cho RDS trước cơ sở dữ liệu RDS và Aurora của chúng tôi. Trong thử nghiệm của mình, chúng tôi đã quan sát thấy thời gian phản hồi cải thiện gấp 4 lần với Proxy cho RDS trong thời gian tải cao điểm. Proxy cho RDS có lợi cho chúng tôi vì chúng tôi có thể sử dụng các câu lệnh SQL quen thuộc với cơ sở dữ liệu quan hệ của mình và tất cả những gì chúng tôi cần làm chỉ là chuyển đổi điểm cuối.”
Masahiro Arai, Bộ phận chiến lược kỹ thuật số – CAINZ
CloudHealth by VMware
“Gần đây, chúng tôi đã di chuyển cơ sở dữ liệu MySQL của mình sang Amazon Aurora. Các ứng dụng của chúng tôi duy trì một lượng lớn các kết nối cơ sở dữ liệu mở, gây áp lực cho cơ sở dữ liệu của chúng tôi trong quá trình gia tăng kết nối, gây ngừng hoạt động cho khách hàng. Sau khi chuyển sang Aurora, Proxy cho RDS đã trở thành một phần quan trọng trong kiến trúc của chúng tôi để giúp điều chỉnh quy mô ứng dụng của mình và tối ưu hóa chi phí. Khi sử dụng Proxy cho RDS, các ứng dụng của chúng tôi có thể mở nhiều kết nối hơn với proxy, từ đó giảm kết nối cơ sở dữ liệu lên đến 90% trong giờ cao điểm, bảo vệ cơ sở dữ liệu khỏi số lượng kết nối cao. Proxy cho RDS đã giúp chúng tôi cải thiện khả năng ổn định hệ thống và giảm chi phí. Do cần dành ít tài nguyên hệ thống hơn cho các kết nối cơ sở dữ liệu, chúng tôi có thể hợp nhất cơ sở dữ liệu của mình thành ít cụm Aurora hơn, giảm tổng chi phí vận hành.”
Peter Fein, Kiến trúc sư phần mềm cao cấp – CloudHealth by VMware
Dream 11
“Proxy cho RDS đã mang lại thay đổi đáng kể cho chúng tôi trong Giải Ngoại hạng Ấn Độ 2023. Dịch vụ này đã giúp chúng tôi xử lý các đợt tăng lưu lượng truy cập lớn trong quá trình khóa tròn mà không ảnh hưởng đến hiệu năng và tính sẵn sàng của cơ sở dữ liệu. Dịch vụ cũng cho phép chúng tôi điều chỉnh quy mô tài nguyên một cách linh hoạt và tối ưu hóa chi phí của mình. Chúng tôi đã có thể cung cấp trải nghiệm liền mạch cho người dùng của mình. Proxy cho RDS là dịch vụ phải có cho mọi nền tảng trò chơi trực tuyến cần xử lý lưu lượng truy cập khối lượng lớn và không thể dự đoán trước.”
Bipul Karnani, Kỹ sư trưởng – Dream 11