java中的接口是类吗
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~