在EC2上部署

时间:2009-06-26 17:43:21

标签: amazon-s3 amazon-ec2 amazon-web-services

此问题适用于实际使用过Amazon EC2的任何人。我正在研究在那里部署服务器需要什么。

看起来我可以从VirtualBox开始,设置我的服务器,然后使用提供的ec2-tools导出图像。

如果我真的想要对正在运行的服务器进行配置更改,它会变得棘手。

我有一些PHP代码,我需要能够部署(并重新部署)到系统,所以我认为EBS将是一个很好的选择。

我需要存储大量数据,但事实上延迟不是问题所在,所以我认为像s3fs这样的东西可能有用。

所以我的问题是......你会做什么?你的配置是什么样的?也许你没有看到特别的挑战?

8 个答案:

答案 0 :(得分:10)

我们在AWS环境中部署了一个大型商业应用程序。

一旦服务器运行,有三种基本方法可以控制您的更改,我们在不同情况下使用所有这些方法:

  1. 保持源代码管理中的更改。拥有一个原始图像的脚本,可以下载最新的和最好的。您可以根据需要下载PHP代码,Apache设置。如果您需要从AMI(亚马逊机器映像)重新启动实例,只需运行您的脚本以获取最新的代码和配置,您就可以了。
  2. 使用EBS(弹性块存储)。 EBS就像一个可以附加到您的实例的大型外部硬盘驱动器。即使您的实例消失,EBS仍然幸免于难。如果您以后需要两个(或更多)相同的实例,则可以让每个实例访问您在EBS中保存的内容。请参阅https://stackoverflow.com/a/3630707/141172
  3. 每次更改后刻录一个新的AMI。有一个工具可以从正在运行的实例创建新的AMI。如果EBS就像拥有一个外置硬盘,那么创建一个新的AMI就像拥有一个DVD-R。您可以将机器的当前状态保存到它。下次必须启动新实例时,将其基于新的AMI。很高兴。

答案 1 :(得分:7)

我建议将您的PHP代码存储在SVN等存储库中,并编写一个脚本来检查存储库中的最新代码,并在您想要升级时重新部署它。您也可以在实例启动时运行此脚本,以便在启动新实例时获取最新代码;节省了每次都必须创建一个新的AMI。

我没有看到EC2的主要挑战是实例启动时间 - 尤其是Windows。 Linux实例需要5到10分钟才能启动,但我看到Windows实例需要40分钟;如果您想要在负载增加时进行动态负载平衡并启动新实例,这可能是一个问题。

答案 2 :(得分:3)

我建议最好的选择就是“尝试一下”。运行一个小实例的费用不高,数据传输速率非常低 - 我已经移动了几GB,我的数据费用在我的第一个月仍然不到一美元(!)。您可能最终会花费大部分时间来支付系统时间,而不是我怀疑的数据。

我还没有部署但是已经运行了一个实例,将它从Ubuntu 8.04迁移到8.10,尝试了不同的端口安全设置,看到了未知的人尝试了哪种访问尝试(主要是寻找phpadmin),运行一些测试反对它,并通常尝试配置和重新启动我正在部署的组件。这是我最终部署的一个很好的前奏。我不会从一个大型数据库开始,所以最初会坚持使用标准的EC2实例空间。

我听到的唯一消极情绪是,一些垃圾邮件制造者已经使一些IP范围受到垃圾邮件阻止 - 但尚未证实这一点。

答案 3 :(得分:2)

您的虚拟盒方法我建议您在熟悉EC2基础架构后再进行操作。我建议您去EC2,开设一个帐户并按照亚马逊的EC2入门指南进行操作。本指南将为您提供有关所有内容(EBS,IP,CONNECTIONS和其他)的足够概述,以帮助您入门。我们目前正在使用EC2进行生产,我们开始的方式就像我在这里解释一样。

我希望你很快成为云专家。

答案 4 :(得分:2)

根据timbo的担忧,我能够获得一个IP,到目前为止还没有合法地出现在任何垃圾邮件列表中。您将遇到一些小问题,因为许多黑名单在技术上都是白名单,并且会在其列表中包含每个IP,直到另行通知邮件服务器正在该IP上运行。它很容易删除,大多数都有自动删除请求表单,并且每个人都没有非常合作将我从他们的列表中删除。只是保持专业,询问他们是否可以给出阻止的时间和理由以及您应该采取哪些步骤来删除您的IP。我通过电子邮件发送的所有服务从未要求我跳过任何环节,在两到三个工作日内他们都告诉我我的IP已被删除。

但是,如果您计划运行邮件服务器,我建议您立即预订IP。他们每小时1美分他们不受一个实例的约束,因此每月约7美元。当我计划很快启动另一个实例时,我继续保留了一个额外的实例。

答案 5 :(得分:1)

我已经为EC2 Win2k3实例部署了一些简单的东西。这是我的建议:

查找教程。注册该服务。只需花一个下午设置您的第一台服务器。虽然会有一些障碍需要克服,但它很容易实现。这不是太难。

当我在玩EC2时,我觉得我花了2.00美元设置服务器并玩了一段时间。

您的某些数据将是持久性的,但您也可以将S3连接到EC2。

只是去吧!

答案 6 :(得分:1)

关于邮件服务器黑名单的问题,您还可以使用亚马逊的简单电子邮件服务(SES),这样就无需在EC2实例上运行邮件服务器。

答案 7 :(得分:0)

我也遇到了这个问题,但在他们的论坛中发布了一条说明 - https://forums.aws.amazon.com/thread.jspa?threadID=80158&tstart=0