过去一周,我一直在玩橡胶宝石,似乎无法让它发挥作用。我已经决定手动设置我的EC2实例会更容易。问题是我不知道怎么做。谷歌也没有为新手提供太多帮助。有什么建议?真的很感激。
答案 0 :(得分:28)
不确定
创建AWS账户。
决定你想进入哪个地区。很多事情都要考虑到这个决定,但是后来又担心它,只做一个像俄勒冈州或东方那样便宜的地方。
确保您位于左上角的正确区域。
然后点击启动服务器。
此时你必须选择一个AMI。 AMI基本上是您在启动服务器时要使用的模板。亚马逊给你一些,但社区部分有一吨。我是CentOS的人,所以我经常搜索CentOS AMI。 RightScale制作了一些好的,所以你可以搜索其中的一个。确保根据所需服务器的大小选择i386或x64。有两种不同类型的AMI,EBS支持和S3支持。你真的应该坚持使用EBS,因为你有更多的自由,但是有理由同时使用两者都超出了这个答案的范围。寻找EBS,你可能会很好。 EBS是块存储。基本上它是可附加的硬盘驱动器为您的实例。由于云中的所有内容都是“虚拟的”,并且在物理意义上没有任何想法,因此您也必须这样思考。因此,如果您想要更多存储空间,可以稍后附加一些EBS卷。但有一件事,当你关闭它时,S3支持的实例再见。如果您设置了终止标记删除标签,那么EBS也将如此,但是对于EBS,您可以“停止”它们以及“终止”它们。
选择大小和可用区域。如果您要设置某种冗余,该区域很重要。就像我有一个MySQL的主从设置一样,我会将主设备放在一个区域,而奴隶放在另一个区域,以防亚马逊遇到与一个区域隔离的麻烦。但为了这个一般目的,不要担心。
高级实例选项。把这一切都留下来很可能它很好。你可以在这里设置一些小东西,比如终止保护。
命名。不管。
制作SSH密钥。 Striaght向前。登录Amazon服务器的唯一方法是使用您分配的SSH密钥。没有用户名或密码。
安全组。这是你可以绊倒的地方,好在这里和#5。但是,您应该从创建一般安全组调用foo或其他任何内容开始,然后添加要在其上打开的端口。因此,如果您想要进入它,我假设您这样做,然后打开22.如果您想将它用于Web,则打开80和8080或其他任何内容。不过要小心。我通常稍后将SSH端口更改为随机的。而不是把0.0.0.0/0放在上面,我把我的个人IP。但是,如果你不在乎那么多,只需要把0.0.0.0/0放到这个世界就可以打开那个坏男孩。
然后它会启动。只要这一切都按照预期进行。
现在您可以登录了。只是ssh -i thekey.pem thenwholehostname
希望有所帮助。
您可以使用这整个免费套餐。 http://aws.amazon.com/free/
检查出来。我会在玩它时使用它。
我从记忆中完成了所有这些,所以我可能已经离开了。 ;)
答案 1 :(得分:1)
云管理软件将提供一些预配置的AMI(在Scalr,我们称之为角色)并提供应用程序部署框架(我们写了一篇关于此http://scalr.net/blog/announcements/deployments/的博文)。因此,您将更快地执行步骤2-10。
如果你的预算紧张,RightScale和enStratus有一个免费帐户,而Scalr是开源的,可以在Apache 2许可下使用。
答案 2 :(得分:0)
您还应该查看Ubuntu Juju部署选项。
配置Amazon Web Services
https://juju.ubuntu.com/docs/getting-started.html
使用Juju部署您的Rails应用程序
https://juju.ubuntu.com/docs/howto-rails.html
Ruby on Rails魅力的基本用法
使用您的应用程序名称及其git位置
创建YAML配置文件sample-app.yaml
sample-app:
repo: https://github.com/pavelpachkovskij/sample-rails
部署应用程序和代理:
juju deploy --config sample-app.yaml rails myapp
juju deploy haproxy
juju add-relation haproxy myapp
部署并关联数据库:
juju deploy postgresql
juju add-relation postgresql:db myapp
现在您可以运行迁移:
juju ssh myapp/0 run rake db:migrate
Seed database
juju ssh myapp/0 run rake db:seed
最后公开代理:
juju expose haproxy
Find the instance's public URL from
juju status haproxy
通过添加和删除单位水平缩放:
juju add-unit myapp
juju remove-unit myapp
或者使用juju add-unit -n10 myapp进行更大的节点。