Articles of amazon ec2

运行Auto Scaling和分布式Memcache的多个AWS EC2

我计划在Amazon EC2上的一系列Linux Web服务器上使用分布式Memcache。 这些EC2目前运行自动缩放,因此会随着负载而增加和减less。 我已经使用这个post来指导初始设置。 最佳做法与memcache / php – 多个memcache节点 还有一个链接是在回复中提到的。 http://techgurulive.com/2009/07/22/a-brief-to-memcached-hash-types/ 我有点不确定Web服务器本地AWS IP如何在Memcache客户端代码中的节点列表中更新,以及服务器增加和减less的时间。 我目前在客户端上使用PHP PECL – Memcache。 有没有人知道用AWS环境来pipe理这个最好的实现? 在此先感谢您的任何build议。 戴夫

Amazon EC2实例上的SQL Express 2008 R2:大量可用内存,性能不佳

旧的SQL Express 2005运行在一台低端的单Xeon CPU戴尔服务器,RAID 5 7200磁盘,2 GB RAM(SBS 2003)上。 我还没有在旧的物理服务器上做任何基线测量,但是Web应用程序被半个人使用(可能是两个同时),所以我想“Amazon EC2实例有多糟糕?”。 这是非常可怕的:在一个屏幕上加载时间相差8秒。 首先,我不是一个SQL大师,但这是我所尝试的: 有一个小实例,现在正在运行运行IIS 7.5和SQL Express 2008 R2的c1.medium(High Cpu Medium)Windows 2008 32位R2 EBS支持的实例。 没有明显的改善。 将页面文件从固定256更改为自动。 从磁盘pipe理中设置带有两个1 GB EBS卷的条带化镜像。 移动数据库和事务日志,在引导EBS卷上留下一切。 没有明显的变化。 看着内存,〜1000 MB的物理内存(共1.7 GB)。 更改SQL实例使用至less1024内存; 重新启动服务器,内存使用没有改变。 SQL仍然只使用〜28MB的RAM(!)。 所以我在想:这个数据库是微小的(28MB),为什么不是所有的东西都caching在RAM中? 这当然会加快性能。 事务日志是241 MB。 看起来比较大 – 有没有这个承诺? 这是性能下降的原因吗? 我记得在我的旅行中某处使用了恢复模型和日志大小,但是并不积极。 另一件事:旧的服务器运行SQL Express 2005.不知道这是否有任何影响,但我试着将兼容级别从SQL 2000更改为2008年,但没有任何效果。 无论如何,我还能在这里尝试吗? 看起来很荒唐,把更多的虚拟硬件扔在这个东西上。 我知道EBS卷上的I / O将会非常粗糙,但是其他人确实可以在价格合理的情况下成功运行小型.NET / […]

scp到AWS EC2 – 错误 – “请以用户”ubuntu“login,而不是用户”root“。

我试图scp文件到/ var / www,因为我在玩apache。 要移动文件我做scp -i <ec2-shh-key> localfile root@<ec2-instance-ip>:/var/www/fileremote 。 但是这给了我一个错误: Please login as the user "ubuntu" rather than the user "root". 我怎么解决这个问题? 编辑:我已经发现这个超级用户的问题,首先scp'ing文件到一个非sudo目录,然后通过SSH传递一个sudo mv命令来移动该文件。 有没有办法做到这一步,只是一个步骤?

在EC2上使用SSL的Dovecot / Postfix

我一直在通过一个教程运行: http : //www.cerebellumstrategies.com/amazon-linux-postfix-dovecot/和一切工作通过整个教程直到检查身份validation。 在实例中,我可以运行: [ec2-user@domU-… ~]$ openssl s_client -starttls smtp -connect localhost:25 CONNECTED(00000003) didn't found starttls in server response, try anyway… 140326462789448:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:699: — no peer certificate available — No client certificate CA names sent — SSL handshake has read 238 bytes and written 148 bytes — New, (NONE), Cipher is (NONE) Secure […]

EC2重启后无法通过ssh访问

我通过SSH连接我的EC2实例,添加新的EBS卷后,通过'sudo shutdown -r now'重新启动机器,然后尝试使用follwing命令访问: ssh -v -i primary_key.pem [email protected] 这是重新调整如下: debug1: Reading configuration data /Users/caveman/.ssh/config debug1: Reading configuration data /etc/ssh_config debug1: Applying options for * debug1: Connecting to ec2-23-22-245-160.compute-1.amazonaws.com [23.22.245.160] port 22. debug1: Connection established. debug1: identity file primary_key.pem type -1 debug1: identity file primary_key.pem-cert type -1 debug1: Remote protocol version 2.0, remote software version […]

