假设我有一个简单的需求,一个 Web 服务器和一个数据库服务器。使用 EC2 能有多简单?
已经有我需要的机器类型的可用图像,所以我真的需要担心关闭我的服务器映像以便我可以重新使用它们吗,或者一直使用预先构建的图像是否足够安全?
哪些问题妨碍了简单且易于管理的部署?
答案1
对于您描述的设置,RightScale 有点过头了。如果您计划根据需求扩展您的网络能力,我会推荐这种管理。但对于连接到数据库的网络,我建议保持简单的方法。
只需选择一个好的 AMI(有很多),可能是预装了 apache 的 CENTOS 系列。然后自己创建一些脚本,以适应您的数据库和应用程序要求。
如果你现在在系统管理员方面遵循良好的标准,那么迁移到云应该不会很麻烦。这里有一些不错的教程博客也一样。希望这能有所帮助。
答案2
除非您需要自行扩展/修复/执行 CDN 类型的东西,否则 EC2 绝对是大材小用。与不太耐用的替代方案相比,它的成本也很高。
我的建议是从 Slicehost 或 Linode 等公司获取虚拟服务器。然后在其上安装 apache 和 mysql。
关于如何设置灯服务器,有 1100 万个操作指南。
当然,除非您确实需要扩展复制服务器来处理数据的能力,但从您的帖子中并不明显。
编辑错别字
答案3
对于您描述的设置,最好的选择是使用 rightscale。他们提供了很多脚本,可以根据您的需要定制图像、动态 DNS 更新、备份脚本等...
您需要注意的主要问题是,连接到映像的本地磁盘不具有弹性。如果它停止了,数据就会消失,因此对于数据库(和静态网站数据),您需要将 EBS 添加到循环中,或者在启动时从 S3 复制数据...
AWS 部署通常涉及编写在启动时在映像上运行的脚本。我认为 AWS 应该提供一个很好的框架来附加 EBS、从中安装 FS 等...目前我看到的实现这一点的(几乎)唯一方法是将您的私钥存储在您的映像上,这真的远的无法安然无恙。
puppet 和 chef 可能会有所帮助,但是这对于部署一个简单的 LAMP 应用程序来说非常复杂......
答案4
从之前的回答中,我了解到有些人建议使用云管理平台,而另一些人则不同意。我在标量,一款与 RightScale 竞争的开源云管理软件,我想分享我的经验。
我确实相信云管理软件将帮助您设置基础设施。RightScale 提供 ServerTemplates,而在 Scalr 我们处理事情的方式略有不同。基本上,我们提供“角色”,即具有特定行为的 AMI。例如,我们提供 MySQL+Centos、MongoDB+ubuntu 或任何您想要的角色。例如,如果您想启动 LAMP 服务器,也有一个角色可以做到这一点。无论如何,无论您使用哪种云管理工具,它都可以轻松解决 AMI 问题。
除此之外,云管理软件还提供自动化工具,如自动备份、自动扩展、服务器配置软件支持(如 Chef 或 Puppet)。如果你想更准确地了解云管理是什么,Quora 上有一个非常有趣的问题与此有关: http://www.quora.com/Cloud-Management/What-is-Cloud-Management-and-what-areas-does-it-cover
如果你买不起云管理软件,RightScale 确实提供免费帐户,而 Scalr 是在 Apache 2 许可下发布的。你只需自行下载并安装即可。