如何为我的新课程销售网站设计AWS架构?

问题描述 投票:0回答:1

我正在设计一个 AWS 架构,用于托管一个销售在线课程和商品的网站。为此,我计划使用以下架构设计:

  • 1 个专有网络
    • 1 个应用程序(RDS 数据库 + PHP Web 应用程序)
      • Application下可以有1个EC2实例,1个RDS数据库
      • S3桶
        • 存储所有静态文件、图像、样式表、javascript 文件等。
        • 上传所有动态文件、图片等(由用户和网站管理员上传)
        • 将创建 CDN 域(例如 cdn.mydomain.com)来提供 S3 存储桶中的所有文件。
    • 1 CloudFront(用于内容托管和交付)
    • AWS Router 53(用于域和子域)

根据我的知识和理解,CloudFront 应该用于从 S3 存储桶传送内容,这就是我想到这一点的原因。

问题#1:我应该创建一个 VPC 并将所有 AWS 服务/资源(如 S3、应用程序、RDS 数据库)封装在其下吗?

问题 #2:是否应该使用 CloudFront 来实现此目的?

问题#3:有没有更好的方法来实现这一目标?

注意请注意,我正在尝试尽可能利用免费套餐下的资源以避免成本,因为这是网站的初始阶段,到目前为止我将通过此销售我的课程。而且,每个课程/讲座都会有视频,每个视频的大小可以为 2GB 或更大,一门课程可以有 40-50 个视频,学生只有在购买后才能访问。 另外,我很想知道是否应该添加我错过的任何内容。

很高兴听到专家对此的意见/建议。

amazon-web-services cloud amazon-elastic-beanstalk amazon-cloudfront
1个回答
0
投票

亚马逊CloudFront

您提到您希望在 AWS 免费套餐下运营。然而,从 Amazon S3 或 Amazon CloudFront 提供视频内容可能会产生相当大的成本。

Amazon CloudFront 免费套餐提供 1TB 的数据传输费用。根据您的用户所在位置,超过 1TB 的 CloudFront 成本将为

$0.085 per GB
用于数据传输。因此,除了免费套餐之外,每个 2GB 视频仅数据传输费用就将花费您约 18c。如果他们观看 50 个视频,这将是 9 美元。我之所以提到这一点,是因为提供视频的经济效益可能超过您节省的任何其他成本。

CloudFront 有助于更快地向世界各地的用户交付内容。由于您希望向付费用户提供对私有内容的访问权限,因此您可以使用签名 URL允许用户通过 CloudFront 访问私有视频。您可以将 CloudFront 放在 EC2 实例和 S3 存储桶的“前面”(使用不同的子路径)。

专有网络

如果您使用的 Amazon EC2 实例需要与 Amazon RDS 数据库进行通信,那么您肯定希望为这些资源创建一个 VPC。通常,EC2 实例位于“公共子网”中,以便可以从 Internet 访问,而数据库将位于“私有子网”中,以便可以从 EC2 实例访问它,但无法从 Internet 访问。 请注意,Amazon S3 进入 VPC“内部”。它是一项可通过互联网或 Amazon CloudFront 直接访问的 Web 服务。

© www.soinside.com 2019 - 2024. All rights reserved.