我现在是一名Web开发人员,现在对sysadmin的东西感兴趣。我之前在Linode.com上设置了一个服务器(Ubuntu 10.04 LTS,nginx,Ruby on Rails,PostgreSQL),但是有一些问题。一切都在一台机器上,所以每当Linode出现问题或我收到大量流量时,我的网站就会崩溃。
现在我有兴趣建立个人博客,并在亚马逊AWS上部署它。这是一个很好的机会让我学会如何使用多个服务器进行负载平衡,自动扩展,故障转移等。唯一的问题是我不太确定从哪里开始。
我已经阅读了亚马逊的一系列文档和其他地方的博客文章,但作为一个系统管理员新手,我有几个问题:
感谢您提供的任何答案!
答案 0 :(得分:3)
我已经建立了公平的AWS部署份额;这是基础知识:
如果您有经常访问的数据,您可能知道,最好使用数据库。这是AWS托管的一个较为棘手的部分。您的选择大致按复杂性/成本的顺序递增:
亚马逊几乎列举了这些选项,以及一些不适用于http://aws.amazon.com/running_databases/
的选项不经常更改的数据应存储在S3中;有很多红宝石可以轻松访问它。如果您的网站在服务器端完全是静态的,您甚至可以run your entire site off S3
Amazon“Elastic Load Balancing”在典型的Web负载平衡要求下非常有效。除非您有异国情调的要求,否则通常是一个明智的选择。但是,它不会为您扩展群集。对于自动启动和关闭实例,您应该查看亚马逊自己的auto-scaling solution
请务必记下您所在的“可用区域”(也称为数据中心)。在某些情况下,您无法跨可用区域共享AWS资源。
有很多教程,但在我的简短搜索中,没有一个我发现真的很棒或最新。但是,请查看https://github.com/wr0ngway/rubber,这是一个用于将应用程序部署到EC2的ruby工具。它将帮助你完成大部分工作。