gpt4 book ai didi

amazon-ec2 - 通过ELB访问AWS EC2实例

转载 作者:行者123 更新时间:2023-12-02 23:19:12 25 4
gpt4 key购买 nike

我尝试在弹性负载均衡器下设置两个实例,但无法弄清楚应该如何通过负载均衡器访问这些实例。

我已经使用安全组设置了实例,以允许从任何地方访问某些端口。我可以使用“公共(public) DNS”(publicdns) 主机名和端口 PORT 直接访问实例:

http://[publicdns]:PORT/

负载均衡器包含两个实例,它们都处于“服务中”状态,并且将端口 (PORT) 转发到实例上的同一端口。

但是,如果我要求

http://[dnsname]:PORT(其中 dnsname 是为 ELB 列出的 A 记录)

它无法连接到实例(连接超时)。

这不是使用负载均衡器的正确方法,还是我需要执行任何操作才能允许访问负载均衡器?与负载均衡器相关的安全组唯一提到的是将实例的访问限制为负载均衡器,但我不希望这样做。我也希望能够单独访问它们。

我确信有一些简单而愚蠢的事情我已经忘记、没有意识到或做错了:P

干杯, 斯文德。

<小时/>

添加了额外信息:

负载均衡器的端口配置如下所示(实际上是 3 个端口):

10060 (HTTP) 转发到 10060 (HTTP)粘性:禁用(编辑)

10061 (HTTP) 转发至 10061 (HTTP)粘性:禁用(编辑)

10062 (HTTP) 转发到 10062 (HTTP)粘性:禁用(编辑)

它使用标准/默认 elb 安全组 (amazon-elb-sg)。

这些实例有两个安全组。一个外部看起来像这样:

22 (SSH)          0.0.0.0/0
10060 - 10061 0.0.0.0/0
10062              0.0.0.0/0

还有一个内部组,允许内部组内的任何内容在所有端口上进行通信:

0 - 65535 sg-xxxxxxxx(安全组 ID)

不确定这有什么区别,但实例是 m1.small 类型的图像 ami-31814f58。

<小时/>

可能相关的内容:

我的运行状况检查曾经是 HTTP:PORT/,但负载均衡器一直说实例“停止服务”,尽管我似乎在该端口上的请求上收到了 200 响应。

然后我将其更改为 TCP:PORT,然后更改为“正在服务”。

是否应该为 HTTP 返回一些非常具体的内容,或者只是需要一个 HTTP 200 响应? ...它不起作用的事实是否暗示了为什么负载平衡本身也不起作用?

最佳答案

听起来您已正确设置所有内容。它们与实例进入负载均衡器的端口相同吗?或者您是否将请求转发到另一个端口?

顺便说一句,当我配置负载均衡器时,我通常不喜欢在任何端口上向公​​众开放我的实例。我只允许负载均衡器向这些实例发出请求。我过去注意到很多人会向实例的 IP 发出恶意请求,试图找到安全漏洞。我什至看到有人试图暴力登录我的 Windows 机器......

要仅为负载均衡器创建安全规则,请运行以下命令,并删除负载均衡器正在使用的端口的安全组中的任何其他规则。如果您不使用命令行来运行这些命令,那么只需让我知道您正在尝试使用哪个界面,我可以尝试提供一个适合您的示例。

elb-create-lb-listeners <load-balancer> --listener "protocol=http, lb-port=<port>, instance-port=<port>"
ec2-authorize <security-group> -o amazon-elb-sg -u amazon-elb

回到你的问题。就像我说的,您解释的步骤是正确的,打开实例上的端口并将端口转发到实例应该就足够了。也许您需要发布实例的安全组和负载均衡器的完整配置,以便我可以查看是否有其他因素影响您的情况。

关于amazon-ec2 - 通过ELB访问AWS EC2实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9430455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com