弹性伸缩 AS

🍁博主简介
        🏅云计算领域优质创作者
        🏅2022年CSDN新星计划python赛道第一名

        🏅2022年CSDN原力计划优质作者
        🏅阿里云ACE认证高级工程师
        🏅阿里云开发者社区专家博主

💊交流社区:CSDN云计算交流社区欢迎您的加入!

目录

与传统模式对比

AS 的工作方式

AS 的基本概念

1. 伸缩组

2. 启动配置

3. 伸缩策略

4. 冷却时间

产品优势

应用场景

1、提前部署扩缩容

2、低成本应对业务浪涌

3、自动替换不健康 CVM

使用限制 

访问管理

1、概述

2、相关概念

3、弹性伸缩预设策略介绍

4、可授权的资源类型

5、弹性伸缩访问管理策略示例


 

弹性伸缩 AS(Auto Scaling)可以根据你的业务需求和策略,自动调整 CVM 计算资源,确保你拥有适量的 CVM 实例来处理你的应用程序负载。对于您的 Web 服务而言,智能的扩展和收缩是成本控制和资源管理的重要组成部分。Web 应用程序开始获得更多请求流量时,你将添加更多的服务器来应对额外负载。同时,当 Web 应用程序的流量开始减少时,你将终止未充分利用的服务器。

如果使用 AS 进行容量调整,你只需事先设置好扩容条件及缩容条件。AS 会在达到条件时自动增加使用的服务器数量以维护性能;在需求下降时,AS 会根据你的缩容条件减少服务器数量,最大限度地帮助你降低成本。

如下图对比所示,通过使用弹性伸缩 AS,你的集群可以永远保留恰到好处的资源量,并处于健康状态。你将告别传统模式下的多种烦恼:

业务突增或 CC 攻击导致机器数量不足,以致你的服务无响应。

按高峰访问量预估资源,而平时访问量很少达到高峰,造成投入资源浪费。

人工守护及频繁处理容量告警,需要多次手动变更。

与传统模式对比

传统模式下的集群维护:

采用AS后的效果:

AS 的工作方式

在常见的 Web 应用服务中,您的集群通常运行应用程序的多个副本来满足客户流量。例如接入层的前端服务器集群、逻辑层的应用服务器集群、后端的缓存服务器集群。每个实例都可以处理客户请求。

这些类似或相同的实例,数量通常是可调节的。您可以将这些相同或类似的机器归到一个伸缩组中管理起来:

您可以指定每个伸缩组中最少的实例数量,AS 会确保伸缩组中的实例永远不会低于这个数量;

您可以指定每个伸缩组中最大的实例数量,AS 会确保伸缩组中的实例永远不会高于这个数量;

您可以指定伸缩策略,则 AS 会在应用程序需求增加或降低时启动或终止实例。伸缩策略有两类: a. 告警触发策略:根据指定条件动态扩展(例如:伸缩组的机器的CPU 利用率超过60%时扩展) b. 定时伸缩策略:根据指定的时间扩展(例如:每晚21:00扩展)

设置完策略后,您还可以设置伸缩活动通知。AS 会在发生伸缩活动时通过邮件、短信、站内信方式告知您。您不需要时刻关注您的业务请求量变化,只需要留意 AS 的通知即可。

您也可以在任何时候一键指定所需要的机器数量,或者把已有的机器加入到伸缩组中一起管理。

AS 的基本概念

弹性伸缩产品有以下基本概念:

1. 伸缩组

伸缩组是遵循相同规则、面向同一场景的云服务器实例的集合。伸缩组定义了组内 CVM 实例数的最大值、最小值及其相关联的负载均衡实例等属性。

2. 启动配置

启动配置是自动创建云服务器的模板,其中包括镜像ID、云服务器实例类型、系统盘及数据盘类型和容量、密钥对、安全组等。

创建伸缩组时必须指定启动配置,启动配置一经创建后其属性将不能编辑。

3. 伸缩策略

即执行伸缩动作的条件。触发条件可以是时间或腾讯云可观测平台的报警,动作可以是移出或加入 CVM。 伸缩策略有以下两种:

定时伸缩策略 到达某个固定时间点,自动增加或减少 CVM 实例,支持周期性重复。

告警伸缩 基于腾讯云可观测平台指标(如CPU、内存、网络流量),自动增加或减少 CVM 实例。

4. 冷却时间

冷却时间是指在同一个伸缩组内,一个伸缩活动(添加或移出 CVM 实例)执行完成后的一段锁定时间。在这段时间内,该伸缩组不执行伸缩活动。冷却时间可指定范围为 0 - 999999(秒)。

产品优势

优势

使用弹性伸缩 AS

