如何在两个 EC2 服务器上部署单个 Web 应用程序(nodejs+reactjs)以实现负载平衡和自动缩放?
How to deploy a single web application(nodejs+reactjs) on two EC2 server for load balancing and autoscaling?
我的客户要求我在两台 EC2 服务器上部署 Web 应用程序(nodejs 后端+reactjs 前端)。为了实现良好的负载均衡和基于流量的自动缩放,
注意:客户端不想选择高版本的单服务器
假设前端是 SPA(浏览器生成的 HTML),然后在 S3 + CloudFront
上托管 React 部分
关于在 EC2 上部署节点:
使用CloudFormation设置基础设施(EC2机器、ASG和负载均衡器)
然后使用CodeDeploy部署/更新应用程序
这里是 post 使用 CodeDeploy 部署 Node.js:https://hub.packtpub.com/deploy-nodejs-apps-aws-code-deploy/
您可能会发现它更容易使用 Elastic Beanstalk 不过
有多种方法可以针对此问题实现令人满意的架构。如果我们正在研究使用 EC2 实例,我们可以执行以下操作:
将您的后端部署到 Auto Scaling Group 的目标组中,并在其前面放置一个应用程序负载均衡器。实例可以自动注册到负载均衡器,负载均衡器可以在它们之间分配流量。
将您的静态前端应用程序部署到 S3 bucket,如有必要,使用 CloudFront 分发进行缓存和更快的加载。
我的客户要求我在两台 EC2 服务器上部署 Web 应用程序(nodejs 后端+reactjs 前端)。为了实现良好的负载均衡和基于流量的自动缩放, 注意:客户端不想选择高版本的单服务器
假设前端是 SPA(浏览器生成的 HTML),然后在 S3 + CloudFront
上托管 React 部分关于在 EC2 上部署节点:
使用CloudFormation设置基础设施(EC2机器、ASG和负载均衡器)
然后使用CodeDeploy部署/更新应用程序
这里是 post 使用 CodeDeploy 部署 Node.js:https://hub.packtpub.com/deploy-nodejs-apps-aws-code-deploy/
您可能会发现它更容易使用 Elastic Beanstalk 不过
有多种方法可以针对此问题实现令人满意的架构。如果我们正在研究使用 EC2 实例,我们可以执行以下操作:
将您的后端部署到 Auto Scaling Group 的目标组中,并在其前面放置一个应用程序负载均衡器。实例可以自动注册到负载均衡器,负载均衡器可以在它们之间分配流量。
将您的静态前端应用程序部署到 S3 bucket,如有必要,使用 CloudFront 分发进行缓存和更快的加载。