使用 ESS SDK 快速创建多实例规格伸缩配置

摘要: ESS 伸缩配置定义了用于弹性伸缩的 ECS 实例的配置信息,包含了实例规格、网络、安全组、带宽等配置信息,您可灵活地搭配这些配置信息来为您的伸缩组创建伸缩配置。

本文将详细介绍 ESS 多实例规格的伸缩配置,并给出多实例规格伸缩配置相比单实例规格伸缩配置的优势所在,最后,本文将给出使用 ESS SDK 快速创建多实例规格伸缩配置的最佳实践。

ESS 伸缩配置多实例规格参数
原 ESS 弹性伸缩服务限定,一个伸缩组内只能有一个生效的伸缩配置,一个伸缩配置只能配置一种实例规格。由于上述的限制,导致伸缩组内有效的实例规格只有一个,如果当前的实例规格由于库存不足等变得不可用,那么伸缩组将无法创建出 ECS 实例。您需要重新选择当前伸缩组内其它伸缩配置或创建新的伸缩配置来恢复伸缩组,使伸缩组能够正常工作。为了优化上述问题,提高伸缩组内伸缩配置的可用性,ESS 弹性伸缩服务为伸缩配置新增了多实例规格参数(InstanceTypes.N)。您在创建伸缩配置的时候可以使用该参数为您的伸缩配置设置多个实例规格,当某个实例规格由于库存等原因变得不可用时,ESS 弹性伸缩服务会为您自动切换到其它有效的实例规格来创建实例。当您创建的伸缩配置使用了多实例规格参数时,您需要注意以下几点:

如果使用了 InstanceTypes.N 多实例规格参数,InstanceType 参数将被忽略。
InstanceTypes.N 参数中,N 的取值范围为 [1, 10],即一个伸缩配置内最多可以设置 10 种实例规格。
当您的伸缩组是经典网络伸缩组时,伸缩组所属 Region 必须支持您所配置的所有实例规格的经典网络实例的售卖,如果当前 Region 不支持您所配置的实例规格,伸缩组将无法为您创建出 ECS 实例。您可以通过 查询可用区列表 接口查询当前 Region 支持的实例规格,以及每种规格支持的网络类型。
当您的伸缩组是专有网络(VPC)伸缩组时,伸缩组配置的虚拟交换机对应的可用区内必须支持您所配置的所有实例规格的专有网络实例的售卖,每个伸缩组可以配置多个虚拟交换机,您可以通过 使用 ESS SDK 快速创建多可用区伸缩组 了解更多。
InstanceTypes.N 参数中 N 代表当前伸缩配置中实例规格的优先级,编号为 1 的实例规格优先级最高,实例规格优先级随着编号的增大依次降低。
如果当前伸缩配置中优先级较高的实例规格由于库存等原因无法创建出 ECS 实例时,ESS 会自动选择下一优先级的实例规格来为您创建实例。
当您在使用多实例规格参数来创建伸缩配置时,实例规格不可重复,否则伸缩配置将无法创建。
使用 SDK 创建多可用区伸缩组
本章将介绍如何使用 SDK 创建多实例规格的伸缩配置,这里以 Java 语言和 Python 语言为例进行介绍。

Java
导入 ESS Java SDK
首先,您需要下载 aliyun-java-sdk-core、aliyun-java-sdk-ess 两个依赖,您可以查看 maven-central 界面,搜索并下载相应的 jar 包,aliyun-java-sdk-ess 对应的 jar 包的版本号需要是 2.1.3 及以上版本才能使用多实例规格参数,aliyun-java-sdk-core 推荐使用最新的版本。

您可以选择使用 maven 来管理您 Java 项目的依赖库,在您的项目对应的 pom.xml 文件中加入下面的依赖项即可:

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-ess</artifactId><version>2.1.3</version>
</dependency>
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>3.5.0</version>
</dependency>

使用 Java SDK 创建多实例规格伸缩配置
导入 ESS Java SDK 到您的 Java 工程以后,您就可以创建多实例规格伸缩配置了。使用 Java SDK 创建多实例规格伸缩配置的代码如下:

