标签: amazon-elb

Method of finding instances attached to ELB

I am using the Amazon AWS ELB command line tools. Is there a way of finding out the instances attached to a particular Elastic Load Balancer (ELB)?

amazon-ec2 amazon-web-services amazon-elb

11
推荐指数
3
解决办法
1万
查看次数

有人可以通过亚马逊网络服务详细阐述这些托管的基本概念吗?

我阅读了整本亚马逊的文件,但我仍然感到困惑,或者我应该说不同的条款不堪重负.

我来自传统的网络托管环境,我理解的唯一概念是我拥有多少存储空间以及我允许的带宽量.

以下是我迄今为止对亚马逊以及我对其中很多问题的理解.

EC2 - 我假设我可以设置我的网络服务器(IIS)并运行我的.NET应用程序的实例?或者它已经为我设置了?

EBS - 对于数据库?如果没有,我从哪里获得数据库服务器?是否已安装数据库服务器(Sql server 2005或2008)?什么是快照获取请求?和快照投放请求?

S3 - 这是用来做什么的?我认为EBS是用于存储的,在这里很困惑.你为什么需要S3?

Elastic Load Balancing - 我认为负载平衡只是减轻Web服务器负担的一种方法.它如何与亚马逊合作?"弹性"负载平衡是什么意思?

地区之间的数据传输 - 这意味着什么?以及如何控制数据传入和传出的区域?

