Articles of 亚马逊 elb

Amazon ELB和私有IP地址

我们正在考虑使用Amazon的ELB对内部API服务器进行负载均衡请求。 如果我们使用它,我们是否必须通过公共IP地址路由我们的stream量,从而失去将stream量仅发送到私有IP地址的速度和成本优势? (API服务器和API使用者都是EC2托pipe的,所以我们更愿意使用私有IP地址。)

Amazon ELB不在两台服务器之间进行负载平衡

我只是在AWS中使用两个Large EC2实例在同一个可用区域中build立一个小型负载平衡体系结构,并在前面使用非粘性ELB。 亚马逊报告,这两个实例是健康的,我看到健康检查返回200两台服务器上,但所有的stream量正在路由到其中一台服务器。 如果我把服务器的stream量转移到其他服务器上,但是当我把它放回去的时候,这些服务器都会返回到那台服务器上。 这是实时stream量 – 不是负载testing – 所以它与单客户端IP或粘性会话无关。 任何build议,我可以看看或如何开始debugging弹性负载平衡器设置? 谢谢

如何将所有HTTPstream量redirect到HTTPS,以使用SSL证书在ELB后面的nginx / uWSGI后面运行的Django 1.4应用程序

我想知道如何把我的整个Django网站后面的HTTPS。 如果有人试图通过HTTP来,我希望该用户被redirect到HTTPS。 目前,Firefox给我的错误是“Firefox已经检测到服务器正在redirect这个地址的请求,永远不会完成”。 我的设置是: 1.一个带SSL证书的AWS负载均衡器(ELB)ELB有两个监听器: 负载均衡器端口80(HTTP)指向实例端口80(HTTP) 指向实例端口80(HTTP)的负载平衡器端口443(HTTPS) 2.运行nginx / uWSGI的ELB后面有一个EC2实例 nginxconfiguration server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl; set $home /server/env.example.com; client_max_body_size 10m; keepalive_timeout 120; location / { uwsgi_pass uwsgi_main; include uwsgi_params; uwsgi_param SCRIPT_NAME ""; uwsgi_param UWSGI_CHDIR $home/project; uwsgi_param UWSGI_SCRIPT wsgi; uwsgi_param UWSGI_PYHOME $home; } } uwsgiconfiguration # file: […]

AWS ELB是RDGW的可行替代品

TL;博士 Amazon Web Services Elastic Load Balancer是远程桌面网关的可行替代品吗? 够短; 读过 我的客户端目前使用大约有10个远程桌面服务器的远程桌面网关。 我们现在将它们转移到AWS。 而且我想使用AWS的Elastic Load Balancer来降低成本和改进function。 我通过平衡端口3389成功创build了ELB后面的远程桌面环境。 尽pipe如此,我对RDGW的知识还很渺茫,为了避免任何困难,我认为咨询社区是个好主意。 我的顾虑是: 从会话中断开连接时,用户是否能够重新login到同一台服务器上? 用户会被随机平衡到另一台服务器吗? 我忽视了一个显而易见的事实,那就是当我们将系统发布到生产环境时,我会被解雇

如何手动排除EC2实例的ELB连接?

我有一个ELB的连接耗尽。 根据http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain上的文档, 取消注册或不健康的实例将保持现有的连接打开: 连接耗尽导致ELB负载均衡器停止向注销实例或不健康实例发送新请求,同时保持现有连接处于打开状态。 我想对ELB中的EC2节点进行一些维护。 这将是很好的优雅地把他们轮stream手动。 我尝试了健康检查失败并手动从ELB中删除EC2实例。 这两个操作都会终止与实例的现有连接。 我如何手动设置一个EC2实例来注销或不健康的状态,以便它将继续服务于现有的连接,但不接受新的连接?

ELB – 启用跨区域平衡时的高延迟

我正在努力提高AWS的基础架构可靠性,我的一项任务是在我们的ELB上实现跨区域平衡。 我们的ELB在高峰时间以秒为单位接收到大约20K的请求,而我们所有的实例都在我们东区-1d。 我遵循以下步骤: 修改ASG以开始在us-east-1c中创build实例并复制所需的容量 等待创build的新实例完全configuration 在ELB中启用我们的east-1c区域。 当我执行步骤3时收到Sum ELB 5XXs错误的一个尖峰。 我猜这些错误与我们最近升级的服务器“冷”有关。 有一种方法可以开始递增地向它们发送请求吗? 谢谢。

ELB及其公共DNS的CloudFormation

我正在使用Cloudformation来构build一个负载平衡的堆栈。 我担心的是,每次重新创build堆栈时,ELB公共URL都会发生变化,这将需要更改网站的路由53域别名,以指向新的ELB URL。 我可以添加Cloudformationconfiguration来自动执行此操作,但是我担心由于DNS传播问题,每次重build堆栈时,网站都会closures几分钟。 据我了解,R53会在约60秒内更新别名,但cachingDNS服务器可能不服从TTL,并可能需要几分钟才能更新。 一个选项是一起运行旧的和新的堆栈,但是每个VPC中的RDS实例需要以某种方式同步。 此外,似乎在Cloudformation中没有选项将现有的ELB与堆栈关联起来,因此保持ELB独立于堆栈似乎不是一种select。 那么正确的解决scheme是什么? 用新build的CF堆栈replace生产堆栈时,如何避免任何明显的停机时间。

强制使用AWSredirectSSL在ELB上解密SSL并路由到Nginx / Passenger

目前我们正在创造一个新的环境,并且遇到一些与SSL有关的怪癖。 我们正在使用接受80/443的ELB。 两个路由到Nginx盒子上的同一个端口(ELB Decrypts)。 在Nginx框中,我们正在检查AWS头,如果我们没有看到它,我们会redirect到https。 到目前为止,虽然redirect不起作用。 以下是在端口3000(ELB 80-> 3000,ELB 443-> 3000)上监听的站点的nginxconfiguration文件的副本。 server { listen 80; root /home/app/web-app/public; passenger_enabled on; passenger_user app; # If this is a Ruby app, specify a Ruby version: passenger_ruby /usr/bin/ruby2.2; passenger_min_instances 2; if ($http_x_forwarded_proto != "https") { return 301 https://$host$request_uri; } } 任何想法,我在做什么错在这里? 编辑 – 我们正在使用这里看到的客运docker图像 – https://github.com/phusion/passenger-docker 乘客启动,似乎采取端口3000的所有请求,尽pipeNginxconfiguration显示听80。

AWS ELB在添加节点时是否应用运行状况检查

我的问题很简单,我一直无法从亚马逊文件中确定这一点。 当我将一个新节点附加到ELB(无论是通过执行自动扩展策略还是手动执行),在启用节点之前,ELB是否等待健康状况检查通过,或者是否有新节点在被证实有罪之前得到“无辜”何时添加?

ELB健康检查新近启动的EC2实例无法正常工作

我正在尝试使用EC2手动设置一个负载平衡的环境。 我的实例可以通过SSH和ping访问。 但是,只要将它们放入负载平衡器中,实例就无法通过负载平衡器的健康检查。 我试过按照故障排除Elastic Load Balancing指南。 从同一VPC内的另一个实例通过telnet连接到任何实例不起作用。 在一个实例内执行telnet localhost 25似乎工作。 这些实例运行Amazon Linux。 健康检查通过TCP发送到80端口。 负载均衡器和实例在同一个安全组中。 我已经放松了所有的安全组设置并允许通过所有端口进行通信,所有组的所有成员都能够相互之间进行ssh / ping。 问题出现后立即启动,无论是我已经设置了我希望他们运行的软件的实例或保持不变。 还有什么我应该尝试? 谢谢!