🤖 AI vẫn chưa thể thay thế mình đâu, bạn có thể khám phá những gì mình đang làm tại đây!

Hướng dẫn cài đặt và sử dụng Amazon RDS trên AWS với DB Clusters cho Laravel

K
Võ Cao Kỳ

2025/03/18

Amazon RDS (Relational Database Service) là một dịch vụ cơ sở dữ liệu được quản lý trên AWS, hỗ trợ các hệ quản trị như MySQL, PostgreSQL, MariaDB, Oracle và SQL Server. Dịch vụ này giúp bạn triển khai, vận hành và mở rộng cơ sở dữ liệu một cách dễ dàng mà không cần lo lắng về hạ tầng.

Trong bài viết này, bạn sẽ học cách tạo và cấu hình một cơ sở dữ liệu RDS trên AWS từ A-Z, bao gồm cả việc sử dụng DB Clusters cho Laravel để tăng hiệu suất và tính sẵn sàng.


Các bước thiết lập Amazon RDS

Đăng nhập AWS Management Console

  • Truy cập AWS Management Console.
  • Đăng nhập vào tài khoản AWS của bạn.
  • Điều hướng đến Aurora and RDS bằng cách tìm kiếm "RDS" trong thanh tìm kiếm.

Tạo một DB Cluster

  • Trong bảng điều khiển RDS, chọn Database > Create database.
  • Chọn Aurora (MySQL Compatible) làm engine (chọn Aurora (Aurora (PostgreSQL Compatible)) nếu bạn sử dụng PostgreSQL).
  • Chọn phiên bản Aurora phù hợp (ví dụ: Aurora MySQL 3.05.2 (compatible with MySQL 8.0.32) - default for major version 8.0).

Tạo DB Cluster

Cấu hình cơ sở dữ liệu

  • Chọn Templates (mục đích sử dụng của cluster này)
  • Đặt DB cluster identifier (tên nhận dạng cluster).
  • Thiết lập Master usernameCredentials management.
  • Chọn Cluster storage configuration.

Cấu hình cơ sở dữ liệu

  • Chọn DB instance class phù hợp (ví dụ: db.t3.medium cho môi trường production).
  • Chọn Multi-AZ deployment phù hợp

💡 Mẹo:

Nếu ứng dụng yêu cầu High Availability và mở rộng đọc thì nên chọn Create an Aurora Replica or Reader node in a different AZ (recommended for scaled availability)

Cấu hình Instance size

Cấu hình mạng và bảo mật

  • Chọn VPC phù hợp.
  • Đặt Public access thành Yes nếu bạn muốn kết nối từ bên ngoài.
  • Thiết lập VPC security group để kiểm soát quyền truy cập.

Thiết lập xác thực và giám sát

  • Chọn IAM authentication nếu muốn dùng IAM để xác thực.
  • Bật Enhanced monitoring nếu bạn muốn giám sát chi tiết hiệu suất database.

Tạo DB Cluster

  • Kiểm tra lại toàn bộ thiết lập.
  • Nhấn Create database để khởi tạo.
  • Chờ vài phút để AWS thiết lập và khởi chạy RDS cluster.

Kết nối Laravel với DB Cluster

Cấu hình .env cho Laravel

Mở file .env và cập nhật thông tin kết nối như sau:

.env
DB_CONNECTION=mysql
DB_HOST=<your-cluster-endpoint>
DB_PORT=3306
DB_DATABASE=<your-database-name>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>

💡 Mẹo:

<your-cluster-endpoint> là endpoint của cluster chứ không phải của một instance đơn lẻ. <your-username> & <your-password> là thông tin đã thiết lập ở cấu hình cơ sở dữ liệu

Chạy migrations

Sau khi cấu hình, chạy lệnh sau để kiểm tra kết nối và tạo bảng:

index.sh
php artisan migrate

Nếu không có lỗi, Laravel đã kết nối thành công với RDS Cluster.

Quản lý và bảo trì

  • Kiểm tra hiệu suất qua AWS CloudWatch.
  • Sử dụng Read Replicas để tăng hiệu suất đọc.
  • Bật Multi-AZ Deployment để đảm bảo độ sẵn sàng cao.
  • Cập nhật .env để Laravel tự động chuyển hướng truy vấn đọc sang read replicas nếu cần.

Kết luận

Amazon RDS giúp đơn giản hóa việc triển khai và quản lý cơ sở dữ liệu trên AWS. Việc sử dụng DB Clusters giúp hệ thống Laravel hoạt động ổn định, có khả năng mở rộng và phục hồi nhanh chóng khi gặp sự cố.


Cảm ơn tài liệu tham khảo từ 💓


Lưu ý: Tất cả các bài viết trên blog này được viết dựa trên kinh nghiệm cá nhân và quá trình tìm hiểu của mình. Mình hy vọng chúng có thể giúp ích cho bạn trong công việc và học tập, nhưng hãy xem đây như một nguồn tham khảo thay vì hướng dẫn tuyệt đối. Công nghệ luôn thay đổi, mỗi dự án có những đặc thù riêng, vì vậy bạn nên kiểm tra, thử nghiệm và điều chỉnh cho phù hợp với nhu cầu thực tế. Nếu có góp ý hay câu hỏi, đừng ngần ngại chia sẻ nhé!

Copyright © 2025 Vo Cao Ky

Cảm ơn Nuxt.js, ShadcnUI đã giúp mình build website này.