0
0
Lập trình
TT

Triển Khai Ứng Dụng EpicBook Trên AWS Với Kiến Trúc Hai Tầng

Đăng vào 6 tháng trước

• 3 phút đọc

Giới Thiệu

Trong bài viết này, chúng ta sẽ tìm hiểu cách triển khai ứng dụng EpicBook trên AWS bằng cách sử dụng kiến trúc hai tầng đơn giản. Việc triển khai này không chỉ giúp bạn nắm vững các khái niệm cơ bản về cloud mà còn cung cấp cho bạn những kinh nghiệm quý giá trong quá trình làm việc với AWS, Node.js và MySQL.

Kiến Trúc

Kiến trúc của hệ thống chúng ta sẽ bao gồm:

Copy
Ứng dụng Node.js chạy trên Ubuntu EC2

Cơ sở dữ liệu MySQL trên Amazon RDS

Nginx làm reverse proxy + PM2 cho tính năng duy trì

Sơ đồ Kiến Trúc

Sơ đồ cấu trúc

Các Bước Triển Khai

Dưới đây là các bước mà tôi đã thực hiện để triển khai ứng dụng EpicBook:

  1. Khởi chạy EC2 và RDS: Tôi đã tạo một Amazon EC2 instance và một Amazon RDS instance, sau đó cấu hình nhóm bảo mật (security group) để chỉ cho phép HTTP, SSH, và MySQL.
  2. Cài đặt phần mềm cần thiết: Tôi đã cài đặt Node.js, npm, PM2 và Nginx trên máy chủ EC2 của mình. Sau đó, tôi đã clone repository của ứng dụng và cấu hình tệp .env.
  3. Tạo cơ sở dữ liệu: Tôi đã tạo cơ sở dữ liệu epicbook trong RDS, cấp quyền truy cập cho người dùng và thực hiện các migrations cần thiết.
  4. Cấu hình Nginx: Tôi đã thay thế cấu hình mặc định của Nginx để chuyển hướng từ cổng 80 sang 8080.

Những Điều Cần Lưu Ý

Trong quá trình triển khai, tôi đã gặp phải một số vấn đề sau:

  • Quản lý mật khẩu: Mật khẩu trong cơ sở dữ liệu rất quan trọng. Một ký tự # trong mật khẩu của tôi đã gây ra lỗi phân tích cú pháp cho đến khi tôi đặt nó trong dấu nháy.
  • Lỗi MySQL: Tôi đã nhận được lỗi ERROR 1046 (3D000). Điều này xảy ra vì tôi phải tạo cơ sở dữ liệu trước khi cấp quyền cho người dùng.

Thực Hành Tốt Nhất

Khi triển khai ứng dụng trên AWS, hãy ghi nhớ những thực hành tốt nhất sau:

  • Sử dụng IAM Roles: Để quản lý quyền truy cập cho EC2 và RDS một cách an toàn, hãy sử dụng IAM Roles thay vì lưu trữ khóa truy cập trong mã nguồn.
  • Sao lưu dữ liệu thường xuyên: Đảm bảo rằng bạn đã cấu hình sao lưu tự động cho RDS để tránh mất dữ liệu.
  • Giám sát hiệu suất: Sử dụng CloudWatch để theo dõi hiệu suất ứng dụng và cơ sở dữ liệu.

Cách Khắc Phục Vấn Đề

Nếu bạn gặp phải bất kỳ vấn đề nào trong quá trình triển khai, hãy thử các bước khắc phục sau:

  • Kiểm tra cấu hình nhóm bảo mật: Đảm bảo rằng các cổng cần thiết đã được mở.
  • Xem nhật ký lỗi Nginx: Nhật ký lỗi sẽ giúp bạn xác định nguyên nhân gây ra sự cố.
  • Sử dụng SSH để kiểm tra ứng dụng: Đăng nhập vào EC2 và kiểm tra trạng thái ứng dụng.

Kết Luận

Việc triển khai ứng dụng EpicBook trên AWS không chỉ giúp tôi hiểu sâu hơn về cách hoạt động của cloud mà còn giúp tôi nhận ra rằng những lỗi nhỏ trong cấu hình có thể ảnh hưởng lớn đến quá trình triển khai. Hãy chắc chắn rằng bạn kiểm tra kỹ lưỡng từng bước và học hỏi từ những kinh nghiệm thực tế. Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ để thảo luận thêm!

Câu Hỏi Thường Gặp (FAQ)

1. Tôi cần những gì để bắt đầu với AWS?

Bạn chỉ cần một tài khoản AWS và một số kiến thức cơ bản về các dịch vụ của AWS như EC2 và RDS.

2. Có cách nào để tự động hóa quá trình triển khai không?

Có, bạn có thể sử dụng AWS CloudFormation hoặc Terraform để tự động hóa quá trình triển khai.

3. Làm thế nào để bảo mật ứng dụng trên AWS?

Sử dụng IAM Roles, bảo mật nhóm bảo mật, và thường xuyên cập nhật các bản vá bảo mật cho hệ thống của bạn.

Hy vọng bài viết này đã cung cấp cho bạn những thông tin hữu ích trong việc triển khai ứng dụng trên AWS. Hãy bắt đầu ngay hôm nay để nâng cao kỹ năng phát triển của bạn!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào