Trước hết, bạn cần dịch vụ EC2 để có máy ảo, nơi bạn có thể cài đặt Apache, PHP và Ứng dụng web của bạn.
Sau đó, bạn cũng cần một máy chủ cơ sở dữ liệu và kho dữ liệu cho các tệp phương tiện. Cách được đề xuất là chính xác những gì bạn đề xuất: RDS cho MySQL và CloudFront là kho lưu trữ tệp.
Ban đầu không có dịch vụ nào ở trên (RDS, CloudFront và thậm chí EBS) khả dụng. Các nhà phát triển không có cách nào để sử dụng cơ sở dữ liệu MySQL, bởi vì ngay cả khi nó được cài đặt trong một cá thể EC2, cá thể không được bảo đảm ở lại và chạy và nếu cá thể bị mất, dữ liệu cũng bị mất. Vì lý do này, EBS đã được giới thiệu. Nó tạo ra một lưu trữ gắn kết với sự kiên trì được bảo đảm mà bạn có thể truy cập từ cá thể EC2. Về mặt lý thuyết bạn có thể cài đặt MySQL ở đó và sử dụng nó để lưu trữ các tập tin flash. Nếu bạn chỉ muốn phục vụ các tập tin thông qua giao thức HTTP, không có vấn đề gì khi sử dụng EBS. Tuy nhiên
CloudFront có một số ưu điểm:
- Người dùng được tự động chuyển đến vị trí cạnh gần nhất để giao tiếp hiệu năng cao nội dung của bạn.
- Bạn cũng có thể sử dụng nó để truyền trực tuyến nội dung thông qua giao thức RTMP.
- Bạn không phải lo lắng về kích thước của bộ nhớ. Với EBS, bạn tạo một lưu trữ với kích thước cụ thể. Điều này có thể là một vấn đề nếu sau này bạn phát hiện ra rằng bạn cần thêm dung lượng lưu trữ. Với CloudFront các tập tin được cài đặt trong S3 và bạn không cần phải lo lắng về kích thước của chúng.
- Bạn không lãng phí dung lượng máy chủ web. Nếu bạn sử dụng EBS, các tệp sẽ được máy chủ phục vụ trong EC2.
Bạn cũng có thể sử dụng S3, nhưng bạn sẽ không thể sử dụng giao thức RTMP và bạn sẽ cần tạo liên kết thủ công cho tệp của mình. Ngoài ra, nó sẽ không thể sử dụng tên miền của bạn cho các tập tin.
RDS cũng có một số ưu điểm so với cài đặt MySQL trong EC2, EBS:
- cơ sở dữ liệu tự động sao lưu
- Bạn có thể giám sát cơ sở dữ liệu của bạn với Amazon CloudWatch (dịch vụ miễn phí)
Tuyệt vời, cảm ơn, rất hữu ích. – ash
Bạn có thể CNAME một tên miền tại S3 giống như bạn có thể với CloudFront. – ceejayoz