不使用弹性伸缩 AS

自动伸缩实例,无需人工干预

弹性伸缩根据业务负载情况动态实时自动创建和释放CVM实例,帮助您以最合适的实例数量应对业务情况,全程无需人工干预,为您免去人工部署负担。

例如,您可以设置一个伸缩策略,当 CPU 利用率较高时,就向伸缩组添加新的 CVM 实例,新增的 CVM 实例秒级计费;同样,您也可以设置一个策略,在 CPU 使用率较低时从伸缩组删除实例;如果您的负载变化情况是可以预知的,则可以设置定时任务,对您的扩展活动进行规划。

新增实例还可直接关联已有负载均衡 CLB,以使伸缩组新增的实例承担分发流量,提高服务可用性;您还可以向管理员发送告警,帮助您及时关注异常情况。

繁琐的手动操作

手动创建、销毁资源,需手动配置负载均衡。

手动操作容易出错,影响业务。

适量伸缩实例,节省成本

弹性伸缩帮助您以最合适的实例数量应对业务情况,当业务需求增加时,为您无缝地自动增加适量 CVM 实例,当业务需求下降时,为您自动削减不需要的 CVM 实例,提高设备利用率,为您节省部署和实例成本。

资源闲置带来浪费

需预留过量的 CVM 以防资源不足影响业务。

系统自动检测,及时容错

弹性伸缩自动检测实例的健康状况,一旦发现异常,即自动复制出健康的实例,以替换状态异常的实例,确保您的应用程序获得预期的计算容量,为您的业务保驾护航。

无法及时容错

通常在发现业务中断后才能处理异常实例,影响业务可用性。

应用场景

1、提前部署扩缩容

用户明确何时需要扩缩容,则可提前设置 Auto Scaling 定时策略。到相应时间时,系统将自动添加或减少 CVM 实例,无需人工等待。

2、低成本应对业务浪涌

当客户面临访问峰值,需要提前准备服务器,预防CPU增长造成的服务器压力过大;待压力过去后再根据实际负载缩减服务器。客户可提前设置 Auto Scaling 监控策略,系统将根据设定好的业务监控指标自动判定是否需要 CVM 平行扩展。如果监控指标达到阈值,则实时自动增加或减少 CVM 实例,并自动完成负载均衡配置。既节约了成本,也无需客户时刻为手动扩容做准备。

3、自动替换不健康 CVM

为避免不健康的云服务器继续运行对业务造成影响,用户需要时刻关注系统中 CVM 的运行情况,并随时准备处理。使用 Auto Scaling,系统将定时对 CVM 进行健康检查,若扫描出运行异常的 CVM 实例,则自动平行扩展一台实例替换异常实例。该操作记录将被保留供用户查看。

使用限制 

目前弹性伸缩已在除边缘节点地域外的所有地域上线,使用限制如下表:

限制类型

说明

一个用户在一个地域下

最多可创建50个启动配置。

最多可创建50个伸缩组。

最多能创建的 CVM 实例数量受用户 CVM 配额影响,详情请参见 购买按量计费云服务器实例限制 及 竞价实例配额限制。

一个伸缩组下

只能对应1个启动配置。

最多能弹性伸缩2000台 CVM 实例。

最多可创建100条伸缩策略,且最多可创建10个定时任务。

最多创建5个通知。

最多创建10个生命周期挂钩。

其他

伸缩组的子机数量不能超过私有网络 VPC 子网能提供的 IP 上限。

弹性伸缩目前不支持纵向扩展,即无法自动升降 CVM 的 CPU、内存和带宽。

弹性伸缩、启动配置均为地域概念,仅能在同一地域下启动或销毁 CVM 实例。

伸缩组关联的负载均衡实例(跨地域负载均衡实例则为其后端实例私有网络 VPC)必须与伸缩组在同一个网络环境(私有网络 VPC 或同一地域的基础网络)中。

访问管理

1、概述

访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用 CAM 创建子用户、用户组和角色,并通过策略控制其访问范围。CAM 支持用户和角色 SSO 能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。

您最初创建的腾讯云主账号,拥有整个账号全部腾讯云服务和资源的完全访问权限,建议您保护好主账号的凭证信息,日常使用子用户或角色进行访问,并开启多因素校验和定时轮换密钥。

当您在使用 CAM 时,可以将策略与一个用户或一组用户关联起来进行权限控制。

弹性伸缩已接入 CAM,您可以使用 CAM 对弹性伸缩服务的相关资源进行权限控制。

2、相关概念

CAM 用户

CAM 用户 是您在腾讯云中创建的一个实体,每一个 CAM 用户仅同一个腾讯云账户关联。您注册的腾讯云账号身份为主账号,您可以通过 用户管理 来创建拥有不同权限的子账号进行协作。子账号的类型分为 子用户、协作者 以及 消息接收人。

