在AWS中将前端连接到后端

问题描述 投票:1回答:1

我有一个用Angular编写的UI应用程序,它有一个在NodeJS中运行的后端。我还有两个其他服务,将从NodeJS后端调用。这些应用程序在docker容器中运行,并部署到AWS中的Kubernetes集群。

流程是这样的:

AngularUI - > NodeJS - > Service1 / Service2

AngularUI和NodeJS位于同一个docker容器中,而另外两个服务位于2个独立的容器中。

我已经能够在AWS上的Kubernetes中运行服务。服务到服务呼叫(服务1-> Service2)工作正常,因为我正在使用k8s标签调用它们。

现在我无法弄清楚如何从Angular前端到NodeJS后端进行调用,因为请求在客户端执行。我无法提供服务的ELB的IP,因为IP随着每次部署而改变。

我尝试创建一个AWS API Gateway,它指向Angular UI的ELB IP,但不提供页面。

这样做的正确方法是什么?任何帮助深表感谢。

angular amazon-web-services amazon-ec2 kubernetes
1个回答
1
投票

ELB有一个静态DNS主机名,如foobar.eu-west-4.elb.amazonaws.com。当您有一个域时,创建一个指向此DNS主机名的A记录(别名)。例如。

webservice.mydomain.com -> mywebservicelb.eu-west-4.elb.amazonaws.com

您还可以使用静态IP地址,这似乎是一个相当新的功能:

每个网络负载均衡器为其权限范围内的每个可用区域提供单个IP地址。如果你有us-west-2a目标和us-west-2c中的其他目标,NLB将创建和管理两个IP地址(每个AZ一个);与该IP地址的连接将在AZ中所有VPC子网中的实例之间传播流量。您还可以为每个AZ指定现有的弹性IP,以实现更好的控制。通过完全控制IP地址,可以在需要将IP地址硬编码到DNS记录,客户防火墙规则等中的情况下使用网络负载均衡器。

https://aws.amazon.com/de/blogs/aws/new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second/

© www.soinside.com 2019 - 2024. All rights reserved.