摘要:您可以選擇使用來管理您項目的依賴庫,在您的項目對應(yīng)的文件中加入下面的依賴項即可使用創(chuàng)建多實例規(guī)格伸縮配置導(dǎo)入到您的工程以后,您就可以創(chuàng)建多實例規(guī)格伸縮配置了。
摘要: ESS 伸縮配置定義了用于彈性伸縮的 ECS 實例的配置信息,包含了實例規(guī)格、網(wǎng)絡(luò)、安全組、帶寬等配置信息,您可靈活地搭配這些配置信息來為您的伸縮組創(chuàng)建伸縮配置。
本文將詳細(xì)介紹 ESS 多實例規(guī)格的伸縮配置,并給出多實例規(guī)格伸縮配置相比單實例規(guī)格伸縮配置的優(yōu)勢所在,最后,本文將給出使用 ESS SDK 快速創(chuàng)建多實例規(guī)格伸縮配置的最佳實踐。
ESS 伸縮配置多實例規(guī)格參數(shù)
原 ESS 彈性伸縮服務(wù)限定,一個伸縮組內(nèi)只能有一個生效的伸縮配置,一個伸縮配置只能配置一種實例規(guī)格。由于上述的限制,導(dǎo)致伸縮組內(nèi)有效的實例規(guī)格只有一個,如果當(dāng)前的實例規(guī)格由于庫存不足等變得不可用,那么伸縮組將無法創(chuàng)建出 ECS 實例。您需要重新選擇當(dāng)前伸縮組內(nèi)其它伸縮配置或創(chuàng)建新的伸縮配置來恢復(fù)伸縮組,使伸縮組能夠正常工作。為了優(yōu)化上述問題,提高伸縮組內(nèi)伸縮配置的可用性,ESS 彈性伸縮服務(wù)為伸縮配置新增了多實例規(guī)格參數(shù)(InstanceTypes.N)。您在創(chuàng)建伸縮配置的時候可以使用該參數(shù)為您的伸縮配置設(shè)置多個實例規(guī)格,當(dāng)某個實例規(guī)格由于庫存等原因變得不可用時,ESS 彈性伸縮服務(wù)會為您自動切換到其它有效的實例規(guī)格來創(chuàng)建實例。當(dāng)您創(chuàng)建的伸縮配置使用了多實例規(guī)格參數(shù)時,您需要注意以下幾點(diǎn):
如果使用了 InstanceTypes.N 多實例規(guī)格參數(shù),InstanceType 參數(shù)將被忽略。
InstanceTypes.N 參數(shù)中,N 的取值范圍為 [1, 10],即一個伸縮配置內(nèi)最多可以設(shè)置 10 種實例規(guī)格。
當(dāng)您的伸縮組是經(jīng)典網(wǎng)絡(luò)伸縮組時,伸縮組所屬 Region 必須支持您所配置的所有實例規(guī)格的經(jīng)典網(wǎng)絡(luò)實例的售賣,如果當(dāng)前 Region 不支持您所配置的實例規(guī)格,伸縮組將無法為您創(chuàng)建出 ECS 實例。您可以通過 查詢可用區(qū)列表 接口查詢當(dāng)前 Region 支持的實例規(guī)格,以及每種規(guī)格支持的網(wǎng)絡(luò)類型。
當(dāng)您的伸縮組是專有網(wǎng)絡(luò)(VPC)伸縮組時,伸縮組配置的虛擬交換機(jī)對應(yīng)的可用區(qū)內(nèi)必須支持您所配置的所有實例規(guī)格的專有網(wǎng)絡(luò)實例的售賣,每個伸縮組可以配置多個虛擬交換機(jī),您可以通過 使用 ESS SDK 快速創(chuàng)建多可用區(qū)伸縮組 了解更多。
InstanceTypes.N 參數(shù)中 N 代表當(dāng)前伸縮配置中實例規(guī)格的優(yōu)先級,編號為 1 的實例規(guī)格優(yōu)先級最高,實例規(guī)格優(yōu)先級隨著編號的增大依次降低。
如果當(dāng)前伸縮配置中優(yōu)先級較高的實例規(guī)格由于庫存等原因無法創(chuàng)建出 ECS 實例時,ESS 會自動選擇下一優(yōu)先級的實例規(guī)格來為您創(chuàng)建實例。
當(dāng)您在使用多實例規(guī)格參數(shù)來創(chuàng)建伸縮配置時,實例規(guī)格不可重復(fù),否則伸縮配置將無法創(chuàng)建。
使用 SDK 創(chuàng)建多可用區(qū)伸縮組
本章將介紹如何使用 SDK 創(chuàng)建多實例規(guī)格的伸縮配置,這里以 Java 語言和 Python 語言為例進(jìn)行介紹。
Java
導(dǎo)入 ESS Java SDK
首先,您需要下載 aliyun-java-sdk-core、aliyun-java-sdk-ess 兩個依賴,您可以查看 maven-central 界面,搜索并下載相應(yīng)的 jar 包,aliyun-java-sdk-ess 對應(yīng)的 jar 包的版本號需要是 2.1.3 及以上版本才能使用多實例規(guī)格參數(shù),aliyun-java-sdk-core 推薦使用最新的版本。
您可以選擇使用 maven 來管理您 Java 項目的依賴庫,在您的項目對應(yīng)的 pom.xml 文件中加入下面的依賴項即可:
com.aliyun aliyun-java-sdk-ess 2.1.3 com.aliyun aliyun-java-sdk-core 3.5.0
使用 Java SDK 創(chuàng)建多實例規(guī)格伸縮配置
導(dǎo)入 ESS Java SDK 到您的 Java 工程以后,您就可以創(chuàng)建多實例規(guī)格伸縮配置了。使用 Java SDK 創(chuàng)建多實例規(guī)格伸縮配置的代碼如下:
public class EssSdkDemo { public static final String REGION_ID = "cn-hangzhou"; public static final String AK = "xxxxxxxxxxxxxx"; public static final String AKS = "xxxxxxxxxxxxxx"; /** * 排在最前面的實例規(guī)格優(yōu)先級最高,實例規(guī)格優(yōu)先級隨著在數(shù)組中出現(xiàn)的次序依次遞減 */ public static final String[] TYPE_ARRAY = { "instancetype1", "instancetype2" }; public static final ListINSTANCE_TYPES = Arrays.asList(TYPE_ARRAY); public static final String SCALING_GROUP_ID = "xxxxxxxxxxxxxx"; //ubuntu_16_0402_64_20G_alibase_20170818.vhd public 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)); } /** * 創(chuàng)建多實例規(guī)格伸縮配置 * * @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 等參數(shù)需要您根據(jù)個人情況進(jìn)行設(shè)置。
Python
安裝 ESS Python SDK
同 Java 語言一樣,在使用 ESS Python SDK 前,您需要先下載 aliyun-python-sdk-ess、aliyun-python-sdk-core 兩個依賴。本文推薦使用 pip 的方式來安裝 Python 依賴包,關(guān)于 pip 的安裝您可以參數(shù) Installation-Pip。 安裝好 pip 以后,您可以使用命令 pip install aliyun-java-sdk-ess==2.1.3 pip install aliyun-java-sdk-core==3.5.0 安裝兩個所需的依賴。
使用 Python SDK 創(chuàng)建多實例規(guī)格伸縮配置
導(dǎo)入 ESS Python SDK 依賴庫以后,您就可以創(chuàng)建多實例規(guī)格伸縮配置了。使用 Python SDK 創(chuàng)建多實例規(guī)格伸縮配置的代碼如下:
#coding=utf-8 import json import logging from aliyunsdkcore import client from aliyunsdkess.request.v20140828.CreateScalingConfigurationRequest import CreateScalingConfigurationRequest logging.basicConfig(level=logging.INFO, format="%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s", datefmt="%a, %d %b %Y %H:%M:%S") # 請?zhí)鎿Q自己的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 "創(chuàng)建伸縮配置成功,伸縮組ID:" + str(scaling_group_id)
注意:ak,scaling_group_id,security_group_id 等參數(shù)需要您根據(jù)個人情況進(jìn)行設(shè)置。
在使用 SDK 創(chuàng)建伸縮配置的時候,您可以參考 創(chuàng)建伸縮配置接口 來了解每個參數(shù)的意義。建議多實例規(guī)格伸縮配置和多可用區(qū)伸縮組結(jié)合使用,這樣可以在最大程度上提高您的伸縮組的可用性。關(guān)于多可用區(qū)伸縮組的創(chuàng)建方法,您可以參考 使用 ESS SDK 快速創(chuàng)建多可用區(qū)伸縮組 。
寫在最后
ESS 伸縮配置多實例規(guī)格參數(shù)目前可通過 OpenApi 的方式來使用,彈性伸縮服務(wù)控制臺近期也會支持多實例規(guī)格伸縮配置功能。
點(diǎn)擊查看原文
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/41099.html
摘要:摘要年月阿里云彈性伸縮服務(wù)伸縮配置新增了實例自定義數(shù)據(jù)秘鑰對實例角色標(biāo)簽新特性近日,阿里云又發(fā)布了多可用區(qū)新特性。服務(wù)特性阿里云彈性伸縮服務(wù)在業(yè)務(wù)需求高峰增長時可以無縫增加實例,在業(yè)務(wù)需求下降時自動減少實例。 摘要: 2017年9月阿里云彈性伸縮服務(wù)伸縮配置新增了實例自定義數(shù)據(jù)、秘鑰對、實例RAM角色、標(biāo)簽新特性;近日,阿里云又發(fā)布了VSWitchIds.N多可用區(qū)新特性。 點(diǎn)此查看原...
摘要:同城雙中心服務(wù)災(zāi)備阿里云同地域下不同可用區(qū)的網(wǎng)絡(luò)電力設(shè)備等都是物理隔離的,但是通過內(nèi)網(wǎng)連接。二創(chuàng)建伸縮配置,也就是自動添加的云服務(wù)器的配置,這個過程和購買的流程一致。 前言:云服務(wù)器的特性主要就是體現(xiàn)在橫向、縱向的彈性擴(kuò)容上,縱向的話其實很好理解就是我們單臺 ECS 配置不夠用了馬上升級一下配置,不過這種場景比較適合于一個網(wǎng)站穩(wěn)健的發(fā)展?fàn)顟B(tài),而且波動不大?;蛘哒f服務(wù)器有較長時間的資源占...
摘要:同城雙中心服務(wù)災(zāi)備阿里云同地域下不同可用區(qū)的網(wǎng)絡(luò)電力設(shè)備等都是物理隔離的,但是通過內(nèi)網(wǎng)連接。二創(chuàng)建伸縮配置,也就是自動添加的云服務(wù)器的配置,這個過程和購買的流程一致。 前言:云服務(wù)器的特性主要就是體現(xiàn)在橫向、縱向的彈性擴(kuò)容上,縱向的話其實很好理解就是我們單臺 ECS 配置不夠用了馬上升級一下配置,不過這種場景比較適合于一個網(wǎng)站穩(wěn)健的發(fā)展?fàn)顟B(tài),而且波動不大?;蛘哒f服務(wù)器有較長時間的資源占...
閱讀 745·2021-11-25 09:43
閱讀 3032·2021-11-24 10:20
閱讀 1077·2021-10-27 14:18
閱讀 1133·2021-09-08 09:36
閱讀 3456·2021-07-29 14:49
閱讀 1840·2019-08-30 14:07
閱讀 2992·2019-08-29 16:52
閱讀 3109·2019-08-29 13:12