问题标签 [aws-application-load-balancer]

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 投票
8 回答
31258 浏览

amazon-web-services - ELB 和 ECS 集群前的 Amazon API Gateway

我正在尝试将 Amazon API 网关放在 Application Load Balancer 前面,该应用程序负载均衡器可以平衡到我的 ECS 集群的流量,我的所有微服务都在其中部署。使用 API Gateway 的动机是通过 lambda 函数使用自定义授权方。

系统图

在此处输入图像描述

用亚马逊的话 ( https://aws.amazon.com/api-gateway/faqs/ ):“对后端操作的代理请求也需要在 Internet 上公开访问”。这迫使我将 ELB 公开(面向互联网)而不是内部。然后,我需要一种方法来确保只有API Gateway 能够访问 VPC 之外的 ELB。

我的第一个想法是在 API 网关中使用客户端证书,但 ELB 似乎不支持它。

任何想法将不胜感激!

0 投票
2 回答
13216 浏览

amazon-web-services - 如何创建到 ALB 的 Route 53 记录?(AWS)

我想创建一个新的 alb 和一个指向它的 route53 记录。

我看到我有 DNS 名称:${aws_lb.MYALB.dns_name}

是否可以使用 aws_route53_record 资源为公共 DNS 名称创建 cname?

0 投票
1 回答
2066 浏览

amazon-web-services - AWS ALB:基于路径的路由不转发到目标组

我创建了一个 ALB 和一个目标组。

ALB 在 上有一个监听器80。这会将其转发到我的目标组,然后再将其发送到 port 上的已注册实例9000

我正在尝试添加基于路径的规则,如下所示:

在此处输入图像描述

但是,当我点击时<alb-dns-name>,我会被重定向到我的注册实例。

当我尝试时,<alb-dns-name>/portainer我得到404.

我错过了什么吗?

0 投票
3 回答
3881 浏览

tomcat - AWS Application Load Balancer 443 后面的 tomcat 8080

我的目标是 443 (ALB)->8080 (TOMCAT)

我在 8080 上运行 EC2 tomcat 实例。

这是8080上的tomcat apr连接器

我有一个带有证书的 ALB 在 443 上侦听,并设置为传递给目标组 8080。

所以这个想法是https://www.website.com/myapp -> www.mywebsite.com:8080/myapp

我知道我的应用程序运行良好,因为如果我开放对 8080 的公共访问,我可以完全运行该应用程序。

我有一些配置错误,因为当我访问该站点时 https://www.website.com/myapp

我似乎被重定向到:www.website.com/myapp

似乎我可以很好地访问 tomcat,但是当它响应时它会将我重定向回 http。我究竟做错了什么?

谢谢!

0 投票
2 回答
745 浏览

amazon-web-services - 如何使用 cloudformation 模板为不同的 elasticbeanstack 应用环境使用相同的应用负载均衡器?

我正在运行具有不同服务的应用程序。我已经使用弹性 beantalk 将其部署为微服务模式。每个微服务都托管在一个单独的弹性 beanstalk 环境中,但在同一个应用程序中。

我已经使用云形成模板自动化了部署过程。我通过模板为每个应用环境创建了一个资源。它被创建。Beanstalk 环境使用默认目标组和每个环境单独的应用程序负载均衡器,如果我向我的应用程序添加更多数量的微服务,这需要更多数量的应用程序负载均衡器,但是可以使用单个应用程序负载均衡器来路由流量不同的微服务目标群体。

我已经检查了资源中可用的参数。beantalk 环境资源中可用的主要选项是单实例或负载平衡环境。如果我选择单个实例,那么它不会创建任何负载均衡器。它只是创建一个 EC2 服务器并部署应用程序。Apache/Nginx 充当反向代理服务器来访问端点。同时,如果我使用负载均衡环境,我可以配置应用程序负载均衡器相关的设置。但是我没有找到任何方法来重用单个应用程序负载均衡器,我们现在在 AWS 中是否有这样的支持,AWS 已经添加了一些选项来控制 ELB 从弹性 beantalk。

0 投票
4 回答
1228 浏览

amazon-web-services - 在 AWS 应用程序 LB 之上添加 AWS Cloudfront 有什么好处?

我参加了 AWS 培训,他们向我们解释说,一个好的做法是通过 Cloudfront 缓存所有动态内容,将 TTL 设置为 0,即使负载均衡器前面有一个 LB。所以它可能是这样的:

我看不到这种架构的任何优势,而不是直接拥有(仅适用于动态内容):

我不明白这一点,因为 Cloudfront 将始终将所有流量发送到 LB,因此您将拥有:

  • 两个 HTTPS 协商(客户端 <-> Cloudfront 和 Cloudfront <-> LB)
  • 完全没有缓存(它是动态内容,不应该被缓存,因为这就是“动态”的意思)
  • 您将没有客户端 IP,因为您的 LB 只会看到 Cloudfront IP(我知道这可以修复,以获得客户端 IP,但是您将遇到下一个项目符号的问题)。
  • 作为一项额外的工作,您需要能够经常更新您的 LB 安全组,以匹配 CloudFront IP(对于该区域),因为我猜您只想从您的 Cloudfront 获取流量,而不是直接从 LB 公共端点获取流量.

所以,可能,我错过了关于这个Route 53 -> CloudFront -> Application LB架构的一些重要的东西。

有任何想法吗?

谢谢!

0 投票
1 回答
2556 浏览

angular - 带有应用程序负载均衡器的 Angular 6 应用程序

我在 AWS 中有一个用于 Angular 6 应用程序的应用程序负载均衡器 (ALB)。当我尝试通过 ALB 访问应用程序时遇到问题。我有其他应用程序可以通过同一个 ALB 访问,因此我知道安全组,并且其他网络配置已正确配置。

我在 ALB 上的端口 80 上有一个侦听器,并且我正在使用路径路由通过 ALB 上的端口 80 为多个应用程序提供服务。我拥有 Angular 应用程序的路径是/angular*.

当我尝试访问 Angular 应用程序时,某些应用程序资产会收到 503 错误,而其他应用程序资产会收到 200 错误。具体来说,我收到 index.html 很好,但没有一个 JS 文件回来,我得到了每个 503。

我认为这可能是我的 index.html 文件中的“base_href”的问题,所以我更改了它以匹配我在 ALB 上为应用程序设置的路径。但是,我仍然收到同样的错误。任何关于可能问题的建议将不胜感激。

0 投票
1 回答
427 浏览

amazon-web-services - 502 网关错误:容器端口 5000 上的节点应用程序

我在这里在 aws 中托管了一个 Angular 应用程序作为微服务: http ://test-2079808347.us-east-2.elb.amazonaws.com: 5000 。我收到 502 Bad Gateway 错误。下面给出的是服务的 yaml 模板和任务定义。我正在使用的图像在我运行时在本地环境中工作docker run -p 5000:5000 <image-tag>

下面给出的是负载均衡器的 yaml 模板。

下面给出的是 Cloudformation 堆栈。 在此处输入图像描述

0 投票
1 回答
824 浏览

amazon-web-services - AWS ALB 路由 - 未找到请求的 url

我有一个专门作为网站管理区域前端的微服务。微服务有专门的路由,/admin. 404 error当我尝试访问时,这给了我一个。下面给出的是微服务云模板的摘录。

我在基础设施中也有一个应用程序负载均衡器 (ALB)。这是我的项目:https ://github.com/ammarisme/aws-cloudformation.git

0 投票
1 回答
2819 浏览

amazon-web-services - AWS LoadBalancer 监听多个端口

我有一些应用程序在 aws 中作为微服务运行。其中一些在端口 80 上运行,其中一些在端口 3000 上运行。我希望我的 ALB 监听两个端口上的流量。然后我必须ListenRules将流量引导到微服务。我想实现以下目标,