问题标签 [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 回答
859 浏览

amazon-s3 - 用于 SPA Angular 6 应用程序的 AWS S3 和 AWS ELB,而不是 AWS Elastic beanstalk

我正在创建一个 Angular 6 前端应用程序。我的后端 api 是在 DotNet 中创建的。假设应用程序类似于https://www.amazon.com/

我的查询仅与 AWS 上的前端部分部署相关。我的门户网站上预计会有大量具有可变计数模式的用户。我想过使用 AWS 弹性 beanstalk 作为 PAAS Web 服务器。

是否可以使用 AWS S3/ELB 代替 PAAS beanstalk 而没有任何限制?

0 投票
1 回答
1732 浏览

amazon-web-services - 每次对 AWS ELB 的第一次请求都很慢

希望在此处了解 AWS Classic 负载平衡。我有一个在经典 ELB 后面运行的弹性 beanstalk Web 应用程序,我目前是唯一的流量(正在开发中)。当我发送请求时,第一次总是需要 1.26 分钟。如果我在它立即响应后不久发送另一个请求。但是,如果我等待几分钟,它将恢复到 1.26 分钟的响应时间。

我已经尝试启用和禁用跨区域负载平衡和粘性会话,但响应时间没有改变。

我也尝试过从不同的进程运行请求,并且在 1 个进程上成功的 1 个请求不会使另一个进程立即响应(它们的第一个请求都很慢)。

我希望了解为什么会发生这种情况,以及如何防止所有用户在第一次请求时发生这种情况?

我有 2 个可用区,每个运行应用程序的区域中有 1 个 ec2 实例。我还将它们放在私有子网中,并将负载均衡器放在对应于每个可用区的 2 个公共子网中。

我也将 nginx 用于弹性豆茎,这是我的配置:

更新: 我相信我们可以排除以下情况:

  1. 我已验证 DNS 已立即解析(尝试 ping 然后请求(无效),并dig api.mydomain.com立即使用响应)
  2. 应用程序在 1.27 分钟内未收到请求(因此这不是 CPU/数据库延迟问题)。

它似乎介于负载均衡器获取请求和 ec2 实例获取请求之间,但我不确定如何调试它。在响应返回之前,我在 Wireshark 中看到了很多 TCP 重传。

0 投票
0 回答
1235 浏览

amazon-web-services - 如何使用 Amazon ALB 端口转发在单个 EC2 实例上运行多个服务

我在单个AWS EC2实例的多个端口上运行多个服务。我一直在使用两个ALBs来运行这些服务,但我想将它们组合成一个 ALB,根据主机名转发到正确的服务。一个服务是运行端口 80 的节点应用程序,另一个是运行端口 5001 的烧瓶应用程序。

到目前为止,我已经为mywebsite端口 80 上的节点应用程序和api-service端口 5001 上的烧瓶应用程序设置了目标组。

我将这些目标组添加到 ALB,my-alb并设置转发规则,以便端口 80 和 5001 将转发到端口 443。在端口 443 上,我设置转发规则,以便如果主机匹配api.*,它将转发到目标组api-service,否则它将默认为my-website.

我还将我的 alb 设置为 53 号路线的别名,api.mywebsite.comwww.mywebsite.com设置了证书。我的两个目标群体的所有健康检查都通过了。

这是问题所在: www.mywebsite.com工作正常。我被转发到该https网站的版本,一切看起来都很好。当我尝试使用api.mywebsite.com它时,它不会加载并且我收到 504 Bad Gateway 错误。

总而言之,以下是我已完成的步骤:

  1. 为我的服务设置两个目标组port 80 and 5001
  2. 将这两个目标组添加到ALB并设置路由规则以重定向到port 443
  3. port 5001如果主机匹配api.*其他路由到端口 80 上的服务,则为路由 443 设置转发规则以转发到服务。
  4. 将 ALB 设置为api.mywebsite.comwww.mywebsite.comin的别名route 53

任何帮助将不胜感激,谢谢!

编辑:让它工作。

我错误地配置了我的安全组。那是我缺少的步骤:D。一旦我将端口 5001 添加到分配给我的 ALB 和 EC2 的安全组,它就开始正常工作。

谢谢!

0 投票
1 回答
188 浏览

amazon-web-services - 如何在定制的 TCP 应用程序中编写 AWS ELB 运行状况检查代码?

我们有一个使用 asio 构建的定制应用程序,它同时使用 TCP 和 UDP。我们已将应用程序部署到 AWS 并使用网络负载均衡器。网络 LB 正在使用 TCP 执行健康检查,但是我们的健康检查失败。

我必须写什么代码来确保健康检查不会失败。我知道在 HTTP 的情况下我只会回复 200 但是我不确定在 TCP 的情况下该怎么做。

0 投票
2 回答
1059 浏览

amazon-web-services - 使用 UDP ECS 服务对 NetworkLoadBalancer 进行健康检查

我正在尝试部署仅使用 UDP 端口的 ECS 服务。通过 NetworkLoadBalancers 添加了对 UDP 负载平衡的支持,因此我部署了我的服务,允许为我的任务分配动态主机端口,并使用适当的侦听器和目标组设置 NLB。

我遇到的问题是 NLB 显然必须进行健康检查,并且必须基于 TCP。对于运行状况检查端口,您可以保留默认的“目标”端口(它适用于动态主机端口分配),或者您可以指定一个端口。我不能做的是为 TCP 公开的端口与我的负载均衡器目标 UDP 端口不同。我可以让我的容器在同一个端口上同时监听用于生产的 UDP 和用于运行状况检查的 TCP,但任务定义似乎不允许这样做,即使 Docker 支持它也很好。

这似乎使 UDP NLB 对 ECS 服务毫无用处,除非我遗漏了什么?我想出的唯一替代方法是使用静态配置的主机端口,这样我就可以在受控主机端口上为 TCP 公开第二个端口,并将其作为 NLB 运行状况检查的目标。这样做的问题是,由于无法在一个实例上运行多个任务,我们现在已经失去了 ECS 的所有可扩展性优势。

0 投票
1 回答
38 浏览

amazon-cloudformation - AWS ELB 将 HTTP 重定向到 HTTPS

我正在使用此 CloudFormation 模板https://github.com/widdix/aws-cf-templates/blob/master/jenkins/jenkins2-ha-agents.yaml来设置 jenkins 服务器。

我现在想向 ELB 添加 SSL,并将https://github.com/widdix/aws-cf-templates/blob/master/jenkins/jenkins2-ha-agents.yaml#L511-L519修改为以下内容:

但是当我尝试访问该站点时,它只是时间。

非常感谢任何建议

0 投票
1 回答
57 浏览

amazon-ecs - ECS + ALB - 我的应用程序只响应几次

我为微服务开发了两个 Spring Boot 应用程序,并使用 ECS 将这些应用程序部署到容器中。为此,我遵循了官方宠物诊所示例(https://github.com/aws-samples/amazon-ecs-java-microservices/tree/master/3_ECS_Java_Spring_PetClinic_CICD)。一切似乎都正常工作,但是当我经常向 ALB 发出请求时,我会收到 502 或 503 HTTP 错误,并且有几次我可以看到应用程序的正确响应。有人能帮我吗?提前致谢。

0 投票
2 回答
50 浏览

mongodb - 尝试使用 AWS EC2 node.js 应用程序通过 AWS ELB 与 AWS Mongo Linux 实例通信

我有 2 个带有 node.js 应用程序的 AWS EC2 实例。开箱即用,它们带有一个运行良好的本地 mongod 实例。鉴于应用程序的重要性,我决定启动 2 个 EC2 前端(节点 js),以使用 AWS ELB 与另一个可用区中的 mongo db 通信。

所有 3 个节点之间都存在完整的 IP 通信/27017 连接。

当mongo服务器只使用1台服务器时,它工作得很好。将两个前端服务器添加到 ELB 目标组时,我得到随机的 504 网关错误。

从组中删除服务器可解决此问题。

关于我应该寻找什么的任何建议?

关于 node.js 服务器如何连接到 mongo,有一个 config.json 文件,它简单地指出了所需的 IP 和 DB 名称。

谢谢!

0 投票
1 回答
171 浏览

amazon-web-services - 为多个应用程序使用网络负载平衡器

目前我有一个 Amazon ALB 设置为根据路径转发流量:

我设置了规则,以便 www.example.com 指向 FrontendTargetGroup,而 api.example.com 指向 BackendTargetGroup。

但是,由于其他原因,我现在需要使用网络负载平衡器。

我怎样才能用这个实现相同的基于路径的路由方法?

0 投票
1 回答
93 浏览

amazon-web-services - 如何确保我的 Redis 和 RDS 仅可用于动态实例(AWS Autoscaling)

我在 AWS 自动缩放中托管了我的 magento2 站点,并使用了 Redis/Elasticache、RDS。我如何确保我的 Redis 和 RDS 只能从自动缩放中创建的动态实例中访问。