很抱歉,如果有明显的答案,但我目前正在建立一家新公司,我将在那里托管客户网站。我不想使用外部托管公司,而是希望通过EC2完全控制这一点。
可以在单个实例上托管多个网站,还是每个新网站都需要它自己的实例?
非常感谢, →
答案 0 :(得分:2)
可以在一个实例上托管多个网站,因为该实例足够大,可以处理来自所有不同网站的所有流量。
以下是使用多个EC2实例的两个主要原因:
加载:单个实例无法处理负载。在这种情况下,您可能希望启动多个服务器并将它们放在负载平衡器后面,以便可以跨负载共享负载。您可能还希望将每个站点拆分为单独的EC2服务器群集,以进一步分配负载。
容错:如果你没有设计你的系统,期望EC2实例能够并且会在某个时刻消失,那么你最终会有一个非常不愉快的惊喜。您的网站在多个服务器上运行,分布在多个可用区域内,如果服务器甚至整个AZ发生故障,您的网站都将保持运行状态。
答案 1 :(得分:2)
您没有说每个客户端是否需要相同的代码库,或者每个客户端是否有不同的站点,但模块化也很重要。
如果一个客户需要不同的AMI,会发生什么。假设一个客户端需要一些特殊的服务器包。每次有新客户要求时,您都不希望不断更新每个人的应用程序。
因此,多个实例将允许您以不同的时间和速率扩展每个客户,并允许您开发每个解决方案而不会相互影响。
定价也会更便宜,因为您可以使用自动缩放功能在任何给定时间使用CPU非常高效,相比之下,您需要估计未来的使用情况。
简而言之,云的最大价值在于弹性和模块化,因此请使用对您有利的方式。
答案 2 :(得分:1)
除了Mark B在关于负载和容错的答案中所说的内容之外,拥有多个实例允许您将它们放在世界的不同区域。如果您有关于数据存储位置合法性的要求,或者更多关于数据和用户应用程序之间的延迟的要求,这将非常有用。与欧盟地区存储的数据相比,存储在欧盟地区的数据对欧盟用户的延迟要小得多。