Viettel IDC

https://viettel-idc.com.vn

MÔ TẢ AWS RDS VÀ EC2 – LỢI ÍCH, HẠN CHẾ VÀ NHỮNG ĐIỀU CẦN LƯU Ý

Bạn vừa quyết định dịch chuyển các ứng dụng từ máy chủ tại chỗ (on-premise) lên AWS và đang cân nhắc các dịch vụ cloud có sẵn phù hợp nhất với nhu cầu của mình.

Khi bạn dịch chuyển một ứng dụng sử dụng backend CSDL quan hệ như Oracle, MySQL hoặc SQL Server sang cloud, chắc chắn bạn sẽ đặt ra các câu hỏi về RDS so với EC2.
MÔ TẢ AWS RDS VÀ EC2 – LỢI ÍCH, HẠN CHẾ VÀ NHỮNG ĐIỀU CẦN LƯU Ý

Bạn cần quyết định xem có nên:

  • Sử dụng Dịch vụ CSDL quan hệ của AWS (AWS Relational Database Service – RDS) hoặc
  • Lưu trữ máy chủ CSDL trên AWS EC2 (Elastic compute) instance.

Bài viết này sẽ giúp bạn đưa ra quyết định sáng suốt và đạt được mục tiêu của mình một cách tối ưu và hiệu quả. Hãy cùng tìm hiểu CSDL được lưu trữ trên Amazon RDS và EC2 cùng với sự khác biệt giữa chúng.

Amazon RDS là gì?

Dịch vụ CSDL quan hệ của Amazon (Amazon RDS) là một dịch vụ CSDL được quản lý (DBaaS) giúp quản trị viên CNTT dễ dàng thiết lập, vận hành và mở rộng quy mô CSDL quan hệ trên cloud. RDS có sẵn cho các công cụ CSDL phổ biến bao gồm MySQL, MariaDB, PostgreSQL, Oracle và Microsoft SQL Server.

Do đó, khi dịch chuyển lên cloud, hầu hết các ứng dụng sử dụng bất kỳ công cụ CSDL nào trong số này đều có thể được triển khai để sử dụng Amazon RDS thay vì máy chủ CSDL cục bộ mà không tốn quá nhiều công sức. Ngoài ra, Amazon RDS còn hỗ trợ nền tảng CSDL của Amazon, Amazon Aurora, CSDL quan hệ tương thích MySQL và PostgreSQL.

Đối với mỗi công cụ, bạn có thể chọn các phiên bản CSDL khác nhau tùy thuộc vào yêu cầu CPU, bộ nhớ, bộ lưu trữ và mạng. Với Amazon RDS, bạn có thể giảm tải tác vụ quản trị CSDL đang tốn nhiều thời gian như cung cấp, thiết lập, vá lỗi, sao lưu, khôi phục, phát hiện lỗi và sửa lỗi cho Amazon. Đội ngũ của bạn sẽ không cần lo lắng về những tác vụ tốn nhiều công sức và dễ xảy ra lỗi này sau khi sử dụng RDS.

Theo mặc định, Amazon RDS tự động sao lưu CSDL của bạn 24 giờ một lần. Tính năng này đảm bảo rằng, trong trường hợp xấu nhất, RTO của bạn là 24 giờ. Với chiến lược đa vùng (đa điểm) hoạt động tích cực (multi-region (multi-site) active-active multi-region strategy), RPO gần bằng 0 và RTO có thể bằng không.

Việc vá lỗi định kỳ cũng được tự động hóa, với cửa sổ bảo trì được đặt để giữ an toàn cho các phiên bản CSDL của bạn.

Khi sử dụng RDS, bạn có các bản sao chỉ có quyền đọc ở các khu vực gần với user. Để tăng dung lượng đọc và giải phóng IOPS, bạn có thể định tuyến các truy vấn đã đọc từ các ứng dụng của mình tới bản sao đã đọc.

Bạn cũng có thể gửi các truy vấn nặng đến các bản sao chỉ có quyền đọc, do đó giảm tải cho các production servers.

