了解EC2自动伸缩组

什么是EC2自动伸缩组?

EC2自动伸缩组是几个用于管理和伸缩目的的Amazon EC2实例的逻辑集合。自动伸缩组允许您使用EC2自动伸缩服务的核心功能,包括运行状况检查、最小/最大实例和伸缩策略。

EC2 Auto Scaling功能主要围绕着维护组中指定数量的实例,或根据不同方面(如应用程序负载或预定计划)自动增加或减少组的大小。

EC2自动缩放是通用的一部分AWS自动缩放服务,它可以帮助您扩展多个Amazon服务,包括ECS和RDS。

在这篇文章中,你将学到:

如何自动伸缩组的工作?

自动伸缩组的大小是根据预定义的实例数量来维护的,您可以将实例数量配置为所需的容量。您可以使用手动或自动调整大小来根据应用程序需求调整组的大小。

最初,自动伸缩组启动足够的实例以达到所需的容量。默认情况下,它通过执行定期的运行状况检查、识别不健康的实例、终止它们并启动其他替换实例来维护这个数量的实例。

除了这个基本功能之外,您还可以使用伸缩策略来动态更改组大小,为以下作业使用策略:

  • 手动缩放
  • 维护固定的、预定义的实例数量
  • 针对特定的负载指标跟踪目标
  • 基于负载度量的多个阈值的步骤伸缩
  • 简单的缩放(通过固定增量改变容量)
  • 基于SQS队列伸缩作业
  • 预定的比例

当策略处于活动状态时,自动伸缩组动态地更改实例数量,使实例数量保持在为您的组定义的最大值和最小值之间。

自动伸缩组使用启动模板来定义将启动哪些新实例。您可以在启动模板中定义一个特定的实例类型,或者几种类型的实例。您还可以为不同的EC2资源设置不同的启动模板。雷竞技rabet官网

在我们的文章中了解更多EC2自动缩放

自动伸缩组和可用分区

Region中的多个AZ可以跨多个自动伸缩组。下一步是附加一个负载均衡器,它将传入的流量均匀地分配到所有选择的az。

一旦一个可用分区变得不可用或不健康,自动伸缩将启动并使用最少的实例向可用分区添加新实例。如果或当这些尝试失败时,自动伸缩将尝试在其他az中启动这些实例,并继续此过程,直到成功。

当您需要扩展应用程序的可用性时,您可以将一个可用分区添加到自动伸缩组中。请记住为相应的负载均衡器启用可用分区。启用新AZ后,负载均衡器开始在所有启用的AZ中以平等的方式路由流量。

注意,虽然自动伸缩组可以包含来自多个az的实例,但所有az必须位于相同的Region中。此功能不支持使用多个区域。

以下是您在选择可用分区时可能需要考虑的其他限制:

  • 当为负载均衡器启用一个可用分区时,需要从该可用分区中定义一个子网,但每个可用分区最多只能选择一个子网。
  • 为面向internet的负载均衡器指定的任何子网必须至少有8个可用IP地址。
  • 应用程序负载均衡器至少需要启用两个可用分区。
  • 不可能禁用任何已启用的网络负载均衡器可用分区。您可以启用其他可用分区。
  • 网关负载均衡器不支持对创建负载均衡器时添加的可用分区或子网进行任何更改。

EC2多个实例类型的自动伸缩组

自动伸缩组允许您启动由按需EC2实例和现货实例组成的舰队。在自动缩放时,有多种方法可以获得实例的折扣率:

  • 与按需实例相比,EC2空闲容量的现货实例提供高达90%的折扣。
  • 您还可以在自动伸缩组中使用预留实例或Amazon储蓄计划,以获得按需实例的折扣价格。

混合使用不同类型的实例还可以提高可用性:

  • 跨AZ部署应用。
  • 使用多个实例类型扩展应用程序,这将降低所选实例类型在所选AZ中不可用的可能性。
  • 通过组合按需实例和现场实例,总是至少有一个可用的按需实例的基础。对于临时实例,如果容量不足,EC2 Auto Scaling将查找其他临时实例池,使您更有可能使用低成本的临时实例。如果没有可用的实例,那么这些实例将不会运行,直到现货实例变得可用为止。

了解更多混合EC2自动伸缩组和现货实例

分配策略

自动伸缩组使用几种分配策略将特定类型的实例添加到组中:

  • 随需应变的情况下-这个分配策略根据你的启动模板中定义的实例类型,按照它们列出的顺序。它通过添加列出的第一种实例来满足自动伸缩组的随需应变容量,如果不可用,则添加第二种、第三种实例,等等。
  • 容量优化的点实例-该分配策略从现场实例池中添加实例,这些实例可能随着时间的推移提供最佳容量。它查看有关现货实例容量的实时数据,以预测哪些实例可用的时间最长。
  • 最低价格现货实例-此分配策略从您定义的特定数量的现货实例池或在扩展组时价格较低的其他池中添加现货实例。您可以定义希望从哪些实例类型和哪些可用性区域绘制现货实例。

