我们在Elastic Load Balancer后面的AWS EC2实例上运行了几个Puppet Master版本3.7(非PE)(主要用于高可用性)。 目前负载平衡器的检查只是在端口8140上进行TCP连接。但是这并没有检测到其中一个实例被挂起(它仍然接受初始的TCP连接,但是没有做任何事情)。 我正在寻找方法,实际上向木偶大师发送一个有意义的“禁止”请求,并将结果发送回去。 更具体的要求: 它不应该触发大量的处理(检查每隔几秒钟发生一次) 如果木偶大师能够真正处理“真正的要求”,否则就会成功。 应该可以从ELB执行(即基本上它应该在静态path上的成功https请求上返回“200 OK” 。 有没有一个很好的静态path,我可以给健康检查使用? 到目前为止,我还没有find任何。
我们的应用程序的REST API由运行在具有典型自动缩放/负载平衡设置的AWS EC2实例上的Gunicorn( 不在 Nginx后面)提供服务。 负载均衡器的空闲超时时间为60秒,Gunicorn的保持活动超时时间为2秒。 我们已经看到来自这个configuration的零星的504 Gateway Timeout响应。 根据亚马逊的文档 ,这可能是因为服务器的保持活动超时低于负载平衡器的空闲超时设置: 原因2:已注册的实例closures与Elastic Load Balancing的连接。 解决scheme2:在您的EC2实例上启用保持活动设置,并将保持活动超时设置为大于或等于负载平衡器的空闲超时设置。 使用Nginx,默认的keepalive_timeout是75秒,这与ELB的默认设置很相配。 但是, Gunicorn文档build议在1-5秒的范围内设置keepalive 。 把Gunicorn的keepalive碰到75秒是否有意义,或者有一个很好的理由让它保持在5秒以下,即使我们没有在它前面使用反向代理?
花了很长时间的痛苦小时,规避了群组安全和Windows 2008服务器防火墙,并在正确设置(feeew!)的亚马逊EC2实例上设置FIlezilla服务器, 终于能够远程连接到我的FTP服务器。 然而,Filezilla不停地嘲弄我吐出“ 无法检索目录列表 ”的错误。 在几个小时之后,在服务器端和客户端扭转每一个可能的参数(我尝试了所有可能的主动/被动组合),我终于扔了毛巾,决定把我最后的希望寄托在另一个FTP客户端上,并祈祷。 我下载了WinSPC和… Voilà! 在一个被宠坏的不眠之夜后,我终于成了一个幸福的男人,但是我仍然感到沮丧,因为我还不知道什么是错的。 任何build议,欢迎。
我正在S3和CloudFront上主持一个Jekyll博客。 在S3上设置默认文档可以正常工作,所有子文件夹本身都会转到index.html。 在我的CloudFront发行版中,我已经将Default Root Object设置为index.html,但是子目录不会得到这个 – 相反,我得到以下错误 <Error> <Code>NoSuchKey</Code> <Message>The specified key does not exist.</Message> <Key>about</Key> <RequestId>F8324894C093EB53</RequestId> <HostId> Girhbo7YLEl9sxPS3KjvhbkpL32qNsYgiVLElAhPOvqrekfqfpJ/2AAYRg4rNJ+t4Imc86cjiw4= </HostId> </Error> 如果我手动浏览到域/ subdir / index.html它工作正常。 有任何想法吗?
在小实例的情况下,1.7 GB内存是否受到32位处理器的瓶颈? 还是select64位的Micro实例是因为它的64位? 我很困惑performance明智,不能直截了当地思考。 即使没有固定的答案,任何人都可以在select之前列出我应该考虑的要点吗? 如果有帮助,这是我的configuration: 1微型/小型实例,通过Elastic Beanstalk运行。 托pipe在GWT中创build的webapp,并且是一个mongoDB从服务器。 1个大数据库服务器,作为mongoDB主服务器运行。 webapp向DB-Server查询数据,slave是只读的。 webapp运行mongod,memcached,apache和tomcat。 PS:我们需要一个amazon-beanstalk标签。
我打算在亚马逊Ec2上主持一个网站。 我从文档中获得了一些基础知识。 但我没有混淆。 如果我正在使用CDN的云端,我真的需要服务器从S3文件? 我们托pipe的网站是build立在Drupal上的。 它有任何性能差异?
我们有2个自动缩放组(一个用于点播,另一个用于点实例),它们都被设置为静态数量的实例(最小,最大,所需的都是相同的 – 在我们的例子中是5)。 按需组中的实例保持运行,但现场组中的实例由于系统运行状况检查而经常终止。 在EC2pipe理控制台的Scaling History选项卡中为已终止的实例显示的消息是例如: “在2014-05-07T18:06:45Z,一个实例因系统健康检查而停止服务。” 我不知道为什么我们的现场实例没有通过健康检查。 我们的出价很高,我不认为应该由于现货价格(基于现货定价历史)而终止这种情况。 我已经调整了实例启动的AZ,我也没有看到区别。 当我检查最近终止的实例的系统日志时,我没有看到任何可疑消息。 我们对两个组都使用私有/自定义AMI,但是当我切换到更通用的AMI(alestic.com上列出的“Ubuntu 12.04 LTS Precise EBS boot”映像 – ami-5db4a934)时,我看到了相同的行为。 再次,我们的按需实例保持运行,不会失败健康检查。 我们正在使用“EC2”健康检查types。 以下是我们用来通过AWS CLI创build启动configuration的命令: aws autoscaling create-launch-configuration \ –launch-configuration-name [name] \ –image-id ami-5db4a934 \ –key-name [our key] \ –security-groups [our SGs] \ –instance-type m3.xlarge \ –block-device-mappings '[ { "DeviceName": "/dev/sda1", "Ebs": { "VolumeSize": 8 } } […]
我一直在使用AWS一年多,build立了EC2实例,域名,ELB等。 当我想给一个EC2实例分配一个子域时,我必须创build一个弹性IP(我付钱),然后为该弹性IP分配一个CNAMElogging。 当我想分配一个ELB(负载均衡器)实例的子域时,我只是创build一个别名资源logging集到ELB。 我已经阅读了文档 ,不明白为什么AWS不支持对实例进行别名。 我在这里错过了一个关键的概念吗? 只是别名EC2实例并跳过整个弹性IP位不是更简单吗? 编辑:简单地说 – 为什么我的EC2实例不在这个列表中:
根据亚马逊和我的testing,一个/ 24 VPC子网允许251个可用的IP地址。 我在该VPC中还有另外两个子网,它们似乎没有被EC2使用的IP,可用的IP字段表示只有250个可用的IP。 我检查过 我试图找出哪些资源正在使用这些IP,但似乎AWS不允许这种查询。 我想看到的是为特定的VPC子网使用IP的资源列表。 如果任何人都可以了解一下AWS服务可以使用哪些子网IP,除了EC2,这也将有所帮助。 谢谢。
我正在服务器上build立我的第一个Django项目 当我做python manage.py runserver .0.0.0.0:80 ,它告诉我 You don't have permission to access that port 。 当我做python manage.py runserver .0.0.0.0:8000它告诉我,该端口已被使用。 我试图运行一个LAMP堆栈。 我如何“获得许可”? 如何查看哪些进程打开了端口?