Amazon EC2 là gì?

Amazon Elastic Compute Cloud (Amazon EC2) là một dịch vụ web cung cấp quyền truy cập an toàn vào các phiên bản máy chủ theo yêu cầu. Việc sở hữu và cấu hình dung lượng thật dễ dàng – bạn chỉ cần dùng giao diện của web Amazon EC2 để thêm dung lượng tùy ý. Bạn có toàn quyền kiểm soát các tài nguyên máy tính của mình, có thể tăng hoặc giảm quy mô khi nhu cầu thay đổi. Để cung cấp các dịch vụ CSDL cần thiết cho ứng dụng, bạn có thể tạo các phiên bản EC2 và tự cài đặt các công cụ CSDL cần thiết trên các phiên bản.

Tiếp theo, ta cùng xem các lợi ích – hạn chế trong từng tính năng giữa Amazon RDS và EC2, giúp bạn đưa ra quyết định phù hợp nhất cho nhu cầu hiện tại.

Khả năng quản lý (Administration)

RDS

EC2
  • Dễ dàng thiết lập. AWS tự động hóa toàn bộ quy trình quản lý, bảo trì và bảo mật. Nó cho phép bạn tập trung vào các công việc thiết yếu, không phải lo lắng về thời hạn bảo trì. Bạn có nhiều tùy chọn để truy cập các khả năng đầy mạnh mẽ của CSDL quan hệ production-ready – Bảng điều khiển quản lý AWS, giao diện dòng lệnh AWS RDS hoặc lệnh gọi API REST đơn giản.
  • Bạn có toàn quyền kiểm soát hệ điều hành đã cài đặt, phiên bản và cấu hình CSDL cũng như các thành phần phần mềm khác. Tất cả các hoạt động bảo trì định kỳ, bao gồm các bản vá lỗi, nâng cấp, sao lưu, nhân rộng và phân cụm, đều do bạn chịu trách nhiệm.

 

Tính khả dụng cao (High Availability)

RDS

EC2
  • Tích hợp sẵn tính khả dụng cao. RDS tự động tạo một phiên bản CSDL chính và sao chép dữ liệu song song với một phiên bản dự phòng trong một region sẵn dụng khác của Amazon. Tính năng này đảm bảo rằng nếu có sự cố mất điện trong một region, bạn có thể khôi phục CSDL của mình từ region khác.
  • Bạn phải tự định cấu hình máy chủ CSDL trong một cụm có tính khả dụng cao.

 

Khả năng sao lưu (Backup)

RDS

EC2
  • Bạn có thể thiết lập các bản sao lưu để  chúng có khả năng tự động hóa. AWS Cloudwatch có thể được dùng để nhận các event về lỗi sao lưu, hoàn thành, v.v. Ngoài ra, bạn có thể nhận ảnh chụp nhanh CSDL theo yêu cầu và lưu lại.
  • Bạn phải tự kích hoạt sao lưu. Bạn cần theo dõi riêng biệt để đảm bảo rằng việc sao lưu vẫn đang diễn ra thường xuyên. Ta không thể sử dụng AWS Cloudwatch trong trường hợp này.

 

Khả năng mở rộng (Scalability)

RDS

EC2
  • RDS tích hợp hoàn toàn với các công cụ mở rộng quy mô của Amazon cho cả quy mô theo chiều ngang và chiều dọc. Nếu bạn cần mở rộng quy mô theo chiều dọc thành một phiên bản lớn hơn hoặc mạnh hơn, bạn có thể thực hiện việc này trong một vài cú nhấp chuột. Ngoài ra, nếu bạn cần chia tỷ lệ theo chiều ngang, việc quay vòng các bản sao đọc bổ sung có thể được tự động hóa, vì vậy hệ thống của bạn đáp ứng ngay lập tức nhu cầu sử dụng ngày càng tăng cho khối lượng công việc chỉ đọc của bạn.
  • Với EC2, bạn phải thiết lập kiến ​​trúc có thể mở rộng theo cách thủ công. Quá trình này có thể liên quan đến việc thiết lập nhiều phiên bản EC2, cân bằng tải giữa chúng, định cấu hình Nhóm khả dụng, Sharding, v.v.

 