public class EssSdkDemo {public static final String       REGION_ID         = "cn-hangzhou";public static final String       AK                = "xxxxxxxxxxxxxx";public static final String       AKS               = "xxxxxxxxxxxxxx";/*** 排在最前面的实例规格优先级最高,实例规格优先级随着在数组中出现的次序依次递减*/public static final String[]     TYPE_ARRAY        = { "instancetype1", "instancetype2" };public static final List<String> INSTANCE_TYPES    = Arrays.asList(TYPE_ARRAY);public static final String       SCALING_GROUP_ID  = "xxxxxxxxxxxxxx";//ubuntu_16_0402_64_20G_alibase_20170818.vhdpublic static final String       IMAGE_ID          = "xxxxxxxxxxxxxx";public static final String       SECURITY_GROUP_ID = "xxxxxxxxxxxxxx";public static void main(String[] args) throws Exception {IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS);IAcsClient client = new DefaultAcsClient(clientProfile);System.out.println(createScalingConf(client));}/*** 创建多实例规格伸缩配置** @param client* @return* @throws Exception*/public static String createScalingConf(IAcsClient client) throws Exception {CreateScalingConfigurationRequest request = new CreateScalingConfigurationRequest();request.setScalingGroupId(SCALING_GROUP_ID);request.setImageId(IMAGE_ID);request.setInstanceTypes(INSTANCE_TYPES);request.setSecurityGroupId(SECURITY_GROUP_ID);CreateScalingConfigurationResponse response = client.getAcsResponse(request);return response.getScalingConfigurationId();}
}

注意:AK,SCALING_GROUP_ID,SECURITY_GROUP_ID 等参数需要您根据个人情况进行设置。

Python
安装 ESS Python SDK
同 Java 语言一样,在使用 ESS Python SDK 前,您需要先下载 aliyun-python-sdk-ess、aliyun-python-sdk-core 两个依赖。本文推荐使用 pip 的方式来安装 Python 依赖包,关于 pip 的安装您可以参数 Installation-Pip。 安装好 pip 以后,您可以使用命令 pip install aliyun-java-sdk-ess==2.1.3 pip install aliyun-java-sdk-core==3.5.0 安装两个所需的依赖。

使用 Python SDK 创建多实例规格伸缩配置
导入 ESS Python SDK 依赖库以后,您就可以创建多实例规格伸缩配置了。使用 Python SDK 创建多实例规格伸缩配置的代码如下:

#coding=utf-8
import json
import loggingfrom aliyunsdkcore import client
from aliyunsdkess.request.v20140828.CreateScalingConfigurationRequest import CreateScalingConfigurationRequestlogging.basicConfig(level=logging.INFO,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt='%a, %d %b %Y %H:%M:%S')
# 请替换自己的ak信息
ak = 'ak'
aks = 'aks'scaling_group_id = 'xxxxxxxxxxxxxxx'
image_id = 'xxxxxxxxxxxxxxx'
security_group_id = 'xxxxxxxxxxxxxxx'
instance_types = ['instancetype1', 'instancetype2']region_id = 'cn-beijing'clt = client.AcsClient(ak, aks, region_id)
def _create_scaling_conf():
request = CreateScalingConfigurationRequest()
request.set_ScalingGroupId(scaling_group_id)
request.set_ImageId(image_id)
request.set_SecurityGroupId(security_group_id)
request.set_InstanceTypes(instance_types)
response = _send_request(request)
return response.get('ScalingConfigurationId')
def _send_request(request):
request.set_accept_format('json')
try:response_str = clt.do_action(request)logging.info(response_str)response_detail = json.loads(response_str)return response_detail
except Exception as e:logging.error(e)
if __name__ == '__main__':
scaling_group_id = _create_scaling_conf()
print '创建伸缩配置成功,伸缩组ID:' + str(scaling_group_id)

注意:ak,scaling_group_id,security_group_id 等参数需要您根据个人情况进行设置。

在使用 SDK 创建伸缩配置的时候,您可以参考 创建伸缩配置接口 来了解每个参数的意义。建议多实例规格伸缩配置和多可用区伸缩组结合使用,这样可以在最大程度上提高您的伸缩组的可用性。关于多可用区伸缩组的创建方法,您可以参考 使用 ESS SDK 快速创建多可用区伸缩组 。