我的要求如下

  1. 我需要一个IIS网络服务器来运行我的页面
  2. 我需要一个数据库服务器
  3. 我需要一个位置来存储我的文件(它可以在与#1相同的"服务器"上)吗?
  4. 我需要数据库和文件服务器始终可以恢复.(我听说我们需要将它存储到EBS中以避免丢失数据?)
  5. 如果一个Web服务器过载,执行速度慢,我需要它关闭到服务器场中的另一个服务器.
  6. 如果流量激增,那么我需要一种方法来增加CPU,内存等.很好地处理流量的能力(这是我假设的弹性的目的)

另外,我真的不明白"如果你没有运行你的实例,关闭它或者它将被收费"的概念.我将建立一个理想的网站,以保持全天候.在什么情况下,您有条件地将实例上升或下降?

[编辑]

您如何准确监控您的使用情况?所以你不会对几千美元感到惊讶?你可以戴上帽子吗?我读过一些故事,其中AWS用户对300美元的账单感到惊讶,或者当他们在亚马逊上没有多少托管,也没有任何流量密集型网站时.

对不起,我是"云"计算的完全新手.试图赶上这里.

非常感谢提前

amazon-s3 amazon-ec2 amazon-ebs amazon-web-services amazon-elb

11
推荐指数
2
解决办法
2507
查看次数

AWS Application Load Balancer将所有标头转换为小写

我有一个在两个EC2实例中运行的REST API应用程序,并且长时间使用AWS Classic Load Balancer.REST API的客户端依赖于响应头(例如Location).

我知道HTTP标头根据定义不区分大小写,但是(不幸的是)一些客户端忽略了这一点,并以区分大小写的方式检查标头(例如,他们希望Location以大写字母开头).

最近我改为AWS Application Load Balancer,现在我发现它将所有响应头转换为小写,因此客户端无法正确处理响应.

我在这里有几个问题.

  1. 它是Application Load Balancer的预期行为吗?
  2. 有没有办法将它配置为返回标题,因为它们是由应用程序构建的?

amazon-ec2 amazon-web-services http-headers amazon-elb

11
推荐指数
2
解决办法
4445
查看次数

AWS应用程序负载均衡器和socket.io

我有一个socket.io聊天室运行,当我们在一台机器上运行时,其流量变得越来越大.我们使用ws库为套接字运行基准测试,它们的性能要好得多,这样可以更好地利用我们的硬件.这需要重写我们的应用程序.

我们的socket.io应用程序允许用户创建使用命名空间实现的私人聊天室.例如

localhost:8080/room/1
localhost:8080/room/2
localhost:8080/room/3
Run Code Online (Sandbox Code Playgroud)

当一切都在一个实例中时很容易,但现在我们正在寻求将这个容量扩展到多个节点.

我们在亚马逊的云中运行这个实例.以前看起来像缩放websockets是ELB的一个问题.我们注意到Amazon现在支持和支持websockets的应用程序负载均衡器.这听起来不错,但在阅读完文档之后我必须承认我并不知道这意味着什么.如果我使用带有数千个命名空间的socket.io,我只是将实例放在这个ALB后面,一切都会起作用吗?我的主要问题是:

如果x个用户加入命名空间,ALB会自动将我的消息重定向到适当的用户吗?所以假设我在ALB后面运行了5个vanilla socket.io实例.用户1创建名称空间.几个小时后通过,用户99999来了,并希望加入这个命名空间,是否需要编写任何其他代码来执行此操作,或者alb会重定向所有应该去的地方吗?发送和接收消息也是如此?

amazon-ec2 websocket node.js socket.io amazon-elb

11
推荐指数
1
解决办法
1万
查看次数

WebSockets和负载均衡是一个瓶颈?

当有一堆系统充当WebSocket无人机和负载均衡器在这些无人机前面.当WebSocket请求进入LB时,它选择一个WebSocket无人机,并建立WebSocket.(我在ELB使用SSL ELB tcp SSL终止)

问题: 现在创建的WebSocket是否通过LB,或者LB是否将WebSocket请求转发到WebSocket无人机,因此客户端和WebSocket无人机之间存在直接链接?

如果WebSocket连接通过LB,这将使LB成为一个巨大的瓶颈.

删除LB并向客户端交付WebSocket无人机的直接IP可以绕过这个瓶颈,但需要自己创建这个逻辑,我打算这样做(取决于这个问题的答案).

关于这是如何正确的,我的想法是什么?

load-balancing websocket amazon-elb

10
推荐指数
1
解决办法
3258
查看次数

使用AWS ELB将所有http流量重新路由到https

所以我查看了其他类似的问题,他们提供了解决方案,但似乎没有一个问题出于某种原因.所以,对于初学者来说,我的ELB就是这样设置的

HTTP (incoming) -> HTTP (instance)
HTTPS (incoming) -> HTTP (instance)
Run Code Online (Sandbox Code Playgroud)

因此,两个流量都应该在端口80上进行.这就行了,就像我使用http://mydomain.comhttps://mydomain.com访问我的网站一样,它能够显示,即使我只有一个VirtualHost用于在80号港口.

问题是尝试将所有http流量重写为https.我用它来做基于端口(检查是否!443并重写为https),但现在一切都进入80,这将无法工作.所以我正在运行一个Apache服务器并有这个重写规则

RewriteEngine on
RewriteCond %{HTTP_HOST} www.(.+) [OR,NC]    # Added
RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
RewriteRule ^/?(.*) https://mydomain.com%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)

但它似乎永远不会起作用.我还缺少其他线路吗?有没有办法检查它是否达到了这个条件?我试过了两个!httpshttp作为条件,但都没有奏效.

编辑:稍微将我的RewriteRule改为现在的状态,它仍然无法正常工作.我添加了一个额外的条件来重写www,这是有效的.HTTP:X-Forwarded-Proto要么没有,要么没有由负载均衡器设置

编辑:错误真的很愚蠢.我只是简单地连接到错误的实例.谢谢你忍住我的愚蠢

apache mod-rewrite amazon-web-services amazon-elb

10
推荐指数
2
解决办法
2万
查看次数

亚马逊ELB - 粘性会话丢失了cookie

我在Elastic Beanstalk上有一个Node.js应用程序,它运行在负载均衡器(elb)后面的多个ec2实例上.

我的应用程序需要的原因,我不得不激活会话粘性.我使用自定义cookie"sails.sid"作为参考激活了"AppCookieStickinessPolicy".

问题是我的应用程序需要这个cookie才能正常工作,但是当我激活会话粘性时(通过基于持续时间的会话粘性或在我的情况下:应用程序控制的会话粘性),进入我的服务器的标头被修改并且我丢失了自定义cookie,由AWSELB(亚马逊ELB)cookie取代.

如何配置负载均衡器以不替换我的cookie?

如果我理解得很好,AppCookieStickinessPolicies必须保留我的自定义cookie但事实并非如此.我在某处做错了?

提前致谢

我的负载均衡器的描述:

{
    "LoadBalancerDescriptions": [
        {
            "AvailabilityZones": [
                "us-east-1b"
            ],

            ....

            "Policies": {
                "AppCookieStickinessPolicies": [
                    {
                        "PolicyName": "AWSConsole-AppCookieStickinessPolicy-awseb-e-y-AWSEBLoa-175QRBIZFH0I8-1452531192664",
                        "CookieName": "sails.sid"
                    }
                ],
                "LBCookieStickinessPolicies": [
                    {
                        "PolicyName": "awseb-elb-stickinesspolicy",
                        "CookieExpirationPeriod": 0
                    }
                ],
                "OtherPolicies": []
            },
            "ListenerDescriptions": [
                {
                    "Listener": {
                        "InstancePort": 80,
                        "LoadBalancerPort": 80,
                        "InstanceProtocol": "HTTP",
                        "Protocol": "HTTP"
                    },
                    "PolicyNames": [
                        "AWSConsole-AppCookieStickinessPolicy-awseb-e-y-AWSEBLoa-175QRBIZFH0I8-1452531192664"
                    ]
                }
            ]

            ....

        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

cookies amazon-ec2 amazon-web-services amazon-elb amazon-elastic-beanstalk

10
推荐指数
1
解决办法
1846
查看次数

用于AWS ELB和Tomcat7服务器的HTTP到HTTPS重定向

我有一个指向AWS ELB的子域(test.XXXX.com),它接受HTTP(80)和HTTPS(443)请求.我已为443的HTTPS连接配置了SSL认证.我已经尝试通过更改web.xml和server.xml来在Tomcat级别进行HTTP到HTTPS重定向,如中所述

http://www.journaldev.com/160/steps-to-configure-ssl-on-tomcat-and-setup-auto-redirect-from-http-to-https

但问题是我需要一个端点用于AWS ELB运行状况检查,该端点不执行HTTP到HTTPS重定向.我尝试了不同的解决方案但没有成功.我也试过了

   <security-constraint>
                <web-resource-collection>
                        <web-resource-name>Protected Context</web-resource-name>
                        <url-pattern>/*</url-pattern>
                </web-resource-collection>

                <user-data-constraint>
                        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
                </user-data-constraint>
    </security-constraint>
   <security-constraint>
                <web-resource-collection>
                        <web-resource-name>Protected Context</web-resource-name>
                        <url-pattern>/XXXXX/XXXXXX.html</url-pattern>
                </web-resource-collection>

    </security-constraint>
Run Code Online (Sandbox Code Playgroud)

我的服务器server.xml具有以下配置

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />


<Connector port="443" maxThreads="2000" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/XXXXX/XXXXX.keystore" 
               keystorePass="XXXXX" clientAuth="false" keyAlias="XXXX" 
               sslProtocol="TLS" protocol="org.apache.coyote.http11.Http11Protocol"/>
Run Code Online (Sandbox Code Playgroud)

但是当尝试通过浏览器访问它时,它会将异常作为ERR_TOO_MANY_REDIRECTS.

在此输入图像描述

ssl redirect tomcat amazon-ec2 amazon-elb

10
推荐指数
1
解决办法
2169
查看次数

http 请求的 kubernetes/elb 超时是多少?

我有一个java API(接受HTTPS请求_打包成docker镜像,然后使用k8s集群部署在EC2之上。主EC2前面有一个ELB。

我可以向 ELB 发出 curl POST 请求,以便访问该 java API。

有时,即使当我看到 kube 日志时处理已成功,我的curl 请求也会永远等待响应。

对于 40 分钟左右的较大请求,会发生这种情况,25 分钟的请求可以获得正常响应。

您认为超时可能在哪里?我应该查看任何特定的配置参数吗?

客户端 (curl) --> ELB --> k8s --> 运行 java api 镜像的 pod

我认为这与 ELB 相关(我没有设置 IdleTimeout),但文档说默认值为 60 秒,尽管我可以获得 20 分钟请求的响应 "ConnectionSettings": { "IdleTimeout" }

amazon-elb kubernetes kubernetes-pod

10
推荐指数
1
解决办法
450
查看次数

应用程序负载均衡器与网络负载均衡器

我是 AWS 新手。我无法清楚了解 ALB 与 NLB 的区别。有人可以简单地解释一下吗?

load-balancing amazon-elb aws-application-load-balancer

10
推荐指数
1
解决办法
1万
查看次数