以下云(AWS)架构的弊端

时间:2019-02-21 21:25:53

标签: amazon-web-services amazon-ecs amazon-elb amazon-alb

我需要一个可扩展的,具有成本效益的体系结构来进行网页设计服务。 (多个客户)。我正在遵循以下架构。我想知道它的缺点。

背景:基于Nuxt.js的服务器呈现的应用程序,位于nginx反向代理的前面。

应用程序容器代理容器已部署到AWS ECS实例上。代理容器通过侦听器注册到ALB(应用程序负载平衡器),侦听器从动态容器端口映射到静态ELB端口。

因此,假设我们有两个客户:www.client-1.comwww-client-2.com

www.client-1.com发出请求时,该请求会被重定向到ALB的端口80 301(带掩码)。当请求到达ALB:80时,它通过配置的instance_ip:3322映射到listener-for-client-1(其中3322是动态容器端口)。并将响应发送回客户端。

www.client-2.com发出请求时,该请求将301重定向(带有屏蔽)到ALB的端口81。当请求到达ALB:81时,它通过配置的instance_ip:3855映射到listener-for-client-2(其中3855是动态容器端口)。

如您所见,此模型使我可以在多个客户端之间共享elb。该模型已经过测试,可以为我工作。

  • 您认为域转发301是一个糟糕的主意吗?您能否推荐一种经济实惠的替代方案,而无需每个客户提供ELB。
  • 您还看到哪些其他缺点?

谢谢!

1 个答案:

答案 0 :(得分:0)

域掩码始终是一个可怕的想法。问题是不可避免的,尤其是当浏览器需要访问非标准端口时。

但这都不是必需的。 ALB在单个平衡器上支持多个应用程序(客户)。

  

您现在可以创建Application Load Balancer规则,这些规则根据Host标头中指定的域名路由传入的流量。可以将对api.example.com的请求发送到一个目标组,将对mobile.example.com的请求发送到另一个目标组,而所有其他请求(通过默认规则)都可以发送到第三个目标组。

     

https://aws.amazon.com/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/

尽管本示例使用http://example.com的子域,但ALB没有要求将域关联的限制。您可以将26个不同的SSL证书附加到单个ALB,并按主机名从标准端口80和443路由到每个请求Host标头的唯一后端目标-每个平衡器最多100条规则。