写在最后
ESS 伸缩配置多实例规格参数目前可通过 OpenApi 的方式来使用,弹性伸缩服务控制台近期也会支持多实例规格伸缩配置功能。

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

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

相关文章

再提“鸿蒙”,任正非说这是为物联网而生;硅谷公司年薪报告出炉,谷歌年薪居榜首;苹果CEO库克接班人浮出水面,苹果高层或大换血?...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 麒麟810芯片真容&#xff08…

ECS 按量付费VPC实例停机不收费FAQ

摘要&#xff1a; 停机不收费支持范围 目前只支持VPC类型的按量付费的ECS实例&#xff0c;您需要在控制台签署接受停机不收费协议可以开启。开启之后下次Stop机器自动进入停机不收费模式。不影响您的经典网络和包年包月预付费ECS实例的行为。 停机不收费支持范围 目前只支持VP…

在maven引入一个maven仓库中不存在的jar,安装本地底仓库

问题描述&#xff1a;如果要在一个maven工程中引入一个不存在的jar&#xff0c;即无法通过denpendecy的gav定位到。 处理方式&#xff1a; 方式一&#xff1a;如果maven工程是war包形式&#xff0c;可以直接放在 WEB-INF下的lib目录中&#xff0c;然后add到类路径中。 方式二…

重磅!Python再次第一,Java和C下降,凭什么?

编程语言流行指数(PYPL)排行榜近日公布了2019年7月份榜单。在最新一期榜单上&#xff0c; Python的份额高达28.08&#xff05;&#xff0c;再次蝉联第一&#xff0c;并且增长4.7%&#xff0c;同时成为增长势头较好的语言。而被挤到第二蝉联Java&#xff0c;同比下跌1.8个百分点…

deepin中mysql数据库的连接_教你如何典雅的用Python连接MySQL数据库

简介:作者 | Python语音识别不管是机器学习、web开发或者爬虫&#xff0c;数据库都是绕不过去的。那么今天我们就来介绍Python如何Mysql数据库进行连接以及数据的交换。主要分为以下几个方面&#xff1a;什么是数据库&#xff1f;什么是MySQLdb&#xff1f;Python如 ...书页库概…

听障学生计算机课本,面向听障学生程序设计的计算机教学辅助系统

摘要&#xff1a;在目前的残疾人高等教育中,针对听障学生开展的计算机编程语言的教学存在许多难点.由于施教学生的特殊性——听力障碍所造成的沟通困难,常规的教学方式在听障学生教学中无法使用,严重制约了听障学生教学.因此,本文研究一种符合听障学生生理特征的教学辅助软件来…

AliOS Things KV组件的写平衡特性

摘要&#xff1a; KV组件的写平衡&#xff08;磨损平衡&#xff09;特性就是通过异地更新、垃圾回收等策略来平衡flash介质各个存储区块的磨损程度&#xff0c;以避免某些“特定”存储区块因过度使用而形成坏区&#xff0c;从而延长flash的使用寿命。 前言 KV组件是AliOS Thing…

解决win10系统下,git Bash闪退的问题

问题描述 在git官网下载了软件&#xff0c;安装之后&#xff0c;git Bash出现闪退现象&#xff0c;同时在当前文件夹下面会生成一个mintty.exe.stackdump的文件。 git GUI同样打不开&#xff0c;同时会报出错误&#xff0c;具体情况如下图&#xff1a; 点击百度云链接,下载一个…

AliOS Things网络适配框架 - SAL

摘要&#xff1a; 很多物联网应用场景中&#xff0c;都需要使用主控MCU外接连接芯片&#xff08;如WiFi、NB-IoT&#xff09;的解决方案。为方便这类场景的开发&#xff0c;AliOS Things提供了Socket Adapter Layer&#xff08;SAL&#xff09;框架和组件方案 AliOS Things中提…

文末送书啦!| Device Mapper,那些你不知道的Docker核心技术