Khả năng vận hành (Performance)

RDS

EC2
  • Khi thiết lập một phiên bản RDS, bạn có tùy chọn cấu hình nó với một số lượng IOPS nhất định được cung cấp. Việc cung cấp IOPS có thể tốn kém, tuy nhiên nó cho phép bạn đạt được hiệu suất Đầu vào / Đầu ra nhanh chóng, có thể dự đoán được và nhất quán.
  • Amazon RDS tích hợp chặt chẽ với Amazon CloudWatch để cung cấp cho bạn thông tin chi tiết về hiệu suất CSDL.
  • Với EC2, bạn phải chọn dung lượng lưu trữ phù hợp để có được IOPS và độ trễ mà bạn cần.
  • Bạn không thể sử dụng AWS Cloudwatch để theo dõi hiệu suất CSDL, vì máy chủ CSDL không được AWS quản lý. Bạn cần triển khai các công cụ giám sát CSDL của bên thứ ba để hiểu rõ hơn về hiệu suất CSDL.

 

4 chỉ số RDS chính mà bạn phải theo dõi và tương quan với hiệu suất ứng dụng

Chỉ số

  Định nghĩa
  • IOPS
  • Hoạt động đầu vào và đầu ra mỗi giây
  • Read and write latency
  • Thời gian từ khi yêu cầu đến khi hoàn thành
  • Throughput
  • Các byte được chuyển đến hoặc từ khối CSDL
  • Queue depth
  • Các yêu cầu I / O đang chờ được thực hiện

 

Lưu trữ (Storage)

RDS

EC2

Bạn nhận được ba tùy chọn lưu trữ:

  • SSD đa năng: Đây là một lựa chọn đem lại hiệu quả về chi phí. Ổ cứng SSD cung cấp độ trễ mili giây một chữ số và có thể xử lý lên đến 3.000 IOPS.
  • IOPS được cung cấp: Phù hợp với khối lượng công việc sử dụng nhiều CSDL cần độ trễ I / O và thông lượng IOPS rất cao trong thời gian dài.
  • Magnetic: Xử lý bộ lưu trữ từ tính để tương thích ngược.
  • IOPS và độ trễ bạn nhận được phụ thuộc vào loại phiên bản EC2. Bạn có thể nhận được tối đa 16000 IOPS và 2000 Mbps với phiên bản được tối ưu hóa EBS phù hợp .

 

Hỗ trợ và Kiểm soát (Support and Control)

RDS

EC2
  • Bạn bị giới hạn đối với các công cụ CSDL được hỗ trợ bởi Amazon và các phiên bản được hỗ trợ. Vì bạn không quản lý máy chủ CSDL, các nâng cấp và bản vá sẽ do Amazon quản lý.
  • Bạn không có quyền truy cập trực tiếp vào hệ thống lưu trữ CSDL. Tuy nhiên, bạn có quyền truy cập vào các công cụ quản trị CSDL để thực hiện bất kỳ hoạt động nào được yêu cầu trên máy chủ CSDL.
  • Với EC2, bạn có thể cài đặt bất kỳ công cụ CSDL và phiên bản nào bạn muốn. Bạn không bị giới hạn bởi phiên bản và cấu hình mà AWS hỗ trợ trong RDS (ví dụ: DB2 của IBM không được AWS RDS hỗ trợ, nhưng bạn có thể cài đặt DB2 trên một phiên bản EC2 và vận hành nó).
  • Bạn có toàn quyền truy cập vào hệ điều hành và máy chủ CSDL. Bạn có thể áp dụng bất kỳ bản cập nhật và bản vá lỗi nào bạn muốn và có thể định cấu hình các cửa sổ bảo trì của mình. Bạn cũng có thể chọn bạn muốn chạy một hay nhiều phiên bản trên cùng một phiên bản EC2 và các cổng được sử dụng cũng nằm trong tầm kiểm soát của bạn.

 

