aws-弹性三剑客(aws p3)

网友投稿 509 2022-09-08


aws-弹性三剑客(aws p3)

​​​Auto Scaling Group​​​ 和 ​​​Amazon ELB​​​ 要想一起工作,还需要搭载 ​​​CloudWatch​​​ 监控服务一起配合使用。

​​Amazon ELB​​ 可以把一些延迟数据或计算资源的CPU等使用数据收集到 ​​CloudWatch​​ 上面。

​​CloudWatch​​ 可以对这些收集到的数据做一个警报,可以根据你设置的阈值,自动给出告警。当达到阈值时,就会给出一个警报,会把警报发送给 ​​Auto Scaling Group​​ 弹性伸缩组服务。

​​Auto Scaling Group​​ 收到警报后,会根据本身已经定义的一个 ​​模板​​,启动一个计算节点。把计算资源启动好,然后就可以把计算资源注册到 ​​Amazon ELB​​ 负载均衡服务里面。这个时候就 ​​Scale Out​​ 横向扩展了。

同样的当计算资源访问量下来的时候,与上面的过程一样,只不过是 ​​Auto Scaling Group​​ 把这个计算资源关闭。

上面三个服务,也称为 AWS 弹性伸缩三剑客。

扩展策略

Target tracking scaling 目标跟踪扩展策略

提前定义一个 metric 指标,比如说 CPU 使用量,单机请求量等等,只要达到这个指标,就根据 launch configuration 来增加或者减少 EC2 的实例。

Step scaling

Step scaling , 这个可以定义多个指标,然后根据不同的指标来增加或者减少实例数量。比如说 CPU 达到 40%,增加一台,达到 70% ,增加三台之类的,这个更加灵活,推荐使用。

Scheduled scaling

这是一种周期性的 scaling , 应对可以预测的流量高峰,比如说各种节日,流量上涨,我们就可以提前增加机器来提供负载。

终止策略

​终止策略有 5 个可选项:Default、OldestInstance、OldestLaunchConfiguration、NewestInstance、ClosestToNextInstanceHour。

Default(默认终止策略): 默认终止策略可帮助确保您的网络架构均匀分布到多个可用区。

如果多个可用区中都有实例,选择有最多实例并且至少一个实例不受缩小保护的可用区。如果有多个可用区有此数目的实例,则选择使用最旧启动配置的实例所在的可用区。确定所选可用区中哪些不受保护的实例使用最旧启动配置。如果有一个此类实例,则终止该实例。如果有多个实例使用最旧启动配置,则确定哪些不受保护的实例最接近下个计费小时。(这将帮助您最大程度地使用您的 EC2 实例并管理 Amazon EC2 使用成本。)如果有一个此类实例,则终止该实例。如果有多个不受保护的实例最接近下个计费小时,则随机选择其中一个实例。

OldestInstance终止组中最旧的实例。当您将 Auto Scaling 组中的实例升级为新的 EC2 实例类型,可以逐渐将较旧类型的实例替换为较新类型的实例时,此选项十分有用。OldestLaunchConfiguration终止组中最新的实例。如果要测试新的启动配置但不想在生产中保留它时,此策略非常有用。NewestInstance终止采用最旧启动配置的实例。如果要更新某个组并且逐步淘汰先前配置中的实例时,此策略非常有用。ClosestToNextInstanceHour终止最接近下个计费小时的实例。此策略将帮助您最大程度地使用您的实例并管理 Amazon EC2 使用成本。

扩展流程

您可以暂停然后恢复您的 Auto Scaling 组的一个或多个扩展流程。如果需要调查配置问题或与 Web 应用程序相关的其他问题,然后在不触发扩展流程的前提下对应用程序进行更改,则此设置很有用。

Amazon EC2 Auto Scaling 支持以下扩展流程:

LaunchTerminateHealthCheckReplaceUnhealthyAZRebalanceAlarmNotificationScheduledActionsAddToLoadBalancer

预热时间作用

当触发警告后,实例开启,同时开启预热时间计时,实例开启完成后加入ELB目标组,等待预热时间过后,ELB对EC2进行健康检查,检查通过后ELB正式转发流量,目的主要是为了机器能完成开启并完成服务加载。通常,刚刚投入使用的 Auto Scaling 实例需要预热才能通过 Auto Scaling 运行状况检查。Auto Scaling 等运行状况检查宽限期结束才检查实例的运行状况。

机器的缩减

冷却时间

Auto Scaling 组在使用简单扩展策略扩展后,会等到冷却时间完成,然后再执行简单扩展策略可以启动的任何扩展活动。(比如若一个实例的启动需要安装配置脚本和文件,可能需要几分钟,在此期间,若没有冷却时间,对于任何标准精度警报,可能会持续每分钟触发 CloudWatch 警报,从而导致 Auto Scaling 组在警报每次触发时都另外启动一个实例)。

因为 autoscaling 的指导原则就是增加的时候快速增加,减少的时候根据需求缓慢减少,避免突然的流量反弹的情况。所以这里有一个叫 CoolDown Period 的时间限制,单位是秒,如果说刚刚 trigger 了一个增加,服务增加完了之后这个 CoolDown 时间就开始计算,如果在这个时间还没结束的时候又来一个 trigger 要增加,那前面一次增加的服务数量也会算在第二次的增加里面。但是减少的时候有点不一样,服务减少的时候这个时间开始计算,但是如果在这个时间还没结束的时候突然来了一个增加的 trigger,那这个增加不需要受这个时间限制,它可以马上增加,不需要等到这个时间结束。(默认值为 300 秒)

实例保护

如果已设定好保护免于缩减,新启动的实例在默认情况下将被保护免于缩减。在缩减时 Auto Scaling 将不会选择被保护的实例成为要终止的实例。更改此一选项将不会影响现有实例。

备用 - 重启、关机 ASG 中的实例

为避免 ASG 将实例自动 terminated,需按以下步骤执行:

在 ASG 属性面板实例页签将要维护的实例设为备用。(此操作会将实例从 ASG 关联的 ELB 中取消注册,如要求不影响业务,请确保仍有其他正常运行的实例)进行重启、关机等维护操作。在设为可用前,确保实例已启动,运行正常。将实例设为启用。(一定要确保检查步骤3,否则会导致设为启用后被立即 terminated)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云安全将来时 | 云安全的发展与未来趋势(云安全的产生)
下一篇:java接口文档怎么写?java接口文档示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~