问题标签 [aws-elb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
539 浏览

amazon-web-services - 从“外部世界”连接到在私有子网中运行的 AWS Aurora DB

我们有一个在私有子网中运行的 Aurora 数据库集群,并希望允许对源自一组固定 ips(我们公司 ips)的客户端进行只读访问。我们的要求是:

  • 数据库读取调用的端点应该是恒定的,以便尝试读取此数据的各种 ETL 客户端不必重复更改其脚本。
  • 我们不想让数据库实例公开访问。
  • 数据库连接应使用 SSL。

有人可以指导我正确的步骤吗?

0 投票
3 回答
33286 浏览

amazon-web-services - Aws-elb 运行状况检查在 302 代码处失败

嗨,我在 7070 端口(非 ssl)上创建了 ALB 侦听器 443 和目标组实例

我可以毫无问题地访问 instanceip:7070,但是https://elb-dns-name无法访问.. 实例运行状况检查也因 302 代码而失败

ALB 侦听器端口 https 和实例是 http 协议,

当我使用https://dns-name浏览时,它会重定向到http://elb-dns-name

0 投票
2 回答
550 浏览

java - AWS ECS:任务被映射到错误的目标组

我有一个包含 2 个模块的 Spring 项目:Pets 和 Owners,每个模块都是从单个 MySQL 数据库获取数据的微服务。当我将这两者推送到具有 2 个任务的单个 Docker 容器中时——每个微服务 1 个——它们都启动并运行,并且这些任务被映射到不同的主机端口(32768 和 32769)。但是,当我访问 http://{elb-dns}/pet 时,我得到了 404,但是当我访问 http://{elb-dns}/owner 时,它返回了预期的数据。我了解到宠物任务被映射到错误的目标组,但不知道为什么。

创建 ECS 集群后,以下 AWS CLI“描述”命令输出如下:

我已经确认,当单独部署时,每个微服务都是独立工作的。我正在使用 Application Load Balancer,每个微服务都有自己的目标组。我不确定还有什么可以尝试或检查的。有没有人遇到过类似的问题?我还应该在哪里寻找线索?


更新 1

我将日志记录级别更改为 TRACE,并了解到所有 /pet 和 /owner 调用都被专门路由到 owner 任务。当我尝试 http://{elb-dns}/pet/1 时,以下日志来自所有者任务:

同样的调用不会在宠物任务中产生任何日志,这表明它没有被路由到容器中的正确任务。所以我仍然坚持这个问题。


更新 2

ELB 日志显示,对于 /pet 和 /owner,所有呼叫都被路由到同一个目标组。然而,/pet 应该被路由到一个 TG,/owner 应该被路由到另一个。需要明确的是,我有 3 个 TG:一个在容器端口 8080 上用于 /pet,一个在容器端口 8080 上用于 /owner,一个在容器端口 80 上接受 HTTP 请求。所有三个 TG 都在同一个 VPC 中。

0 投票
0 回答
309 浏览

tcp - TCP 背压如何与 AWS ALB 配合使用?

基于此AWS 文档,第 4 层和第 7 层 ALBS 都终止客户端连接并与后端实例建立新的 TCP 连接(连接在两端重用)。

  • 是否有关于如何管理这些连接的任何信息?(即每个客户端连接 1 个服务器连接?)
  • TCP 背压是如何处理的?如果服务器停止读取 TCP 数据包,客户端是否会意识到这一点,以便它可以背压?
0 投票
0 回答
601 浏览

amazon-web-services - AWS ELB X-Forwarded-For 偶尔丢失

我的经典负载均衡器偶尔不提供X-Forwarded-For标头,我不能确定同一个请求是否会有它。

我注意到对指向负载均衡器的 URL 的请求通过以下两个 IP 地址中的任何一个进行代理:IP AIP B. 正如您在下面的日志中看到的,IP A始终包含X-Forwarded-For标头和用户代理,IP B它们都没有。不要关注HTTP代码,没有时故意403 X-Forwarded-For

什么可能导致这种行为?

更新

IP A 和 B 都随机擦除标头,而不仅仅是 IP B。

更新 2

403 HTTP 错误是由其他原因引起的,而不是我的 apache 配置,所以它们不是故意的,正如上面所说

0 投票
1 回答
464 浏览

amazon-web-services - AWS - 使用 HTTPS 到 ECS 容器的应用程序负载均衡器未按预期工作

我已经设置了一个运行单个容器的 ECS 集群。容器配置将主机端口设置为 0 以使用动态端口映射。我已经检查过,所有与网络相关的设置都是正确的。

如果我直接使用分配给它的动态端口(例如 54.555.555.54:33424)点击 EC2 实例的 IP,我会得到我期望的登录屏幕。

我已将 Application Load Balancer 配置为使用 HTTPS 和 443 上的单个侦听器端口(目标组指向容器端的端口 80)。ELB 具有与我的域一起使用的证书,这是我从 ACM 获得的。

当我点击 ELB 的默认 URL 时,我无法访问容器。我对 URL 进行了 curl 处理,发现这是一个证书问题,这是有道理的,因为默认 URL 不是与 ACM 证书关联的 URL。但是,当我点击使用 ARM 证书设置的自定义 URL 时,连接被拒绝。

我在自定义 URL 上做了一个 curl,实际上我在终端中得到了一个结果。它显示重定向消息。如果我要卷曲 IP:Port,这与我得到的消息相同。

我已经检查过,我的容器在 ECS 端和 ELB 端都是健康的,所以它通过了健康检查。

有人知道这里到底发生了什么吗?我必须启用任何特定的任务/容器设置才能获得动态端口映射或 HTTPS 工作?

任何帮助都会很棒,我已经做了几个小时了。

0 投票
1 回答
559 浏览

amazon-web-services - 如果第一个服务器失败,AWS Elastic Load Balancer 是否可以仅用于将流量发送到第二个服务器

是否可以设置 AWS 弹性负载均衡器,以便将所有流量发送到主服务器,如果该服务器出现故障,则仅将流量发送到第二台服务器。

有一个我选择的现有 Web 应用程序,它从未构建为在多个服务器上运行,并且客户端已经开始担心冗余。他们不想投入足够的资金让它在多台服务器上运行良好,所以我想我可以设置第二台 EC2 服务器和 MySQL 从服务器,并使用 rsync 定期将文件从主服务器复制到辅助服务器。然后让 AWS ELB 将流量发送到主服务器,并且只有在失败时才将其发送到第二台服务器。

0 投票
1 回答
430 浏览

prometheus - Prometheus Cloudwatch Exporter 没有为 AWS ELB 返回正确的矩阵

我正在尝试将 prmetheus 的 cloudwatch 导出器与 AWS ELB 一起使用。我看不到 ELB 矩阵的任何日志。我可以看到图形/值在 cloudwatch UI 上得到更新,但在 cloudwatch-exporter 中没有得到相同的信息

下面是我的 YAML 文件,它用作输入 ` --- region: us-east-2 指标:

`

0 投票
1 回答
360 浏览

amazon-web-services - How do allow inbound traffic only from ELB?

I put up an ELB in front of my ec2 instances so traffic from coming from internet goes to elb first and then to one of my ec2 instance.Right now instance is also allowing traffic from 0.0.0.0 as it is unnecessary .I want them to be accessible other than ELB . How i can do that??Also is there anything to be taken care of??

0 投票
0 回答
40 浏览

laravel - Laravel 请求对象主机设置为 ELB 主机名而不是当前主机名

我有一个部署到 AWS 的 Laravel 应用程序,它通过 ELB 跨 2 个应用程序服务器进行负载平衡。

我遇到的问题是在 Laravel 请求中,该host属性设置为 ELB 的主机名,而不是当前的主机名。

这意味着像route()帮助程序这样的东西正在使用 ELB 主机名而不是正确的主机名生成 URL。

例如,我期望:

但我得到:

这似乎是一种奇怪的行为,我不确定如何以明智的方式解决这个问题。