标签: aws-alb

AWS ALB 能否将流量转发到另一个 ALB

我们有两个 Nginx 正在运行,第一个 Nginx 在检查了一些将流量转发到另一个 Nginx 的规则后接收到流量,现在我们正在将其转移到 AWS ALB,但没有找到任何将流量从一个 ALB 转发到另一个 ALB 的选项。

请帮助我如何做到这一点。

我知道这两个 ALB 是一个设计问题,但目前我们无法改变这一点,团队将来会这样做。

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

8
推荐指数
1
解决办法
6369
查看次数

AWS ECS错误:任务在目标组中的ELB运行状况检查失败

我正在使用云形成模板来构建基础架构(ECS Fargate集群)。模板已成功执行,并且堆栈已成功创建。但是,任务失败,出现以下错误:

Task failed ELB health checks in (target-group arn:aws:elasticloadbalancing:eu-central-1:890543041640:targetgroup/prc-service-devTargetGroup/97e3566c8b307abf)
Run Code Online (Sandbox Code Playgroud)

我没有得到什么和在哪里寻找解决此问题的方法。由于它是fargate集群,因此我无法获得如何登录到容器并执行一些运行状况检查查询以进一步调试的信息。

有人可以帮我进一步指导并帮助我吗?由于此错误,我什至无法访问我的Web应用程序。因为如果ALB不健康,ALB不会路由它

我做了什么

经过一番谷歌搜索后,我发现了这篇文章:https : //aws.amazon.com/premiumsupport/knowledge-center/troubleshoot-unhealthy-checks-ecs/

但是,我想这与fargate中的EC2兼容性有关。但就我而言,EC2不存在。

如果您有感觉,我也可以粘贴整个模板。

请帮忙

amazon-web-services aws-fargate aws-alb

7
推荐指数
4
解决办法
5326
查看次数

AWS ALB - 您必须从至少两个可用区中指定子网

对于 ALB - “您必须从至少两个可用区指定子网。”

对于 NLB - “您可以从一个或多个可用区指定子网。”

强制执行 2 个可用区作为 ALB 的 MUST 要求而不是 NLB 的原因是什么?

amazon-ec2 amazon-web-services aws-elb aws-alb

7
推荐指数
1
解决办法
1678
查看次数

ALB 未正确传播响应标头

我在 ALB 后面有一个 lambda 目标。我的 lambda 是一个 python lambda。

def handler(event, context):
response = {
    "statusCode": 200,
    "statusDescription": "200 OK",
    "isBase64Encoded": False,
    "headers": {
        "Content-Type": "text/html; charset=utf-8"
    }
}
Run Code Online (Sandbox Code Playgroud)

不过,在使用 curl 访问我的 url 时,我收到了一个

< HTTP/1.1 200 OK
< Server: awselb/2.0
< Date: Sat, 06 Apr 2019 04:46:50 GMT
< Content-Type: application/octet-stream
< Content-Length: 0
< Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

注意Content-Type是一个八位字节流,它会导致浏览器将响应下载为文件而不是显示它。我尝试向"Foo":"Bar"响应添加额外的标头,但它们没有出现在 curl 响应中。ALB 似乎正在吃我的 lambda 提供的标头。我怎样才能解决这个问题?

amazon-web-services aws-lambda aws-alb

6
推荐指数
1
解决办法
2687
查看次数

Kubernetes ALB 入口:如何在入口资源上公开多个端口

我正在尝试为这个看起来很常见的问题找到解决方案。

  1. 我有一个 k8s 集群 ip 服务,它暴露了两个端口:8088 和 60004
  2. 我想在 ALB 上公开这些相同的端口而不使用基于路径的路由