使用NFS进行可扩展的PHP / MySQL Web应用程序

情况如下: 我有一个接受用户上传(PHP文件)的PHP / MySQL Web应用程序。 从这些pdf文件的页面中,预览图像即时生成并呈现给networking应用程序的用户。 一些pdf可能会占用很大的空间,大多数将会在50 MB以下,但是一些极端的情况可能会大到几百MB。 有一个等待大的PDF文件的预览图像是可以接受的,但不超过一分钟。 现在一切都在一台服务器上运行,但不久之后,应用程序将在存储和处理能力上达到服务器的极限。 我的想法来解决这个问题: 为了处理这种情况,我有了一个或多个pdf处理服务器和一个或多个文件存储服务器的想法。 这两种types的服务器安装到使用NFS运行实际应用程序的服务器上。 应用程序可以使用GearMan将PDF处理任务委托给这些处理服务器。 处理服务器可以挂载存储服务器并读取存储在那里的文件,对其进行处理并将其输出写入该服务器。 我所说的服务器将是亚马逊ec2实例。 Web应用程序返回到存储服务器上生成的PDF预览图像的链接,然后可以在前端使用该预览图像向用户显示图像。 我的问题: 我对使用多台服务器的应用程序没有任何经验,这个想法是否可行,还是有更好的方法来做到这一点? 对于这种情况,NFS安装是否快速可靠?

启动EC2实例并将“无偏好”作为可用区域时,可用保留实例区域是否首选?

我们在欧盟西部地区的不同可用区域购买了一些保留的EC2实例。 当通过API或AWS控制面板启动新实例时,我们通常将“无偏好”设置为可用区域。 如果我们在可用性区域中有一个“未使用”的保留实例,那么即使在启动实例时select了“无偏好”,AWS是否仍然偏好该区域? 或者,我们是否应该明确定义可用区域以匹配不活动的实例保留? 我试图从AWS文档中寻找答案,但还没有运气: 使用区域和可用区域 预留实例

无法通过端口587从EC2实例发送电子邮件

我已经为使用Celery和RabbitMQ发送电子邮件(使用gmail)的烧瓶应用程序编写了邮件服务。 芹菜消费者和生产者沟通好,但我不能发送电子邮件。 我得到一个socket.error:[Errno 101]networking无法访问。 我认为这意味着AWS阻塞了端口587 – 尽pipe在我的安全组中我打开了端口587和25(入站和出站)。 为什么会发生这种情况? 任何帮助将不胜感激。

在/etc/rc.local里运行python脚本不起作用

我在我的Amazon AWS AMI上修改了/etc/rc.local #!/bin/sh touch /var/lock/subsys/local # setup hostname properly /usr/bin/python /root/automation/initSystem.py 所以最后一行调用configuration(Envvariables,主机名,networking设置等)的Python脚本,然后执行/etc/init.d/network restart 如果我手动运行rc.local /etc/rc.local一切都很好 系统自动启动时不起作用。 所以触摸命令(第二行 – 工作),但从未执行python脚本,至less它的执行结果(设置主机名和重新启动networking界面似乎根本不工作) 有任何想法吗?

EC2安全组,按主机名限制入站访问

我已经为PayPal IPN编写了一个Web钩子,我只想允许从端口80/443上的PayPal服务器访问托pipe端点的EC2实例。 在EC2安全组控制台中,我只能通过IP / Range进行过滤。 这是不够的,因为贝宝说,他们随意更改IP地址,没有任何通知,所以必须使用主机名。 我见过这里的答案,build议扩大IP块等,但没有真正的直接解决scheme。 一个build议的解决scheme是使用AWS API更新安全组。 这是最好的select吗? 我可以做的是有一个计划的任务来比较PayPal主机parsing的当前IP到最后一个已知的IP地址。 如果它们不同,请更新AWS EC2组。 我会在同一台机器上运行这个任务,因为嘿,如果机器停止了,那么无论如何都不能访问端点。 这是最合适的解决scheme吗? 我也会在我家也有类似的问题。