发现实例中断和平衡

即使点实例可以与自动伸缩组中的随需应变实例混合在一起,但仍然可以中断点实例。当Spot实例处于高中断风险时,EC2提供了一个实例再平衡建议

亚马逊明确警告说,它不会总是提前发送这个建议,它可能会与现场实例中断通知,在实例被中断之前,您可以在两分钟内将工作负载移出实例。

一旦您收到重新平衡建议或中断通知,您可以选择:

  • 将工作负载转移到另一个没有中断风险的现场实例
  • 将工作负载移到成本较高的按需实例

您可以启用一个名为产能平衡EC2自动伸缩组。这意味着Auto Scaling将自动尝试用另一个没有收到此警告的实例替换接收到重新平衡建议的现货实例。或者,您可以创建一个生命周期钩子,以便在收到警告时执行任何其他操作。

了解更多现货实例的预测再平衡

标记自动伸缩组和实例

您可以使用标记对自动伸缩组进行分类——例如,指示它们的用途、它们所运行的环境或它们的所有者。您可以将多个标记添加到单个组中,并指定标记也应该应用于组内的各个EC2实例。这可以帮助分解EC2账单中的实例成本。

弹性负载均衡和自动伸缩组

Amazon弹性负载平衡(ELB)用于自动将传入流量分配到EC2实例,因此实例不会过载。您可以向负载均衡器注册一个自动伸缩组。这允许在自动伸缩组的所有成员之间进行负载平衡。

当自动伸缩组附加到负载均衡器时,所有传入的请求都将发送到负载均衡器,负载均衡器将流量路由到组中的一个实例。重要的是要认识到,添加到自动伸缩组或从自动伸缩组中删除的实例需要显式地从负载均衡器中注册或注销。

将负载均衡器附加到自动伸缩组后,就可以根据ELB指标(例如每个目标的请求数量)对组进行配置,使其伸缩。还可以使用负载均衡器执行的运行状况检查来触发伸缩事件。

您可以在EC2自动伸缩组中使用以下类型的负载均衡器:

  • 应用程序负载均衡器- - - - - -支持HTTP / HTTPS流量的路由和负载均衡,以及基于路径的路由。仅支持VPC。
  • 经典负载均衡器执行TCP/SSL或HTTP/HTTPS流量的路由和负载均衡。同时支持普通EC2和VPC。
  • 网络负载均衡器-路由TCP/UDP第4层的流量,基于TCP报文地址信息。
  • 网关负载均衡器- - - - - -将流量分配到实例组或设备组,如防火墙和引入预防/检测系统。支持许多设备使用的GENEVE协议。

您的负载均衡器和自动伸缩组需要在同一区域。此外,您的负载均衡器目标必须是实例而不是知识产权,以便连接到自动伸缩组。

EC2自动缩放Spot由NetApp Elastigroup

Elastigroup提供人工智能驱动的现场实例中断预测,并通过现场、保留和按需实例的最佳混合自动重新平衡工作负载。它允许您利用现场实例来降低AWS中的成本,即使对于生产和关键任务工作负载,管理开销也很低。

Elastigroup的主要功能包括:

  • 预测再平衡-提前一小时识别现场实例中断,允许在新实例上优雅地排泄和工作负载,无论是现场的、保留的还是按需的。
  • 高级自动缩放-简化了定义扩展策略的过程,识别高峰时间,自动扩展以提前确保正确的容量。
  • 优化成本和性能-让你的集群以最佳的性能运行,同时使用按需、现货和保留实例的最佳组合。
  • 企业级sla-持续监控和预测现场实例行为、容量趋势、定价和中断率。当存在中断风险时,提前采取行动增加容量。
  • 智能地利用AWS储蓄计划和RIs-确保无论何时有未使用的预留容量资源,这些资源将在旋转新的spot实例之前使用,从而实现最大的成本效益。雷竞技rabet官网
  • 可见性-让您可视化集群活动和成本,实时查看潜在和实际成本、资源利用率和运行实例。
  • 应用意识-将扩展行为匹配到工作负载类型,可以从负载平衡器中添加或删除服务器,使用运行状况检查来监视运行状况,并在不影响数据完整性的情况下为有状态应用程序提供多余容量。

了解更多关于Spot的信息。io Elastigroup

Baidu
map