这适用于在 8088 端口上公开一项服务:

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myingress
  namespace: myns
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/healthcheck-path: /ping
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/tags: Environment=dev,Team=test
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 8088}]'
spec:
  rules:
    - host: myhost
      http:
        paths:
          - path: /*
            backend:
              serviceName: firstservice
              servicePort: 8088
Run Code Online (Sandbox Code Playgroud)

如何使用 ONE Ingress 为两种服务实现相同的目标?

提前致谢。

kubernetes kubernetes-ingress aws-alb

6
推荐指数
1
解决办法
3421
查看次数

Windows 身份验证在 AWS Application Load Balancer 后面不起作用

我有一个使用 Windows 身份验证的 ASP .NET WCF 服务 Web。将 Web 服务部署到服务器 (Windows Server 2012) 并在 IIS 上启用 Windows 身份验证后,我使用 localhost 直接访问服务器的页面。它提示输入凭据,我提供一次 AD 用户名/密码,它就可以工作。

现在,如果我在 AWS 应用程序负载均衡器后面有相同的服务器,并且我访问了映射到应用程序负载均衡器的 Web 服务的 DNS,那么就会注意到这里存在问题。

将弹出用于输入 Windows 凭据的窗口。但是当我输入正确的凭据时,它不会接受它们。反复提示输入用户名/密码?发生了什么?ALB 不支持 IIS 的 AD 集成身份验证?

有任何想法吗?

windows-authentication amazon-web-services iis-7.5 aws-alb aws-application-load-balancer

6
推荐指数
1
解决办法
9038
查看次数

AWS:在 Elasticsearch 托管服务之前放置应用程序负载平衡

我正在 AWS 上创建一个 elasticsearch 托管服务;

创建服务时,不会创建显式实例,您只会获得一个 url/端点;

我想通过 ALB 公开服务,但是在创建相应的目标组时,我不得不在instance和之间进行选择ip,而我唯一拥有的是端点 ( url);

如何解决这个问题?

load-balancing amazon-web-services elasticsearch aws-alb

5
推荐指数
1
解决办法
1921
查看次数

AWS ALB 从 lambda 返回 502 Bad Gateway

我有一个 lambda 函数,它返回 base64 字符串,当我从它的代码中调用 lambda 时,它可以工作,但是当我在 ALB 后面调用 lambda 并且 base64 字符串很大时,ALB 给我错误 502 Bad Gateway。注意:对于小字符串 ALB 也有效。

// Lambda function handler

'use strict';


module.exports.handler = async (event, context) => {
  // ALB expects following response format
  // see: https://docs.aws.amazon.com/lambda/latest/dg/services-alb.html
  const response = {
    headers: {
      'Access-Control-Allow-Origin': '*',
      'Content-Type': 'application/json',
    },
    isBase64Encoded: true,
    statusCode: 200,
    statusDescription: '200 OK',
  };
// ALB gives error 502 when buffer size is large
  const answer = 'This is my audio buffer'.toString('base64');
  response.body = …
Run Code Online (Sandbox Code Playgroud)

node.js aws-lambda aws-sdk-nodejs nodejs-stream aws-alb

5
推荐指数
1
解决办法
5899
查看次数

添加后 AWS 负载均衡器侦听器消失

我不是 AWS 专家,但尝试做一些简单的事情,例如创建应用程序负载均衡器、向其中添加目标组并尝试添加侦听器。接下来发生的事情让我感到困惑。在 AWS 控制台 -> EC2 -> 负载均衡器 -> 侦听器 -> 添加侦听器页面上,我选择 Http:80,在默认操作下我添加“转发到”,从下拉列表中选择我的实例,单击“检查”按钮,显示在默认操作下添加的规则。然后我点击屏幕上的第二个保存按钮,刷新/返回然后你去 - >我的听众消失了。以前有人遇到过这个问题吗?我检查了这个问题:AWS 经典负载均衡器侦听器未创建,然后消失。- 解决方案对我不起作用(我已经按下了第二次保存,它位于屏幕顶部,而不是 ALB 底部)。任何指针将不胜感激

amazon-web-services aws-load-balancer aws-alb

5
推荐指数
1
解决办法
367
查看次数

如何在 AWS ALB 中实施客户端凭证授予

我正在尝试使用 OIDC 来实现 ALB 以获取授予类型的客户端凭据。

我已在 ALB 的“侦听器”选项卡中给出了发行者、令牌端点、客户端 ID 和客户端密钥、授权端点和用户信息端点

但我在尝试访问 url 时收到 400 invalid redirect_uri 。

amazon-web-services amazon-elb openid-connect aws-alb

5
推荐指数
1
解决办法
1962
查看次数