Bảo mật (Security)

RDS

EC2
  • Cung cấp mã hóa cả ở trạng thái nghỉ và khi chuyển tiếp. Bộ nhớ cho các phiên bản CSDL, bản sao đã đọc, sao lưu tự động và ảnh chụp nhanh đều được mã hóa trong quá trình lưu trữ.
  • Trong EC2, mã hóa ở mức âm lượng EBS và bạn cũng có thể định cấu hình mã hóa ở mức CSDL.

 

Giấy phép (Licensing)

RDS

EC2
  • AWS cung cấp cả hai mô hình “Giấy phép Bao gồm” và “Mang theo Giấy phép của Riêng bạn (BYOL)”, nhưng chúng khác nhau đối với các hương vị / công cụ CSDL khác nhau.
  • Ví dụ: Oracle RDS cho phép bạn mang theo giấy phép của mình trong khi Amazon RDS cho SQL Server chỉ hỗ trợ mô hình cấp phép “Giấy phép Bao gồm”. Hơn nữa, bạn không thể mang theo giấy phép SQL của mình để sử dụng vì Máy chủ SQL được cấp phép thông qua AWS.
  • Với EC2, bạn có thể tự do mang theo giấy phép CSDL của mình để sử dụng bất kể loại CSDL hay công cụ nào.

 

Chi phí (Cost)

RDS

EC2
  • Thường có chi phí cao hơn khi bạn dựa vào Amazon để thực hiện các nhiệm vụ quản lý hàng ngày.
  • Cài đặt một máy chủ CSDL trên EC2 và quản lý nó thường rẻ hơn RDS. Bạn sẽ phải tự mình xử lý các tác vụ quản lý thông thường như sao lưu, phục hồi, vá lỗi, quản lý tải, v.v.

 

Làm thế nào để chọn giữa Amazon RDS và EC2?

Việc lựa chọn CSDL giữa hai phiên bản EC2 và RDS về cơ bản là sự lựa chọn giữa (1) một môi trường bạn phải tự quản lý mọi thứ và (2) một dịch vụ được quản lý nơi nhà cung cấp cloud thực hiện các nhiệm vụ quản lý thông thường. Một lệnh gọi API đơn giản cung cấp cho bạn quyền kiểm soát việc triển khai, sao lưu, ảnh chụp nhanh, khôi phục, định cỡ, tính khả dụng cao và bản sao. Ngược lại, CSDL tự quản lý trên tùy chọn EC2 yêu cầu bạn thiết lập, định cấu hình, quản lý và điều chỉnh theo cách thủ công các thành phần khác nhau, bao gồm các phiên bản Amazon EC2, dung lượng lưu trữ, khả năng mở rộng, mạng và bảo mật.

Ngoài việc tiết kiệm chi phí quản lý, một lợi ích khác đó là tăng cường tính linh hoạt và tự động hóa. Người ta có thể đạt được điều này bằng cách sử dụng hệ thống CI/CD tự động tận dụng giao diện dòng lệnh AWS (CLI) , Bộ phát triển cloud AWS (CDK) và CloudFormation để triển khai phần phụ trợ CSDL với rất ít sự can thiệp thủ công. Các dịch vụ được quản lý cho phép bạn kiểm soát cơ sở hạ tầng và các dịch vụ thiết kế có thể dễ dàng triển khai, nhân rộng và có các đặc tính tự động phục hồi được tích hợp sẵn.

Nếu chi phí là một yếu tố quan trọng, Amazon RDS có thể đắt hơn một chút so với EC2 trên cùng một cấu hình. Do vậy, nếu bạn có ngân sách hạn chế hoặc muốn làm việc với công cụ CSDL hoặc phiên bản không được Amazon RDS hỗ trợ, bạn có thể cân nhắc sử dụng CSDL được lưu trữ trên máy chủ EC2.

 

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây