Elastic Beanstalk 如何支持 Web 服务器的多个 EC2 实例?

How does Elastic Beanstalk support multiple EC2 instances for a web server?

可能是我不太明白Elastic Beanstalk的具体用途,所以我的问题是:

如果实例充当后端 Web 服务器,Elastic Beanstalk 如何能够在同一 Elastic Beanstalk 环境中支持多个 EC2 实例?

例如,如果我有一个具有端点 www.example.com/api/endpoint 的服务器,Elastic Beanstalk 是否允许我拥有超过 1 个具有相同端点的实例(以实现高可用性)?那可能吗?如果没有,如果它们都具有不同的域,您如何利用额外的 EC2 实例?

如何向所有实例都能理解的 Elastic Beanstalk 环境(从前端 Web 应用程序)发送请求?

您将需要观看一些视频。

ElasticBeanStalk 适用于不想学习云技术的懒惰开发人员;)我知道,因为我曾经是一个!

ElasticBeanStalk 创建一个 VPC,默认情况下每个 可用区 有 1 个 子网 (AZ ),AZ 的数量取决于 AZ 的区域数量。它创建的 VPC 将通过 路由表 附加一个 Internet 网关 使其成为 Public.

在子网中,ElasticBeanStalk 将启动一个 EC2/VM 来托管您的网站。

ElasticBeanStalk 将创建一个 网络安全组 (NSG) 打开端口 80 和/或 443,因为 VPC 是 public 加上 NSG 是打开的,EC2 将可以访问 WWW。

如果您选择了 Auto Scale Group (ASG),ASG 将根据 CPU 旋转 up/down EC2,但您可以使用 CloudWatch指标。

使用 ASG,ElasticBeanStalk 将启动一个 弹性负载均衡器 (ELB),这将协调进入 Internet 网关和 VM 的流量。 ELB 向 ASG 注册,这就是它知道 ASG 启动或关闭 EC2 实例的方式。这就是 ELB 如何使用 Level4(IP 地址范围)或 Layer7(IP 地址范围加上 HTTP 请求,Header 等信息)将流量传送到当前 运行 中的 EC2一个“目标群体”。

if I have a server that has the end point www.example.com/api/endpoint, does Elastic Beanstalk allow me to have more than 1 instance (for high availability

是的!它实际上很难演示,因为您点击了相同的 URL 并且需要获取 ASG 中不同实例的 ID。

最好的资源是 Ryan Kroonenberg 关于 VPC 的云大师“解决方案架构师助理”视频,第 9 章。https://acloudguru.com/course/aws-certified-solutions-architect-associate-saa-c02-4KYV (您可以用它找到一个多年的 torrent)

此图表并非 100% 准确,ASG 跨越可用区: