标签: aws-application-load-balancer

如果我们为 Node 应用程序提供 AWS 应用程序负载均衡器,Nginx 是否会变得多余?

我有一个在 AWS 上运行的节点应用程序。当投入生产时,很有可能会收到大量请求。我计划使用 AWS ECS 托管它,并且应用程序前面会有一个 AWS 应用程序负载均衡器。当我查看“如何在生产中部署 Node 应用程序”时,我看到每个人都建议在 Node 应用程序前面使用 Nginx。

我的疑问是,如果我们的架构中有 ALB,我们还需要添加 Nginx 吗?如果我们需要为 100 万用户托管应用程序,那么使用 Nginx 有什么优势吗?

high-load nginx amazon-web-services aws-application-load-balancer

21
推荐指数
2
解决办法
9383
查看次数

在 AWS S3 和 CloudFront 中托管 React Router 应用程序时出现 403 访问被拒绝错误

当我将 React Router 应用程序部署到 AWS S3 和 CloudFront 时,并且当我尝试直接访问 React 路由时,它会出现以下错误,并显示 403 错误代码。当它流经应用程序时,我可以访问基本 URL ( www.sample-app.com ) 和路由 URL ( www.sample-app.com/cart )。

但是如果我尝试直接进入 React 路由(www.sample-app.com/cart),它会产生 403 Access Denied 错误,如下所示。主要的痛点是当我尝试刷新 React 路由 URL 时它会产生此错误。

<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied</Message>
  <RequestId>REQUEST_ID</RequestId>   
  <HostId>HOST_ID</HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)

注意:我使用 AWS 负载均衡器和 Lambda 函数作为后端。我已设置 AWS ALB 和 Cloudfront 以使用 AWS Cognito 对用户进行身份验证。

感谢您对此的帮助。

amazon-s3 amazon-cloudfront reactjs react-router aws-application-load-balancer

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

如何将API网关与内部ALB集成

根据https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-private.html,可以使用私有VPC链接将API网关与内部应用程序负载均衡器集成。

但是我无法让它发挥作用。

我有一项可通过 ALB 在内部访问的服务。ALB 没有公共 IP,它平衡 AWS Fargate 集群中的请求(全部位于私有子网内)。

ubuntu@ip-10-0-40-89:~$ curl http://internal-sasw-alb-355535611.eu-west-1.elb.amazonaws.com/health
Assembly=Sasw.SampleService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, Environment=Production, CurrentTime=05/05/2021 08:36:00
Run Code Online (Sandbox Code Playgroud)

所以内部一切都很好,我可以提供服务GET http://alb_url/health

我想访问相同的服务,只是这次通过 API 网关。所以我做了以下事情:

  1. 我创建了一个foo与 VPC 关联的 HTTP API 类型的 VPC 链接,特别是与 EC2 实例(Fargate 集群)所在的 3 个私有子网关联的 VPC链接10.0.40.0/2410.0.50.0/2410.0.60.0/24
  2. 我创建了一个 HTTP API 类型的 API 网关foo
  3. 我为方法 ANY 和 URL 端点添加了集成 HTTP http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com(我也尝试过http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com/{proxy}http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com/{proxy+}没有成功)
  4. 我将路线保留为建议的 Method ANY、资源路径/%7Bproxy%7D和集成目标ANY http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com/{proxy}
  5. 我留下艺名$default并自动部署
  6. 创造。它给了我调用网址https://7ki6gvrngl.execute-api.eu-west-1.amazonaws.com …

amazon-web-services amazon-vpc aws-api-gateway aws-application-load-balancer

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

在AWS应用程序负载均衡器中,有没有办法在路由期间更改路径?

例如,我有两个后端服务,A 和 B,我想用路径转发所有内容

/A*到 A 和B - 但我想在它击中它们之前/B*去掉/A/和。/B/例如,/A/api到达 A 时为/api。这可能吗?

编辑:我特别想转发流量,而不是重定向。

amazon-elb aws-application-load-balancer

14
推荐指数
1
解决办法
7554
查看次数

EKS ALB 无法自动发现子网

背景

  • 我有VPC3 个公共subnets(子网可以访问 Internet 网关)

  • 我在这个 VPC 中有一个 EKS 集群,EKS 集群是从控制台创建的,没有使用 eksctl

  • 我使用了官方 aws 文档中的教程,我设法设置了我的 ALB 控制器并且控制器运行完美:

集群包含两个节点组:

  • 第一个节点组有一个节点类型: t3a.micro
  • 第二个节点组有一个节点类型: t3.small
$ kubectl get deployment -n kube-system aws-load-balancer-controller
NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
aws-load-balancer-controller   1/1     1            1           60m
Run Code Online (Sandbox Code Playgroud)

我使用了他们的游戏示例,这是清单文件:

---
apiVersion: v1
kind: Namespace
metadata:
  name: game-2048
---
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: game-2048
  name: deployment-2048
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: app-2048
  replicas: 1
  template:
    metadata:
      labels:
        app.kubernetes.io/name: app-2048
    spec:
      containers:
      - …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-eks aws-application-load-balancer

14
推荐指数
3
解决办法
8771
查看次数

如何在 AWS ALB 入口控制器中重写目标 url?

在经典的 Kubernetes Nginx 入口中,我知道可以通过应用此注释基于特定的正则表达式重写目标 url nginx.ingress.kubernetes.io/rewrite-target: /$1

但是此注释在 AWS ALB 入口中不起作用。有谁知道是否可以使用这种入口进行重写工作?

url-rewriting kubernetes kubernetes-ingress amazon-eks aws-application-load-balancer

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

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

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

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

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

将自定义标头添加到 Amazon AWS ALB 请求

我想在 AWS ALB 级别向请求添加自定义标头。我正在将一些 iRules 从 F5 迁移到 ALB,并且有很多用 F5 编写的自定义 iRules 来根据某些条件添加自定义标头,我必须保持它类似,以便执行更顺利的迁移。

是否可以从 AWS ALB 本身执行此操作?

amazon-web-services big-ip f5 aws-application-load-balancer

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

如何配置 AWS 应用程序负载均衡器以超出 25 个 SSL 证书限制

AWS 应用程序负载均衡器有 25 个 SSL 证书安装限制。

我想配置我的弹性 beanstalk 环境,可能有多个负载均衡器,以便我可以超越此限制并安装更多证书,每个负载均衡器 25 个。我相信这对大多数 SaaS 开发人员来说是一个有用的问题。

有没有人制作过允许超过 25 个 SSL 证书/域的配置?

一种方法可能是,对于端口 443 上未安装在 HTTPS 侦听器上的主机,我可能会创建一个转发到例如端口 40443 的规则,但是,我需要为每个新的 SSL 证书/主机/租户。此外,我不确定浏览器客户端是否会注意到端口更改并转到 domain.com:40443 而不是隐藏端口。

无论如何,如果您有其他解决方案,我很想听听。

限制是每个“侦听器”,所以我试图在同一个端口 443 上创建一个新的侦听器,但这是不允许的。

以下是限制页面的参考:https : //docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html

amazon-web-services amazon-elastic-beanstalk aws-application-load-balancer

9
推荐指数
1
解决办法
975
查看次数

是否可以在 AWS 中创建仅限 IPV6 的应用程序负载均衡器 (ALB)(截至 2023 年 12 月)?

可以在 AWS 中创建仅 IPV4 或双堆栈(4 和 6)ALB。是否可以创建在公共接口上仅支持 IPV6 的 ALB?

AWS 将从 2024 年 2 月开始对 IPV4 公共 IP 收费。每个 ALB 分配 2 个 IP,因此每年的额外费用约为 86 美元。不考虑成本,有没有办法

  1. 关闭公共接口上的 IPV4 支持,仅保留 IPV6
  2. 仅支持来自公共互联网的 IPv6 流量,但如果目标 EC2 实例仅为 IPV4,则让 ALB 转换为 IPV4。

文档似乎表明,如果客户端通过 IPV6 进入,今天似乎支持 #2,但 AWS 控制台中似乎没有针对 #1 的选项。如果通过 AWS CLI 存在,则不会记录。

https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html仅指 Elastic Load Balancing(未特别提及 ALB),并表示不提供仅 IPV6 支持。

希望在 AWS 决定对公共 IP 甚至 ALB 收费的同时,他们能够为不需要 ipV4 的环境提供一种仅支持 IPv6 的方法。

amazon-web-services aws-application-load-balancer

9
推荐指数
0
解决办法
542
查看次数