ℹ️ Information: Amazon Relational Database Service (Amazon RDS) là dịch vụ quản lý cho phép bạn triển khai và quản lý cơ sở dữ liệu quan hệ trên AWS. Amazon RDS được thiết kế cho xử lý giao dịch trực tuyến (OLTP) và phù hợp nhất với các yêu cầu lưu trữ dữ liệu có cấu trúc và quan hệ.
Amazon RDS cung cấp các lợi ích chính:
Amazon RDS hỗ trợ các hệ thống cơ sở dữ liệu sau:
⚠️ Warning: RDS là dịch vụ được quản lý và bạn không có quyền truy cập vào máy chủ EC2 cơ bản (không có quyền truy cập root). Ngoại lệ là Amazon RDS Custom, cho phép truy cập vào hệ điều hành cơ bản, nhưng chỉ có sẵn cho một số DB Engine giới hạn.
Dịch vụ quản lý Amazon RDS bao gồm:
ℹ️ Information: DB instance là môi trường cơ sở dữ liệu trong đám mây với tài nguyên tính toán và lưu trữ mà bạn chỉ định. DB instances được truy cập thông qua các điểm cuối (endpoints) có thể được truy xuất từ AWS Management Console, API DescribeDBInstances hoặc lệnh describe-db-instances.
💡 Pro Tip: Mặc định, khách hàng được phép có tối đa 40 DB instances Amazon RDS (chỉ có 10 trong số này có thể là Oracle hoặc SQL Server trừ khi bạn có giấy phép riêng).
Cửa sổ bảo trì được cấu hình để cho phép thực hiện các sửa đổi DB instances như mở rộng và cài đặt phần mềm vá. Bạn có thể xác định cửa sổ bảo trì hoặc AWS sẽ lên lịch cho một cửa sổ 30 phút.
ℹ️ Information: Xác thực tích hợp với Windows chỉ hoạt động với SQL Server khi sử dụng các miền được tạo bằng AWS Directory Service - cần thiết lập mối tin tưởng với thư mục AD trên môi trường truyền thống.
Dịch vụ lưu trữ dữ liệu | Khi nào sử dụng |
---|---|
Cơ sở dữ liệu trên EC2 | Kiểm soát tối đa về cơ sở dữ liệu, ưa chuộng DB không có sẵn trên RDS |
Amazon RDS | Cần cơ sở dữ liệu quan hệ truyền thống cho OLTP, dữ liệu có cấu trúc tốt, ứng dụng hiện có yêu cầu RDBMS |
Amazon DynamoDB | Dữ liệu cặp tên/giá trị, cấu trúc không dự đoán được, hiệu suất trong bộ nhớ với tính bền vững, nhu cầu I/O cao |
Amazon Redshift | Khối lượng lớn dữ liệu, chủ yếu là tải phân tích (OLAP) |
Amazon Neptune | Mối quan hệ giữa các đối tượng là một phần quan trọng của giá trị dữ liệu |
Amazon ElastiCache | Lưu trữ tạm thời nhanh cho lượng dữ liệu nhỏ, dữ liệu biến động cao |
Amazon S3 | Đối tượng nhị phân lớn (BLOBs), các trang web tĩnh |
💡 Pro Tip: Nếu trường hợp sử dụng của bạn không được hỗ trợ trên RDS, bạn có thể chạy cơ sở dữ liệu trên Amazon EC2 với kiểm soát đầy đủ và tính linh hoạt tối đa, nhưng phải tự quản lý mọi thứ như sao lưu, dự phòng, cập nhật và mở rộng.
🔒 Security Note: Bạn có thể mã hóa các DB instances và bản snapshot Amazon RDS khi nghỉ bằng cách bật tùy chọn mã hóa. Mã hóa khi nghỉ được hỗ trợ cho tất cả các loại DB và sử dụng AWS KMS.
Khi sử dụng mã hóa khi nghỉ, các yếu tố sau cũng được mã hóa:
⚠️ Warning: Bạn không thể mã hóa một DB hiện có, bạn cần tạo một bản snapshot, sao chép nó, mã hóa bản sao, sau đó xây dựng một DB đã được mã hóa từ bản snapshot.
RDS hỗ trợ mã hóa SSL giữa các ứng dụng và instance DB RDS, với RDS tự động tạo chứng chỉ cho instance.
ℹ️ Information: Nhóm DB Subnet là một tập hợp các subnet (thường là riêng tư) mà bạn tạo trong một VPC và sau đó chỉ định cho các DB instances.
AWS tính phí cho:
ℹ️ Information: Lưu trữ sao lưu cho sao lưu tự động RDS là miễn phí cho đến kích thước ổ EBS đã được cung cấp. Tuy nhiên, AWS sao chép dữ liệu qua nhiều AZ và do đó bạn phải trả tiền cho không gian lưu trữ thêm trên S3.
Đối với Multi-AZ, bạn phải trả tiền cho:
💡 Pro Tip: Đối với Multi-AZ, bạn không phải trả phí cho truyền dữ liệu DB trong quá trình sao chép từ instance chính sang instance dự phòng.
ℹ️ Information: Bạn chỉ có thể mở rộng RDS lên (tính toán và lưu trữ). Bạn không thể giảm lưu trữ đã cấp phát cho instance RDS.
⚠️ Warning: Tất cả các loại DB RDS hỗ trợ kích thước DB tối đa là 64 TiB ngoại trừ Microsoft SQL Server (16 TiB).
Amazon RDS sử dụng ổ đĩa EBS (không sử dụng lưu trữ instance) cho lưu trữ DB và log. Có ba loại lưu trữ có sẵn:
Mục đích chung (SSD - gp2):
Provisioned IOPS (SSD - io1/io2):
Từ tính (Magnetic):
Multi-AZ và Read Replicas được sử dụng để đảm bảo tính sẵn có cao, khả năng chịu lỗi và mở rộng hiệu suất.
Multi-AZ Deployments | Read Replicas |
---|---|
Sao chép đồng bộ - bền vững cao | Sao chép không đồng bộ - mở rộng cao |
Chỉ có cơ sở dữ liệu trên instance chính là hoạt động | Tất cả read replicas đều có thể truy cập và được sử dụng để mở rộng đọc |
Sao lưu tự động được thực hiện từ instance dự phòng | Không có sao lưu được cấu hình mặc định |
Luôn luôn bao gồm hai vùng khả dụng trong một Region | Có thể nằm trong một Availability Zone, Cross-AZ hoặc Cross-Region |
Các instance của cơ sở dữ liệu được nâng cấp trên instance chính | Việc nâng cấp instance của cơ sở dữ liệu độc lập với instance nguồn |
Tự động chuyển đổi sang instance dự phòng khi phát hiện sự cố | Có thể được thăng cấp thủ công thành một instance cơ sở dữ liệu độc lập |
ℹ️ Information: Multi-AZ RDS tạo một bản sao ở Availability Zone khác và sao chép đồng bộ đến đó (chỉ dành cho DR).
💡 Pro Tip: Triển khai việc thử lại kết nối DB trong ứng dụng của bạn và sử dụng điểm cuối thay vì địa chỉ IP để chỉ định ứng dụng đến DB RDS.
⚠️ Warning: Bản sao DB thứ cấp trong cấu hình Multi-AZ không thể được sử dụng như một nút đọc độc lập.
ℹ️ Information: Read Replicas được sử dụng cho các cơ sở dữ liệu có tải đọc nhiều và sao chép là không đồng bộ.
💡 Pro Tip: Bạn có thể thăng cấp một Read Replica thành instance chính. Việc thăng cấp Read Replica mất vài phút và giữ lại thời gian lưu trữ sao lưu, cửa sổ sao lưu, và nhóm tham số cơ sở dữ liệu.
ℹ️ Information: DB Snapshots là các tình huống do người dùng khởi tạo và cho phép bạn sao lưu DB instance của bạn ở trong một trạng thái xác định.
💡 Pro Tip: Nên chụp một Snapshot cuối cùng trước khi xóa một DB instance RDS. Snapshot có thể chia sẻ với các tài khoản AWS khác.
Amazon RDS cung cấp nhiều công cụ theo dõi:
Amazon RDS tích hợp với:
💡 Pro Tip: Sử dụng kết hợp các công cụ theo dõi này để có cái nhìn toàn diện về hiệu suất và sức khỏe của cơ sở dữ liệu RDS của bạn.