弹性伸缩 AS

news2024/10/6 20:25:19

🍁博主简介
        🏅云计算领域优质创作者
        🏅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.coloradmin.cn/o/1549138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA 使用POI实现单元格行合并

POI实现单元格行合并 实现效果引入jar代码实现controller层Service层ServiceImpl层实现类 实现效果 如果最后面的三行数据大于1时 那么前面十二行就需要行合并 引入jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</arti…

java多线程基本操作方法

目录 一、isAlive&#xff08;&#xff09; 二、 join&#xff08;&#xff09; 三、start和run 四、 volatile() 五、synchronized 1、synchronized 引入 2、死锁 第一种情况&#xff1a;反复加锁 第二种情况 对不同对象嵌套加锁的死锁 3、形成死锁条件 六、wait…

【正点原子FreeRTOS学习笔记】————(10)FreeRTOS时间管理

这里写目录标题 一、延时函数介绍&#xff08;了解&#xff09;二、延时函数解析&#xff08;熟悉&#xff09;三、延时函数演示实验&#xff08;掌握&#xff09; 一、延时函数介绍&#xff08;了解&#xff09; 相对延时&#xff1a;指每次延时都是从执行函数vTaskDelay()开始…

前缀和算法(1)

一维前缀和[模板] 一、题目描述 OJ题目链接&#xff1a;【模板】前缀和_牛客题霸_牛客网 二、思路解析 三、代码 #include <iostream> using namespace std; const int N 100010; long long arr[N], dp[N]; int n, q; int main() {cin >> n >> q;// 读取…

冗余双写方案下数据一致性问题解决及延申问题处理方案

主要整理了采用冗余双写方案后的问题解决方案。 1、问题&#xff1a;冗余双写场景下&#xff0c;如何解决数据一致性问题&#xff1f; 方案一&#xff1a; 直接RPC调用Seata分布式事务框架&#xff0c;采用该方式实现了事务的强一致性&#xff0c;代码逻辑简单的同时业务侵入…

蓝桥杯-正则问题

#include<iostream> #include<string> #include<algorithm> using namespace std;int pos 0, l;//pos当前遍历到的位置&#xff0c;l是正则式的长度 string s;int dfs(){int temp 0, ans 0;//temp保存左半部分 while(pos < l){if(s[pos] (){pos;//跳…

【C语言】C语言基础习题详解(牛客网)二分查找逻辑

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;C语言_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.三目运算符的使用 三目运算符&#xff0c;即a>b?a:b类型的&#xff0c;很多时候适当的使用三目运算符可以使得代码更简洁有序&…

在Python中进行封装

在Python中&#xff0c;封装是一种面向对象编程&#xff08;OOP&#xff09;的特性&#xff0c;它允许我们将数据&#xff08;属性&#xff09;和操作这些数据的方法&#xff08;函数&#xff09;捆绑在一起&#xff0c;形成一个独立的对象。封装的主要目的是隐藏对象的内部状态…

四年创作,心路历程

四年创作&#xff0c;心路历程 前言初识收获日常憧憬 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 前言 今天打开csdn&#xff0c;发现官方发送了一条私信,原来我已经在计算机这…

文件操作(基础知识篇)

1. 文件操作的作用 可以将内存中的数据持久化地存储到文件中。我们所运行的程序的数据是存储在电脑的内存中的&#xff0c;如果不将数据持久化地存储起来&#xff0c;那么在程序退出时&#xff0c;内存中的数据就会随内存的回收而消失。 可以持久化保存数据的&#xff0c;就被…

文件操作(上)(想要了解如何操作文件,那么看这一片就足够了!)

前言&#xff1a;在我们写的程序的的时候&#xff0c;数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失了&#xff0c;等再次运行程序&#xff0c;是看不到上次程序的数据的&#xff0c;那么如果要将数据进行持久化的保存&#xf…

逻辑解析(logical decoding)

pg_create_logical_replication_slot select * from pg_replication_slots; select pg_export_snapshot(); select pg_create_logical_replication_slot(‘logical_slot1’, ‘test_decoding’); CREATE TABLE t_logical(id int4); pg_logical_slot_get_changes SELECT *…

git下载安装教程

git下载地址 有一个镜像的网站可以提供下载&#xff1a; https://registry.npmmirror.com/binary.html?pathgit-for-windows/图太多不截了哈哈&#xff0c;一直next即可。

操作系统的理解|冯·若依曼体系结构|进程的状态

操作系统的理解 冯诺伊曼体系结构为什么必须通过内存然后到cpu存储金字塔冯诺伊曼结构的改进在哪&#xff1f;我们可不可以全部用寄存器来做存储器在硬件数据流动角度学以致用&#xff1a;解释程序运行为什么要加载到内存程序没被运行之前存在哪里&#xff1f; 操作系统概念广义…

H5小程序视频方案解决方案,实现轻量化视频制作

对于许多企业而言&#xff0c;制作高质量的视频仍然是一个技术门槛高、成本高昂的挑战。针对这一痛点&#xff0c;美摄科技凭借其深厚的技术积累和创新能力&#xff0c;推出了面向企业的H5/小程序视频方案解决方案&#xff0c;为企业提供了一种轻量化、高效、便捷的视频制作方式…

flutter布局更新

理论上&#xff0c;某个组件的布局变化后&#xff0c;就可能会影响其他组件的布局&#xff0c;所以当有组件布局发生变化后&#xff0c;最笨的办法是对整棵组件树 relayout&#xff08;重新布局&#xff09;&#xff01;但是对所有组件进行 relayout 的成本还是太大&#xff0c…

目前2024年腾讯云4核8G服务器租用优惠价格表

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

车载以太网AVB交换机 TSN交换机 时间敏感网络 6端口 百兆 SW100TSN

SW100 TSN时间敏感网络AVB交换机 为6端口百兆车载以太网交换机&#xff0c;其中包含5通道100BASE-T1泰科MATEnet接口和1个通道100/1000BASE-T标准以太网(RJ45接口)&#xff0c;可以实现纳米级时间同步&#xff0c;车载以太网多通道交换&#xff0c;Bypass数据采集和监控等功能&…

B2 PRO WordPress主题:多功能商用主题,助力资讯、资源、社交、商城、圈子、导航一站式解决

B2 PRO WordPress主题&#xff1a;多功能商用主题&#xff0c;助力资讯、资源、社交、商城、圈子、导航一站式解决 一、产品概述 B2 PRO WordPress主题&#xff0c;作为一款多功能商用主题&#xff0c;致力于为用户提供一站式的内容管理与网站建设服务。它集资讯发布、资源共享…

4.常用CMD命令

扩展一个小点&#xff1a; 在很多资料中都说成是DOS命令&#xff0c;其实是不对的。真正的DOS命令是1981年微软和IBM出品的MS-DOS操作系统中的命令才叫做DOS命令。 而在Windows中&#xff0c;win98之前的操作系统是以非图形化的DOS为基础的&#xff0c;可以叫做DOS命令。到了…