策略

策略 是用于定义和描述一条或多条权限的语法规范,腾讯云的策略类型分为预设策略和自定义策略。

预设策略: 由腾讯云创建和管理的策略,是被用户高频使用的一些常见权限集合,如资源全读写权限等。预设策略操作对象范围广,操作粒度粗,且为系统预设,不可被用户编辑。

自定义策略:由用户创建的策略,允许进行细粒度的权限划分。例如,为子账号关联一条使用策略,使其有权管理弹性伸缩的伸缩组,而无权管理云数据库实例。

资源

资源(resource) 是策略的元素,描述一个或多个操作对象,例如弹性伸缩的启动配置和伸缩组。

3、弹性伸缩预设策略介绍

预设策略名

授权范围描述

QcloudASFullAccess

关联后,获得弹性伸缩(AS)全读写访问权限

QcloudASReadOnlyAccess

关联后,获得弹性伸缩(AS)只读访问权限

4、可授权的资源类型

资源级权限指的是能够指定用户对哪些资源具有执行操作的能力。例如,您可以授权用户拥有广州地域伸缩组的操作权限。 在访问管理中对弹性伸缩可授权的资源类型如下:

资源类型

授权策略中的资源描述方法

启动配置相关

qcs::as:$region:$account:launch-configuration/*

伸缩组相关

qcs::as:$region:$account:auto-scaling-group/*

下表列出弹性伸缩支持资源级权限操作的各个 API,以及每个操作支持的资源路径。 设置资源路径时,您需要将 $region$account$LaunchConfigurationId$AutoScalingGroupId 等变量参数修改为您实际的参数信息,同时您也可以在路径中使用 * 通配符。 访问管理策略中的 region、action、account、resource 等相关概念请参见 资源描述方式。

API 接口:action

资源路径:resource

CreateLaunchConfiguration

qcs::as:$region:$account:launch-configuration/*

DeleteLaunchConfiguration

qcs::as:$region:$account:launch-configuration/$LaunchConfigurationId

DescribeLaunchConfigurations

qcs::as:$region:$account:launch-configuration/*

qcs::as:$region:$account:launch-configuration/$LaunchConfigurationId

ModifyLaunchConfigurationAttributes

qcs::as:$region:$account:launch-configuration/$LaunchConfigurationId

UpgradeLaunchConfiguration

qcs::as:$region:$account:launch-configuration/$LaunchConfigurationId

CreateAutoScalingGroup

qcs::as:$region:$account:auto-scaling-group/*

CreateAutoScalingGroupFromInstance

qcs::as:$region:$account:auto-scaling-group/*

DeleteAutoScalingGroup

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeAutoScalingGroups

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ModifyAutoScalingGroup

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ModifyLoadBalancers

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

EnableAutoScalingGroup

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DisableAutoScalingGroup

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ModifyDesiredCapacity

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeAutoScalingActivities

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

AttachInstances

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DetachInstances

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

RemoveInstances

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeAutoScalingInstances

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

SetInstancesProtection

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

CreateScheduledAction

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DeleteScheduledAction

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeScheduledActions

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ModifyScheduledAction

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

CreateScalingPolicy

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DeleteScalingPolicy

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeScalingPolicies

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ModifyScalingPolicy

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ExecuteScalingPolicy

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

CreateNotificationConfiguration

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DeleteNotificationConfiguration

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeNotificationConfigurations

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

ModifyNotificationConfiguration

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

CreateLifecycleHook

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DeleteLifecycleHook

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeLifecycleHooks

qcs::as:$region:$account:auto-scaling-group/*

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

UpgradeLifecycleHook

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

CompleteLifecycleAction

qcs::as:$region:$account:auto-scaling-group/$AutoScalingGroupId

DescribeAccountLimits

*

5、弹性伸缩访问管理策略示例

下面以具体的示例展示如何通过访问管理对弹性伸缩资源进行权限控制:

创建策略:广州地域允许对所有伸缩组的访问权限。

# 其中$account需要替换成账号信息{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"name/as:*"
],
"resource": [
"qcs::as:ap-guangzhou:$account:auto-scaling-group/*"]}]
}

创建策略:广州地域禁止对某个伸缩组的访问权限。

# 其中$account需要替换成账号信息, $AutoScalingGroupId 需要替换成相应的AutoScalingGroupId
{
"version": "2.0",
"statement": [
{
"effect": "deny",
"action": [
"name/as:*"
],
"resource": [
"qcs::as:ap-guangzhou:$account:auto-scaling-group/$AutoScalingGroupId"]}]
}

创建策略:对全部地域所有读接口拥有访问权限。

{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"name/as:Describe*"
],
"resource": [
"*"]}]
}

   👑👑👑结束语👑👑👑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571579.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第1章 实时3D渲染流水线

前言 本书所剖析的Unity 3D内置着色器代码版本是2017.2.0f3,读者可以从Unity 3D官网下载这些着色器代码。这些代码以名为builtin_shaders-2017.2.0f3.zip的压缩包的形式提供,解压缩后,内有4个目录和1个license.txt文件。 目录CGIncludes存放了…

python3字典的排序

创建一个字典 dict1{a:2,b:3,c:8,d:4} 1、分别取键、值 取字典的所有键,所有的值,利用dict1.keys(),dict1.vaules(), 由于键,值有很多个,所以要加s,另外注意这里要加括号,这样的小…

python3怎么下载

百度搜索“python官网”。 点击进入官网,如图所示: 依次点击“Download”-“windows”。 如图会出现下载选项,根据电脑情况选择,这里我选择64位的。 选择executable版进行安装。 至此下载完成。

小程序接入第三方信息流流程 下载SDK

由第三方信息流提供相应的SDK下载链接以及接入说明和开发文档或其他方式接入,如果第三方能支持小程序SDK,则不需要后面步骤,只需要提供相关开发文档和接入方式接口 接入SDK 后台开发人员接入第三方提供的SDK,并进行相关接口开发…

鸿蒙OS开发案例:【API9】遍历沙漏文件夹并输入文件的大小

1.获取打印文件大小 /*** 获取打印文件大小*/static getFileSize(byteNum: number) {if (byteNum < 0) {return "shouldnt be less than zero!";} else if (byteNum < 1024) {return ${byteNum.toFixed(3)}B;} else if (byteNum < 1048576) {return (byteNu…

pt-archiver的实践分享,及为何要用 ob-archiver 归档数据的探讨

作者简介&#xff1a;肖杨&#xff0c;软件开发工程师 在数据密集型业务场景中&#xff0c;数据管理策略是否有效至关重要&#xff0c;它直接关系到系统性能与存储效率的提升。数据归档作为该策略的关键环节&#xff0c;不仅有助于优化数据库性能&#xff0c;还能有效降低存储成…

四川宏博蓬达法律咨询有限公司:法律服务的典范,值得信赖的合作伙伴

在当今社会&#xff0c;法律服务已经成为人们生活中不可或缺的一部分。无论是个人还是企业&#xff0c;都可能遇到各种法律问题&#xff0c;需要专业的法律机构来提供支持和帮助。四川宏博蓬达法律咨询有限公司就是在这样的背景下应运而生&#xff0c;成为众多客户信赖的法律服…

07、Lua 流程控制

Lua 流程控制 Lua 流程控制控制结构语句 Lua 流程控制 Lua编程语言流程控制语句通过程序设定一个或多个条件语句来设定。在条件为 true 时执行指定程序代码&#xff0c;在条件为 false 时执行其他指定代码。 以下是典型的流程控制流程图&#xff1a; 控制结构的条件表达式结…

【最新!红外小目标检测算法HCFNet】

文章目录 摘要1 引言2 相关工作2.1 传统方法2.2 深度学习方法 3 方法3.1 PPA3.2 维度感知选择性整合模块3.3 多稀释通道细化器模块3.4 损失函数设计 4 实验4.1 数据集与评估指标4.2 实现细节4.3 消融和对比 5 结论 论文&#xff1a;HCF-Net: Hierarchical Context Fusion Netwo…

Spring Task 知识点详解、案例、源代码解析

简介&#xff1a;Spring Task 定时任务   所谓定时任务。就是依据我们设定的时间定时运行任务&#xff0c;就像定时发邮件一样&#xff0c;设定时间到了。邮件就会自己主动发送。 在Spring大行其道的今天&#xff0c;Spring也提供了其定时任务功能&#xff0c;Spring Task。同…

AJAX介绍使用案例

文章目录 一、AJAX概念二、AJAX快速入门1、编写AjaxServlet&#xff0c;并使用response输出字符&#xff08;后台代码&#xff09;2、创建XMLHttpRequest对象&#xff1a;用于和服务器交换数据 & 3、向服务器发送请求 & 4、获取服务器响应数据 三、案例-验证用户是否存…

Vue element组件el-upload之on-preview图片预览,实战篇之多种预览方式

废话不多说&#xff0c;直接上代码&#xff1a; 1、首先&#xff0c;项目需要先引入 element 组件 2、第一种预览方式 1、组件使用 <div style"display: inline-block;width: 10px;width: 84%;"><el-upload multiple action"#" list-type"…