问题 1

问题 1

我正在开始为我的公司过渡到 Amazon Web Services (AWS),并且正在寻找一些建议、教程和/或任何其他有助于新设置的东西。

我们托管了许多(约 600 个)房地产网站。我们有许多拥有网站的代理商,但我们也有一些个人建筑网站,以及其他一些杂项网站。我们之前通过 Codero 在专用服务器上托管,但我们遇到了很多问题,因此我们正在转向我们希望更简单、更便宜的东西(进入:AWS)。

我们的新 RETS 供稿将通过 RetsCloud(我们已经设置好)进行,并且我们将其连接到 AWS DynamoDB 的一个实例。

我开始陷入困境的地方是“应该”设置其余所有东西的地方。看来我想要做的是设置 EC2 来运行 apache(或 nginx)和 PHP,然后设置 CloudFront 来提供分发,S3 来提供图片(通过 RETS 有很多照片——这已经设置好了)。呼。

我想,在我看来,这个设置没必要那么复杂,那么有没有更简单的方法可以做到这一点?或者,如果我选择使用 AWS,我只能以这种方式进行设置。

我们在此期间使用了一些共享的网络托管(name.com 和 bluehost.com),但似乎只有少数几个网站被切断(I/O 限制)(目前一个帐户上有大约 10 个网站,并且它们通常全天“运行缓慢”(根据我老板的说法)。

任何建议都非常感谢。另外,如果我以“错误”的方式处理这个问题,或者有更好的方法(或者你只是想打我头),请告诉我!

答案1

问题 1

那么有没有更简单的方法可以做到这一点?使用 AWS 构建网站的方法有很多。托管静态网站的最简单方法是使用 S3。

如果您需要 Web 服务器以便运行服务器端代码(例如,您需要运行 PHP),则需要使用 EC2。AWS 目前没有“PHP 即服务”。最简单的设置是在您选择的操作系统中启动一个 EC2 实例,然后从那里托管网站。这不是最优解决方案,也不应该成为您生产设置的最终目标。

第二季度

EC2 对于此目的来说是否过度了?(即,是否有“更好”且更省时的方法来做到这一点?)。

如果您想运行 PHP,EC2 并不算过分。如果有“PHP 即服务”,那么耗时会更少,但目前 AWS 尚不提供该服务。

第三季度

后续问题是:如果 EC2 是一种不错的方法,那么通过 AWS 进行操作是否是“正确”的方法?(即,除了 Amazon 指南之外,我还能从哪里开始?)–

如果您有兴趣构建一个可以扩展并自动处理大量流量的网站,那么可以遵循一些最佳实践。下面是一个示例,说明我如何设置堆栈来处理此类要求。

  • EC2 自动配置为 Puppet 之类的程序以充当 Web 服务器(nginx+php)
  • EC2 位于自动缩放组中(启动时 Puppet 配置机器,并获取最新代码)
  • ELB 处理 EC2 的负载平衡
  • 满足关系数据库需求的 RDS
  • 上传内容发送到 S3 bucket,以便所有 EC2 都可以访问它们
  • CloudFront 用于所有静态文件(js、css、imgs)

延长

您可以更进一步,使用 Varnish、Memcached/elasticache 设置、CloudFormation 也可以。

降低成本

您可以通过使用预留实例和/或查看部分基础设施的现货实例(即拥有一组核心按需实例并用现货实例组进行补充)来降低成本。

更多信息

以下是一些起点:

难道没有捷径吗?

有一些服务可以帮你完成一些繁重的工作。这类工作仍然使用我之前提到的很多东西,AWS 只是试图通过他们的控制台帮你自动完成这些工作。

elasticbeanstalk

http://aws.amazon.com/elasticbeanstalk/

AWS Elastic Beanstalk 是一种更简单的方法,可让您在 AWS 云中快速部署和管理应用程序。您只需上传应用程序,Elastic Beanstalk 就会自动处理容量配置、负载平衡、自动扩展和应用程序运行状况监控的部署细节。

OpsWorks

http://aws.amazon.com/opsworks/

AWS OpsWorks 是一种 DevOps 解决方案,用于管理 AWS 云上任何规模或复杂程度的应用程序。AWS OpsWorks 具有管理完整应用程序生命周期的集成体验,包括资源配置、配置管理、应用程序部署、软件更新、监控和访问控制。

答案2

您的设置对我来说看起来不错,并不太复杂。EC2 并不过分,这是在 AWS 中拥有 Web 服务器的方式。为了最大限度地降低成本,您需要研究和试验预留、按需、竞价实例。

相关内容