戳蓝字“CSDN云计算”关注我们哦&#xff01;接触Docker 比较早的同学应该知道&#xff0c;Docker 在最开始只能在Ubuntu和Debian等少数的Linux 发行版上运行&#xff0c;并且在这些发行版上默认使用的存储驱动为AUFS。由于Linux 并未将AUFS的支持纳入自己的内核主线(据说是因为…

铃木uy125最高时速_五菱宏光mini EV月销三万辆,铃木是否后悔退出中国?

国内新能源汽车市场一直是“兵家必争之地”&#xff0c;大到传统汽车厂商&#xff0c;小到造车新势力&#xff0c;都希望能在新能源汽车市场分一杯羹。但长久以来&#xff0c;大多数汽车厂商都只注意到了一部分中国消费者对于“大”的需求&#xff0c;忽视了微型车市场&#xf…

服务器读取账号密码,WIN服务器得明文密码神器 mimikatz、WCE

一、mimikatz(自己亲试&#xff0c;可以在win7 x64下使用)昨天有朋友发了个法国佬写的神器叫mimikatz 让我们看下还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章http://pentestmonkey.net/blog/mimikatz-tool-to-recover-cleartext-passwo…

AliOS Things v1.1.2新特性

摘要&#xff1a; AliOS Things v1.1.2概述 时隔两周&#xff0c;AliOS Things新版本v1.1.2发布。这里和大家分享一下v1.1.2的一些新特性&#xff1a; 硬件支持方面&#xff0c;AliOS Things v1.1.2引入了更多了的芯片平台&#xff0c;包括STM32的l0/l4系列&#xff0c;C Sky C…

使用Spring Boot打造文件文档在线预览平台

https://gitee.com/kekingcn/file-online-preview

100%移植阿里云移动测试技术,竟仅需1周?!——移动测试专有云(3)——内容详解...

摘要&#xff1a; Android兼容性测试旨在帮助解决Android应用在不同真机机型上的各类兼容性问题&#xff0c;包括 Crash/ANR分析、6项性能分析、UI检测、3个版本的覆盖安装检测等。Android兼容性测试使用非常简单&#xff0c;客户只需要提交被检测的APK文件&#xff08;如需登录…

投篮机投篮有技巧吗_「技巧干货」高手练习投篮的几个技巧,让投篮变得更实用...

会打篮球的都知道&#xff0c;篮球主要的是用更高于对手的得分来取得胜利&#xff1b;然而&#xff0c;让很多的球友烦恼的是&#xff0c;投篮时因为不够稳定&#xff0c;而导致每一场的发挥都不一样&#xff0c;全靠运气投球&#xff1b;这可是球场上的一大禁忌&#xff0c;人…

天龙八部服务器都需要那种系统,天龙八部排行榜系统怎么看 排行榜系统分类介绍...

天龙八部排行榜系统怎么看?有这么一群人&#xff0c;不但战力高&#xff0c;等级高&#xff0c;在其他玩家眼中&#xff0c;他们就是膜拜的大神&#xff0c;他们便是游戏中排行榜上的大神玩家。排行榜分类等级&#xff1a;排行榜打开后的第一个排名就是玩家角色的等级排名&…

SDN精华问答 | 了解SDN架构

SDN火热了好一阵子&#xff0c;无论运营商、政府企业、投资机构&#xff0c;一段时间&#xff0c;不知道SDN、不能甩几个SDN相关的名词术语&#xff0c;似乎都落后于时代了。今天&#xff0c;就来看看关于SDN的精华问答吧。1Q&#xff1a;SDN的本质属性&#xff1f; A&#xff…

100%移植阿里云移动测试技术,竟仅需1周?! ——移动测试专有云(1)

摘要&#xff1a; MQC专有云解决方案是MQC测试体系的完全移植版&#xff0c;目标是帮助客户短期内在搭建一套专业的、系统的自动化测试平台&#xff0c;实现测试服务、测试数据的完全本地化、私有化。无论是因为移动App是企业内部应用无法外部使用&#xff0c;还是要求测试数据…

SpringBoot2整合Activiti6工作流框架

文章目录下载实战操作&#xff1a;创建用户3 创建app4 选择我们的指定的流程图下载 wget https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip浏览器 http://localhost:8080/activiti-app/#实战操作&#xff1a; 创建用户 2.创建流程…