我想为我的Elastic Beanstalk环境关闭Elastic Load Balancer(ELB).
目前我不需要它,我不想为此付费.
可以在EC2管理窗口中删除ELB,然后将Elastic Beanstalk运行状况从GREEN切换为RED.我只是找到了一个信息,这是不可能的.
有人有一个技巧如何在没有负载平衡的情况下运行Elastic Beanstalk并且具有环境GREEN健康状态?
cloud load-balancing amazon-ec2 amazon-web-services amazon-elastic-beanstalk
好的,所以我有一个非常罕见的负载平衡PHP网站的独特场景.无赖是 - 它不习惯负载平衡.现在我们开始遇到问题......
目前唯一的问题是PHP会话.当然没有人首先想到这个问题所以PHP会话配置保持默认值.因此,两个服务器都有自己的一小部分会话文件,并且有一个用户将下一个请求抛给另一个服务器,因为它没有在第一个服务器上创建的会话.
现在,我一直在阅读PHP手册,了解如何解决这种情况.在那里我发现了很好的功能session_set_save_handler().(而且,巧合的是,关于SO的这个主题)整洁.除了我必须在网站的所有页面中调用此功能.未来页面的开发人员也必须记住一直调用它.感觉有点笨拙,更不用说可能违反了十几种最好的编码习惯.如果我可以翻转一些全局配置选项和Voilà会更好- 会话全部神奇地存储在DB或内存缓存中.
关于如何做到这一点的任何想法?
auto_prepend指出的选项看起来很有希望 - 但这会让人觉得重新发明轮子.:P
auto_prepend选项session_set_save_handler()在每个脚本中插入一个调用并编写我自己的数据库容器,可能会调用以memcached获得更好的性能.很公平.
是否还有一些方法可以避免自己编码?像一些着名且经过良好测试的PHP插件?
很久以后添加了很多:这就是我最终的方式:如何在PHP + MySQL中正确实现自定义会话持久化?
此外,我只是在所有页面中手动包含会话处理程序.
我们已经在亚马逊EC2上与HAProxy争夺了几天; 到目前为止,这种体验一直很好,但我们仍然在努力从软件负载均衡器中挤出更多性能.我们并不完全是Linux网络高手(我们通常是.NET商店),但我们到目前为止仍然拥有自己的,试图设置适当的ulimits,检查内核消息和tcpdumps是否存在任何异常情况.到目前为止,我们达到了大约1,700个请求/秒的平台,此时客户端超时比比皆是(我们一直在使用和调整httperf以此目的).一位同事和我正在收听最新的Stack Overflow播客,其中Reddit创始人注意到他们的整个站点都运行在一个HAProxy节点上,并且到目前为止它还没有成为瓶颈.确认!要么以某种方式没有看到许多并发请求,我们正在做一些可怕的错误,或者EC2的共享性质限制了Ec2实例的网络堆栈(我们使用的是大型实例类型).考虑到Joel和Reddit创始人都认为网络可能是限制因素这一事实,我们看到的限制是否可能?
任何想法都非常感谢!
编辑事实上,实际问题看起来并不是负载均衡器节点!罪魁祸首实际上是运行httperf的节点,在这个例子中.由于httperf为每个请求构建并断开套接字,因此它在内核中花费了大量的CPU时间.当我们提高请求率时,TCP FIN TTL(默认为60秒)会使套接字保持太长时间,并且ip_local_port_range的默认值对于此使用方案来说太低了.基本上,在客户端(httperf)节点持续创建和销毁新套接字几分钟后,未使用的端口数量用尽,后续"请求"在此阶段出错,产生的请求数/秒数较少且数量较多错误.
我们也看过nginx,但我们一直在使用RighScale,他们已经有了HAProxy的插件脚本.哦,当然,除非证明是绝对必要的,否则我们的截止日期太紧了[当然].幸运的是,在AWS上允许我们并行测试使用nginx的另一个设置(如果有保证),并在稍后进行切换.
此页面相当好地描述了每个sysctl变量(在这种情况下调整了ip_local_port_range和tcp_fin_timeout).
有人可以向我解释高可用性("HA")如何适用于Web应用程序......因为我认为HA意味着不存在单点故障.
但是,即使使用了负载均衡器,这不是单点故障吗?
我正在尝试在Amazon Elastic Load Balancer后面设置我的应用程序服务器.我想有一个专用于旧版本的服务器,以及专用于新版本的所有其他服务器.我想在路径参数中使用版本ID来实现它
例如
当前版本(3.0):http://example.com/APPNAME/service
旧版本(2.2):http://example.com/APPNAME/v2.2/service
我想知道:
随着Nginx社区版本的TCP负载平衡的发布,我想混合使用OpenVPN和SSL传递数据.Nginx知道如何路由流量的唯一方法是通过他们的域名.
vpn1.app.com ???? nginx at 10.0.0.1 ???? vpn1 at 10.0.0.3
vpn2.app.com ?? ??? vpn2 at 10.0.0.4
https.app.com ?? ??? https at 10.0.0.5
Run Code Online (Sandbox Code Playgroud)
我已经看过TCP指南和模块文档,但它似乎没有被很好地引用.如果有人能指出我正确的方向,我将不胜感激.
关于ServerFault的相关问题:反向代理可以使用带SSL的SNI通过吗?
我们(我们的IT合作伙伴真的)最近为我们拥有的网络养殖网站更改了一些DNS,以便两个生产服务器之间进行循环DNS切换.在此切换之前,我们确实没有WebResource.axd文件问题.自切换以来,当我们点击实时公共URL时,我们收到错误:
CryptographicException
填充无效,无法删除.
当我们自己点击特定服务器时,它们会很好地加载.我研究了这个问题,看起来因为它们在两台服务器之间共享资产,我们需要machineKey在web.config每台服务器上保持一致,这样它们才能在两者之间一致地加密和解密.我的问题是:
machineKey在服务器上生成一个工具,还是需要编写代码才能执行此操作?machineKey到web.config每个服务器上或者你认为我会需要做任何事情就两个服务器协同工作?(两者web.config目前都没有machineKey)我在Amazon云上运行了一个设置,其中有几个EC2实例通过负载均衡器运行.
重要的是,当我插入第三方API时,该站点具有唯一的(静态)IP或IP集合,这些API仅接受已添加到其白名单中的IP的请求.
所以基本上除非我们能够为这些第三方提供静态IP或IP范围,否则网站的请求将始终来自我们,我们将无法对它们进行任何调用.
任何人都知道如何实现这一点,因为我知道弹性IP与负载均衡器不兼容?
如果我要查找负载均衡器DNS名称的IP(例如dualstack.awseb-BAMobile-ENV-xxxxxxxxx.eu-west-1.elb.amazonaws.com解析为200.200.200.200)那IP是否为静态?
任何帮助/建议非常感谢伙计们.
load-balancing amazon-ec2 static-ip-address amazon-web-services amazon-elastic-beanstalk
我正在尝试在AWS中设置Elastic Load Balancing(ELB)以在多个实例之间拆分请求.我已经基于相同的AMI创建了我的网络服务器的几个图像,并且我能够单独ssh到每个图像并通过每个不同的公共DNS访问该网站.
我已经将每个实例添加到负载均衡器中,但是他们都回来了,Status: Out of Service因为他们没有通过运行状况检查.我很困惑,因为我可以从其公共DNS访问每个实例,但每当我访问负载均衡器DNS名称时,我都会收到超时.
我一直试图阅读所有的文档并用Google搜索,但我被卡住了.任何指向正确方向的指针或链接都将非常感激.
我的.NET 3.5应用程序偶尔抛出以下异常System.Web异常:
客户端已断开连接
为什么会发生这种异常?我的应用程序在负载均衡的Windows Server 2003 IIS 6.0服务器上运行.
load-balancing ×10
amazon-ec2 ×3
amazon-elb ×2
asp.net ×2
cloud ×1
haproxy ×1
iis-6 ×1
machinekey ×1
nginx ×1
php ×1
scaling ×1
session ×1
stream ×1
tcp ×1
uptime ×1
virtualhost ×1
web-config ×1
web-farm ×1