我在AWS负载平衡器后面安装了5个t1.micro EC2。 一旦连接到LB,所有实例都会减速。 即使我直接向实例发送请求(绕过LB),10个请求中的8个请求也会花费30多秒。 实例的CPU负载似乎不成问题。 当我从LB中删除一个实例时,它的响应很好。 一旦它被添加回LB,请求再次减慢。 任何人都可以给我一些线索,为什么一旦LB连接起来,实例响应速度就会变慢? 提前致谢
我的公司在AWS上运行的商业Web服务使用通配符SSL证书(适用于* .example.com)。 多个合作伙伴拥有子域名,并且需要SSL( https://partner1.example.com,https : //partner2.example.com等),并且我们为其提供HTML或JSON响应。 我们的生产网站有一个面向networking的ELB,安装了我们的SSL证书。 ELB平衡并终止SSL到我们VPC中的一组生产服务器实例。 我们的networking应用程序知道如何根据子域名提供正确的合作伙伴HTML / JSON。 我想尽可能简单地复制这个testing环境(例如QA,Staging,Demo)。 但是testing和生产环境不能是相同的服务器实例; 我需要知道,如果我搞砸我们的testing环境,我不会杀死生产。 理想情况下,处理生产stream量的相同ELB可能以某种方式将stream量路由到我的testing服务器,也许如果他们使用已知的IP地址或DNS子域名? 我纠正这是不可能的吗? 我想我可以在每个testing环境中设置一个带有SSL证书的ELB,每个“平衡”到一个服务器,但是这看起来过于复杂,我猜也是昂贵的。 所有实例,生产和testing都在我们的VPC中运行。 但是目前只有生产集群在ELB上设置了SSL(终止SSL),并直接将HTTP请求传递给实例本身。 testing服务器接受HTTP。 我设置了公共弹性IP和DNS名称(staging.example.com,qa.example.com,demo.example.com)…但它们不受SSL的保护。 testing服务器实例上几乎没有关键或客户数据,并且它们是安全的,并且正确地进行了修补,因为任何面向Web的服务器应该是(我希望!!)。 不过,我希望SSL不仅可以提高安全性,还可以使我的testing环境尽可能与我的生产环境相匹配。 除了我们的登台服务器之外,其他环境都由Apache命名的虚拟主机configuration中的单个实例(例如,同一台服务器上的demo和qa)支持。 所以,为了testing,很多网站,但只有less数服务器。 有没有办法让我的通配符SSL证书只能安装在我的负载平衡器上(或者可能还有一个),或者是一些其他的configuration,使我能够根据IP检测HTTP请求并将其路由到正确的testing服务器域名(甚至HTTP头)? 我知道这是一个复杂的问题。 我很了解AWS,安全和networking,但我仍然试图找出路由,甚至在VPC环境中的内部DNS,所以可能对我的select一无所知。
我正在使用AWS免费套餐,如果我理解正确的话,它将为我提供一个免费的EC2微型实例和一个免费的Elastic Load Balancer。 我知道,通常ELB是在使用多个EC2实例时使用的。 我真的不想运行多个实例,如果我可以帮助它的话,90%的时间我的单个EC2实例似乎处理的stream量,但偶尔它得不到响应,需要重新启动。 它似乎没有自动做到这一点。 我读了ELB将重新启动它称为“不健康”(不响应多个ping尝试)的microinstances。 所以我有一个想法是创build一个单一的ELB,分配我的单一EC2,并在其中创build一个简单的“自动重启,如果它卡住”的情况。 我已经设置了它,并没有阻止或吠叫我,但我想知道我是否理解这个权利。 我对服务器pipe理相当陌生,只是进入微观实例和ELB等概念,尽pipe(像所有的傻瓜),我想我理解它的基本知识。 这是一个好主意吗? 有没有更简单的方法来完成这个? 我试图Google和search其他人做同样的事情,没有find任何人,但我不能告诉是否这是因为它不会工作,或者因为没有人是愚蠢的尝试使用单个EC2微型实例所有的交通。 我深信这是一个坏主意,因为我没有看到其他人在谈论这个问题,虽然我对某些事情相当聪明,但是我对这些事情没有太多的自信。 谢谢你的帮助!
我已经使用cloudformation为我的服务设置了一堆cloudwatch警报。 除了ELB警报,我所有的警报都可以使用。 他们总是只显示不足的数据。 我可以进入控制台并手动设置警报,但我希望能够使用cloudformation模板创build所有内容。 我必须在我的JSON的某个地方有一个错误的报警。 这是其中之一: "ELBHighLatencyAlarm": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "Namespace": "AWS/ELB", "AlarmName": { "Fn::Join" : ["", [ { "Ref" : "AWS::StackName"}, "-ELB-ELBHighLatencyAlarm"]]}, "AlarmDescription": { "Fn::Join" : ["", [ { "Ref" : "AWS::StackName"}, "-ELB-ELBHighLatencyAlarm"]]}, "ComparisonOperator": "GreaterThanThreshold", "Threshold": "0.5", "EvaluationPeriods": "1", "Period": "300", "MetricName": "Latency", "Statistic": "Average", "OKActions": [], "AlarmActions": [ { "Ref": "PagerDutySNSTopicArn" […]
我在Elastic Beanstalk上运行一个应用程序,每当我需要部署一个新版本时,我需要: 在Elastic Beanstalk上部署该版本,这需要一分钟左右的时间 使用新版本附带的任何SQL修补程序修补数据库,这需要几秒钟的时间 在此期间,我希望ELB停止将stream量redirect到EC2实例,并且只有在安全的情况下(当软件和数据库版本匹配时)才将stream量回收给它们。 是否有可能暂时将ELB的stream量redirect到其他地方? 例如,执行HTTPredirect到S3存储桶,还是从这个存储桶读取而不是EC2实例? 我知道我可以通过DNS更改来做到这一点,但是这需要花费额外的时间进行传播,即使TTL较低,我仍然无法保证客户端能够正确地服从TTL,并在我做出更新。 因此理想情况下,DNS应始终指向ELB,然后ELB应该将stream量实时切换到其他地方,以便升级。
在Amazon AWS上实施ELB和自动调节之后。 发生了一个奇怪的问题,我们不知道原因或修复。 我们安装了Auto Scallingconfiguration,以添加Windows 2008 R2 x64的AMI ID,SQL Express和IIS的实例。 我们还让ELB检查“/”上的健康状况,正常的configuration,并假定IIS正常运行。 但是一旦实例启动,ELB就会显示为“停止服务”。 状态在一段时间后突然变成“服务中”。 这个问题的原因是什么? 是否有可能立即使用它? “至于实例何时启动,需要进行负载平衡”
例如,假设我有一个ec2实例和一个弹性负载均衡器,在负载平衡器上接收HTTPSstream量并将其转发(未encryption)到实例是安全的。 我已经启用了最小安全组权限来允许负载均衡器与实例进行通信,但是,我不清楚这些权限是应用于虚拟机级还是networking级。 如果只是在虚拟机级别,那么假设子网上的其他实例可以嗅探未encryption的networkingstream量。
我有一个提供给我的证书文件,这是一个通配域名。 它来作为一个关键和一个crt文件。 没有提供其他文件。 我无法正确使用弹性负载平衡器。 我试过这个命令: http://www.networksolutions.com/support/installation-of-an-ev-ssl-certificate-for-tomcat-apache/ 从这里获得的中级证书: http : //www.networksolutions.com/support/where-can-i-locate-the-network-solutions-nsprotect-root-and-intermediate-certificate-files/ 我也尝试了以下内容: networking解决scheme添加信任外部CA根 networking解决schemeUTN添加信任CA networking解决schemeUTN服务器CA networking解决scheme扩展validation(EV)CA networking解决scheme中级证书 networking解决schemeEV根 ELB返回的错误是: 无法validation证书链。 证书链必须从立即签名证书开始,然后依次是任何中间人。 无效证书链中的索引是:-1 有太多相互冲突和过时的信息,似乎没有任何工作。 我如何得到这个工作? 有没有一种方法可以与OpenSSL一起使用来手动处理每个步骤需要的证书?
我刚刚创build了两个新的ELB,并试图找出如何将其中一个添加到现有的自动缩放组; 到目前为止,这似乎是可能的唯一方法是通过重新创build已经存在的自动缩放组,将新的ELB添加到创build时已经存在的ELB。 我检查了几次谷歌试图找出是否有另一种方式来做到这一点; 没有运气。 有没有其他的方式来做到这一点,或者这是唯一的方法来添加ELB到现有的自动调整组 ?
我们正在使用CloudFront作为我们的静态资产,但也希望允许使用Gzip。 我们build立了一个新的发行版,其中自定义来源指向我们在弹性负载均衡器后面的应用程序服务器。 我们手动保持群集中的文件同步,并在发布时进行更新。 但是,随着这个build立,我们除了CloudFront的小姐和RefreshHits以外,什么都没有,这一直到目前为止已经失败了。 是否有任何额外的设置,以便使用ELB作为您的自定义原点? 在文档中,它将其作为可行的解决scheme。 当我们将分发指向我们的生产集群中的单个服务器时,cloudfront会正确地caching我们的资产。 粘滞会话cookie和随后添加的头可能是一个问题吗? Cache-Control: no-cache="set-cookie" //由负载平衡器添加 有任何想法吗? 仅供参考 – 目前,我们有我们的自定义来源指向单个EC2实例,所以caching工作正常 – 万一你试图curl下面的文件。 示例标题:curl -I http://static.quick-cdn.com/css/9850999.css HTTP/1.0 200 OK Accept-Ranges: bytes Cache-Control: max-age=3700 Cache-Control: no-cache="set-cookie" Content-Length: 23038 Content-Type: text/css Date: Thu, 12 Apr 2012 23:03:52 GMT Last-Modified: Thu, 12 Apr 2012 23:00:14 GMT Server: Apache/2.2.17 (Ubuntu) Vary: Accept-Encoding X-Cache: RefreshHit from […]