Amazon RDS: Dịch Vụ Cơ Sở Dữ Liệu Quan Hệ Linh Hoạt Trên AWS

Amazon Relational Database Service (RDS) là dịch vụ web giúp bạn dễ dàng thiết lập, vận hành và mở rộng cơ sở dữ liệu quan hệ trên AWS Cloud. RDS giúp đơn giản hóa các tác vụ quản lý cơ sở dữ liệu phức tạp, cho phép bạn tập trung vào việc phát triển ứng dụng.

Amazon RDS đảm nhận nhiều tác vụ quản lý cơ sở dữ liệu quan trọng, bao gồm:

  • Khả năng tùy biến cao: Dễ dàng phân bổ CPU, IOPS và dung lượng lưu trữ theo nhu cầu.
  • Sao lưu và phục hồi: Sử dụng AWS Backup Service để sao lưu dữ liệu, tự động phát hiện lỗi và phục hồi nhanh chóng.
  • Tính sẵn sàng cao: Hỗ trợ đồng bộ dữ liệu giữa primary và secondary instance để đảm bảo tính liên tục.
  • Bảo mật: Kiểm soát truy cập thông qua IAM và bảo vệ cơ sở dữ liệu bằng VPC (Virtual Private Cloud).

Kiến trúc Amazon RDS đơn giản hóa việc quản lý cơ sở dữ liệu quan hệ trên đám mây

DB Instance là một môi trường cơ sở dữ liệu riêng biệt trên AWS Cloud. Bạn có thể tạo và chỉnh sửa DB Instance thông qua AWS CLI, RDS API hoặc AWS Management Console. Mỗi DB Instance chạy một DB Engine.

RDS hỗ trợ nhiều DB Engine phổ biến:

  • MySQL
  • MariaDB
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server

Có ba loại DB Instance Storage:

  • Magnetic
  • General Purpose (SSD)
  • Provisioned IOPS (PIOPS)

Dung lượng lưu trữ tối đa cho mỗi DB Instance phụ thuộc vào loại storage và DB Engine bạn chọn.

Việc tính phí dịch vụ RDS dựa trên các thành phần sử dụng:

  • DB Instance Hours: Tính theo giờ sử dụng, dựa trên DB Instance Class. Hóa đơn được tính theo giây, tối thiểu 10 phút.
  • Storage (GiB/Tháng): Tính theo dung lượng lưu trữ đã sử dụng.
  • I/O Requests: Áp dụng cho RDS Magnetic Storage, tính theo triệu request mỗi tháng.
  • Provisioned IOPS: Tính theo số lượng IOPS đã provision mỗi tháng.
  • Backup Storage: Tính theo dung lượng lưu trữ cho các bản backup.
  • Data Transfer: Tính theo lượng dữ liệu truyền ra ngoài DB Instance hoặc giữa các dịch vụ AWS.

Khi tạo DB Instance, bạn sẽ tạo cơ sở dữ liệu bên trong. DB Instance cung cấp một network address, gọi là Endpoint, để ứng dụng kết nối tới. Bạn cần chỉ định các thông số như storage, memory, engine/version, network, security và maintenance period khi tạo DB Instance.

Kiểm soát truy cập vào DB Instance thông qua Security Group.

Trước khi tạo DB Instance và Security Group, hãy xác định rõ các yêu cầu sau:

Yêu Cầu Tài Nguyên (Resource Requirements)

Xác định rõ bộ nhớ và processor cần thiết cho ứng dụng của bạn.

VPC, Subnet và Security Group

DB Instance hoạt động bên trong VPC (Virtual Private Cloud). Để kết nối tới DB Instance, bạn cần cấu hình Security Group Rules phù hợp với VPC của bạn.

Default VPC

Nếu tài khoản AWS của bạn có Default VPC, VPC này đã được cấu hình sẵn để hỗ trợ DB Instance. Khi tạo DB Instance, bạn có thể chọn Default VPC và thực hiện các bước sau:

  • Tạo VPC Security Group để cho phép kết nối từ ứng dụng tới Amazon RDS DB Instance.
  • Chọn Default DB Subnet Group. Amazon RDS sẽ tạo Default DB Subnet Group nếu đây là lần đầu tiên bạn tạo DB Instance.

User-defined VPC

Nếu sử dụng User-defined VPC, cần chú ý các điểm sau:

  1. Đảm bảo VPC Security Group cho phép kết nối từ ứng dụng tới Amazon RDS DB Instance.
  2. VPC phải có ít nhất 2 Subnet cho mỗi Availability Zone (AZ) để đảm bảo khả năng hoạt động.
  3. Sử dụng DB Subnet Group để định nghĩa các Subnet trong VPC.

No VPC

Nếu tài khoản AWS của bạn không có Default VPC và bạn không chọn User-defined VPC, bạn cần tạo VPC trước khi tạo DB Instance.

Tính Sẵn Sàng Cao (High Availability)

Multi-AZ Deployment đảm bảo tính sẵn sàng cao cho cơ sở dữ liệu của bạn.

Amazon RDS Multi-AZ Deployment tạo một primary DB Instance và một secondary standby DB Instance ở một Availability Zone khác. Khi có lỗi xảy ra, hệ thống sẽ tự động chuyển đổi sang standby instance, đảm bảo tính liên tục cho ứng dụng.

IAM Policies

Đảm bảo IAM Account của bạn có đủ quyền cần thiết để thao tác với Amazon RDS.

Mở Cổng Kết Nối (Open Ports)

Đảm bảo Firewall không chặn các cổng mặc định cho DB Engine. Bạn có thể thay đổi cổng kết nối trong cài đặt DB Instance.

Vùng AWS (AWS Region)

Chọn AWS Region gần với ứng dụng của bạn để giảm độ trễ mạng.

Hệ Thống Lưu Trữ Ổ Cứng (DB Disk Subsystem)

Chọn loại storage phù hợp với mục đích sử dụng:

  • Magnetic (Standard Storage): Phù hợp cho các ứng dụng ít yêu cầu về hiệu năng.
  • General Purpose (SSD): Phù hợp cho hầu hết các ứng dụng, cung cấp hiệu năng ổn định.
  • Provisioned IOPS (PIOPS): Phù hợp cho các ứng dụng đòi hỏi hiệu năng cao và ổn định.