2010-03-20 31 views
16

Tôi muốn xuất bản một trang web trên các máy chủ của Amazon, rằng:Tôi có cần EC2, Cloudfront, RDS của Amazon không?

  1. Chạy CakePHP
  2. Sử dụng MySQL để lưu trữ dữ liệu
  3. Cho phép người dùng tải lên âm thanh thông qua đèn flash (hiện đang sử dụng một tổ chức Flash Media Server), và lắng nghe các tệp sau

Tôi có cần EC2 của Amazon cho trang web, RDS cho cơ sở dữ liệu MySQL và CloudFront cho FMS không? Tôi thực sự thích một hướng dẫn về dịch vụ nào tôi nên sử dụng.

Cảm ơn.

Trả lời

23

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í)
+0

Tuyệt vời, cảm ơn, rất hữu ích. – ash

+3

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

0

Bạn cần EC2 để khởi chạy phiên bản và tạo máy chủ LAMP của mình. RDS là tốt nếu bạn không cần phải quản lý db MySql mình, nhưng một yếu tố hạn chế của RDS là bạn không thể có nhân rộng DB.

Để lưu trữ liên tục, bạn có thể sử dụng EBS hoặc S3 cho tệp dữ liệu.

+0

EBS/S3 có hỗ trợ máy chủ/tệp flash media không? Tôi không hiểu lắm. – ash

0

Một điều không được đề cập trong bất kỳ câu trả lời nào trong số này là bảo mật có thể (hoặc có thể không) cần truy cập vào quyền truy cập tệp của bạn. Mạng đám mây rất phù hợp cho dữ liệu có thể truy cập công khai nhưng tôi chưa thấy mạng đám mây sẽ cung cấp mức truy cập tệp chi tiết trên cơ sở mỗi người dùng. Mặc dù bạn có thể làm xáo trộn url để truy cập tệp để không dễ dàng đoán tuần tự ID tệp âm thanh, điều đó có thể không đủ nếu mọi người đang giữ âm thanh riêng tư. Không nói không làm điều đó, chỉ cần đưa ra quyết định cẩn thận.

+0

Cloudfront và S3 đều hỗ trợ các tài sản "riêng tư", nghĩa là các tệp chỉ có thể được truy cập bằng cách sử dụng url được đánh dấu thời gian và được ký. Các tên tập tin chính họ thậm chí không phải là ngẫu nhiên. –

Các vấn đề liên quan