日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用彈性供應(yīng)組API批量創(chuàng)建ECS實(shí)例

更新時(shí)間:

在需要大量創(chuàng)建按量付費(fèi)實(shí)例的情況下,您可以通過調(diào)用API接口完成創(chuàng)建操作更為高效。本文主要介紹如何通過編寫調(diào)用CreateAutoProvisioningGroup API接口的Java代碼批量創(chuàng)建ECS按量付費(fèi)實(shí)例,以及對比RunInstances和CreateAutoProvisioningGroup接口的功能、優(yōu)劣勢。

背景信息

在業(yè)務(wù)需要使用按量付費(fèi)ECS實(shí)例的場景下,RunInstances是使用最頻繁的API。RunInstances擁有一次調(diào)用能夠最多創(chuàng)建100臺ECS實(shí)例的能力,但是在實(shí)際的生產(chǎn)環(huán)境中,如果需要超過100臺的大批量創(chuàng)建ECS實(shí)例場景,直接使用RunInstances會(huì)存在一定的技術(shù)瓶頸。更多信息,請參見RunInstances創(chuàng)建實(shí)例時(shí)存在的問題

說明

如果您已了解RunInstances批量創(chuàng)建實(shí)例過程中存在的技術(shù)瓶頸,可以跳過該章節(jié)。

為了解決大批量創(chuàng)建ECS實(shí)例的需求場景,阿里云提供了彈性供應(yīng)組,您可以通過CreateAutoProvisioningGroup創(chuàng)建彈性供應(yīng)組,一鍵式地部署跨計(jì)費(fèi)方式、跨可用區(qū)、跨實(shí)例規(guī)格族的實(shí)例集群。相較于RunInstancesCreateAutoProvisioningGroup更適合大批量創(chuàng)建ECS實(shí)例的業(yè)務(wù)場景。兩者的功能對比與優(yōu)勢分析,請參見RunInstances與CreateAutoProvisioningGroup功能對比以及彈性供應(yīng)組的優(yōu)勢

RunInstances與CreateAutoProvisioningGroup功能對比

本章節(jié)對比RunInstancesCreateAutoProvisioningGroup兩接口的部分功能,使您可以快速了解兩者的差異,選擇合適的創(chuàng)建實(shí)例方式。

對比項(xiàng)

RunInstances

CreateAutoProvisioningGroup

單次批量創(chuàng)建實(shí)例的數(shù)量上限

100臺

1000臺(vCPU上限為10000)

容量交付方式

實(shí)例數(shù)量

實(shí)例數(shù)量、vCPU核數(shù)、實(shí)例規(guī)格的權(quán)重等

是否支持多可用區(qū)

是否支持多個(gè)實(shí)例規(guī)格

是否支持多種磁盤規(guī)格

是否提供了創(chuàng)建實(shí)例的策略

是。提供了如下策略:

  • 按量付費(fèi)實(shí)例

    • 成本優(yōu)化策略:從備選實(shí)例規(guī)格中選取成本最低的實(shí)例規(guī)格,創(chuàng)建實(shí)例。

    • 優(yōu)先級策略:按照備選實(shí)例規(guī)格設(shè)置的優(yōu)先級,依次嘗試創(chuàng)建實(shí)例。

  • 搶占式實(shí)例

    • 成本優(yōu)化策略:從備選實(shí)例規(guī)格中選取成本最低的實(shí)例規(guī)格,創(chuàng)建實(shí)例。

    • 可用區(qū)均衡分布策略:在備選的可用區(qū)之間,數(shù)量均勻地創(chuàng)建實(shí)例。

    • 容量優(yōu)化分布策略:根據(jù)搶占式實(shí)例的庫存情況,選擇最優(yōu)的實(shí)例規(guī)格及可用區(qū)進(jìn)行創(chuàng)建實(shí)例。

交付穩(wěn)定性

受資源庫存影響較大

多可用區(qū)、多實(shí)例規(guī)格的配置組合有效降低了資源庫存造成的影響

API響應(yīng)格式

同步返回創(chuàng)建結(jié)果

同步返回創(chuàng)建結(jié)果

創(chuàng)建實(shí)例的方式由RunInstances更換為CreateAutoProvisioningGroup的部分示例場景:

  • 如果您之前使用RunInstances在單可用區(qū)、單實(shí)例規(guī)格的配置下批量創(chuàng)建實(shí)例,更換為CreateAutoProvisioningGroup后,您只需配置一組實(shí)例規(guī)格與可用區(qū)的組合,即可實(shí)現(xiàn)批量創(chuàng)建實(shí)例。

  • 如果您之前使用RunInstances時(shí)手動(dòng)設(shè)置了業(yè)務(wù)部署方案,更換為CreateAutoProvisioningGroup后,將由系統(tǒng)為您提供一鍵式的多可用區(qū)、多實(shí)例規(guī)格、多磁盤配置的部署能力,并且系統(tǒng)提供了多種創(chuàng)建實(shí)例的策略供您選擇。

    例如:您之前手動(dòng)設(shè)置了遍歷多個(gè)實(shí)例規(guī)格及可用區(qū)的方案進(jìn)行RunInstances調(diào)用,以提高實(shí)例創(chuàng)建的成功率。更換為CreateAutoProvisioningGroup后,您只需要通過參數(shù)配置多個(gè)實(shí)例規(guī)格及可用區(qū)的組合,選擇合適的創(chuàng)建策略,系統(tǒng)將自動(dòng)完成批量創(chuàng)建實(shí)例的操作。

重要

彈性供應(yīng)組的創(chuàng)建策略存在使用限制,單次最大可創(chuàng)建1000臺實(shí)例,如果指定了實(shí)例規(guī)格的權(quán)重(WeightedCapacity),則單次創(chuàng)建的最大加權(quán)容量為10000。

RunInstances創(chuàng)建實(shí)例時(shí)存在的問題

基于RunInstances功能的限制,您在大批量創(chuàng)建實(shí)例時(shí),可能遇到下表所示的問題。

問題

說明

解決方案

批量創(chuàng)建的能力有限

調(diào)用一次RunInstances最多可以創(chuàng)建100臺ECS實(shí)例。

當(dāng)您需要?jiǎng)?chuàng)建大于100臺ECS實(shí)例時(shí),需要通過循環(huán)或并發(fā)的方式多次調(diào)用該接口,以完成業(yè)務(wù)需求。

批量創(chuàng)建的穩(wěn)定性不足

調(diào)用RunInstances只支持設(shè)置單可用區(qū)、單實(shí)例規(guī)格。因此,在批量創(chuàng)建ECS實(shí)例的過程中,可能會(huì)出現(xiàn)實(shí)例規(guī)格的庫存不足、停止售賣或使用限制等問題。引發(fā)以下情況:

  • 在某一時(shí)間段,實(shí)例規(guī)格的庫存不足導(dǎo)致批量創(chuàng)建失敗。

  • 在某一時(shí)間段,實(shí)例規(guī)格停止售賣導(dǎo)致無法再創(chuàng)建指定的實(shí)例規(guī)格。

  • 指定的實(shí)例規(guī)格只在部分可用區(qū)出售。

  • 指定的實(shí)例規(guī)格只能搭配指定的磁盤類型。

  • 庫存問題是導(dǎo)致批量創(chuàng)建ECS實(shí)例失敗的主要原因。因此阿里云會(huì)推薦您在批量創(chuàng)建ECS實(shí)例之前,先調(diào)用DescribeAvailableResource查詢實(shí)例規(guī)格與可用區(qū)下資源的庫存情況,手動(dòng)確認(rèn)多個(gè)庫存充足的可用區(qū)與實(shí)例規(guī)格的組合后,再批量創(chuàng)建ECS實(shí)例。通過復(fù)雜的創(chuàng)建方式,換來了較高的業(yè)務(wù)交付穩(wěn)定性。

    示例場景:當(dāng)您確認(rèn)多個(gè)庫存充足的可用區(qū)與實(shí)例規(guī)格的組合后,您還需要構(gòu)建合適的創(chuàng)建ECS實(shí)例的策略。例如,您可以根據(jù)手動(dòng)確認(rèn)的多個(gè)組合順序,依次創(chuàng)建100臺ECS實(shí)例,如果第一個(gè)組合的資源庫存只支持創(chuàng)建50臺ECS實(shí)例,那么您需要使用第二個(gè)組合嘗試創(chuàng)建其余50臺ECS實(shí)例。

  • 實(shí)例規(guī)格存在使用限制。您可以通過DescribeAvailableResource查詢限制,并自行建立容錯(cuò)方案,避免因使用限制變更帶來的影響。

    說明

    您也可以根據(jù)文檔提供的實(shí)例規(guī)格特點(diǎn)確定相關(guān)限制。更多信息,請參見實(shí)例規(guī)格族

    示例場景:ecs.g6e.large實(shí)例規(guī)格只支持ESSD云盤類型、cn-beijing-x可用區(qū)下不支持選擇ESSD云盤類型等。

創(chuàng)建策略過于單一

RunInstances僅支持設(shè)置單可用區(qū)、單實(shí)例規(guī)格。如果您的業(yè)務(wù)需要多可用區(qū)部署實(shí)現(xiàn)異地容災(zāi),或者需要按照最低成本創(chuàng)建ECS實(shí)例,則需要您自行構(gòu)建業(yè)務(wù)部署方案,以保障實(shí)例的成功部署。自行構(gòu)建的業(yè)務(wù)部署方案存在以下問題:

  • 開發(fā)成本高。自行構(gòu)建的業(yè)務(wù)部署方案需要處理一系列的問題。例如,庫存不足時(shí)如何順利的創(chuàng)建ECS實(shí)例、擴(kuò)容服務(wù)器時(shí)如何在獲取搶占式實(shí)例最低成本的同時(shí)保證計(jì)算能力等

  • 穩(wěn)定性與專業(yè)性不足。對于阿里云提供的資源,您難以用專業(yè)的方式自行構(gòu)建業(yè)務(wù)部署方案,并無法對方案進(jìn)行測試,進(jìn)而將對生產(chǎn)環(huán)境造成一定的風(fēng)險(xiǎn)。

自行解決或聯(lián)系阿里云提供幫助。

彈性供應(yīng)組的優(yōu)勢

針對RunInstances批量創(chuàng)建ECS實(shí)例存在的問題,阿里云提供了彈性供應(yīng)組,解決了大批量創(chuàng)建ECS實(shí)例的場景下存在的問題。彈性供應(yīng)組支持一鍵部署跨計(jì)費(fèi)方式、跨可用區(qū)、跨實(shí)例規(guī)格族的實(shí)例集群。您可以通過彈性供應(yīng)組穩(wěn)定提供計(jì)算力,緩解搶占式實(shí)例的回收機(jī)制帶來的不穩(wěn)定因素,免去重復(fù)手動(dòng)創(chuàng)建實(shí)例的繁瑣操作。本章節(jié)主要介紹彈性供應(yīng)組的優(yōu)勢。

優(yōu)勢

說明

批量創(chuàng)建ECS實(shí)例的數(shù)量上限更高

彈性供應(yīng)組支持單次創(chuàng)建最多1000臺ECS實(shí)例。

支持設(shè)置多可用區(qū)、多實(shí)例規(guī)格、多種磁盤類型

彈性供應(yīng)組支持您配置最多10種實(shí)例規(guī)格或可用區(qū)的組合、最多5種磁盤類型的選擇,幫助您實(shí)現(xiàn)高可用的批量創(chuàng)建ECS實(shí)例。

示例場景:

當(dāng)您通過彈性供應(yīng)組提供的均衡可用區(qū)分布策略創(chuàng)建ECS實(shí)例時(shí),可以配置多個(gè)可用區(qū)和多個(gè)實(shí)例規(guī)格。按照策略的要求,多個(gè)可用區(qū)下,創(chuàng)建實(shí)例的數(shù)量應(yīng)相對平均,但如果其中某個(gè)可用區(qū)無法完成創(chuàng)建,彈性供應(yīng)組會(huì)嘗試將該可用區(qū)待創(chuàng)建的實(shí)例數(shù)量,轉(zhuǎn)移到其他可用區(qū)進(jìn)行創(chuàng)建。

如果您指定了多種磁盤規(guī)格,彈性供應(yīng)組將按照指定順序作為各磁盤類型的優(yōu)先級順序,當(dāng)某一種磁盤不可用時(shí),自動(dòng)更換磁盤類型。

說明

當(dāng)所有磁盤類型都不可用時(shí),系統(tǒng)將會(huì)自動(dòng)更換其它創(chuàng)建方式,不再嘗試該種創(chuàng)建方式。

支持多種創(chuàng)建實(shí)例的策略

針對按量付費(fèi)實(shí)例和搶占式實(shí)例,分別提供了以下創(chuàng)建策略:

  • 按量付費(fèi)實(shí)例

    • 成本優(yōu)化策略:從備選實(shí)例規(guī)格中選取成本最低的實(shí)例規(guī)格,創(chuàng)建實(shí)例。

    • 優(yōu)先級策略:按照備選實(shí)例規(guī)格設(shè)置的優(yōu)先級,依次嘗試創(chuàng)建實(shí)例。

  • 搶占式實(shí)例

    • 成本優(yōu)化策略:從備選實(shí)例規(guī)格中選取成本最低的實(shí)例規(guī)格,創(chuàng)建實(shí)例。

    • 可用區(qū)均衡分布策略:在備選的可用區(qū)之間,均勻數(shù)量地創(chuàng)建實(shí)例。

    • 容量優(yōu)化分布策略:根據(jù)搶占式實(shí)例的庫存情況,選擇最優(yōu)的實(shí)例規(guī)格及可用區(qū)進(jìn)行創(chuàng)建實(shí)例。

可提高搶占式實(shí)例的可用性

搶占式實(shí)例因其價(jià)格優(yōu)勢使用量越來越高,但是其價(jià)格的不穩(wěn)定性與系統(tǒng)回收的特性,造成管理搶占式實(shí)例存在一定的難度。您可以通過彈性供應(yīng)組,實(shí)現(xiàn)在低成本的前提下,提高搶占式實(shí)例的可用性。具體方式如下:

  • 創(chuàng)建策略選擇默認(rèn)的成本優(yōu)化策略,每次的擴(kuò)容策略將按照實(shí)例規(guī)格價(jià)格從低到高的順序嘗試創(chuàng)建。

  • 搶占式實(shí)例對應(yīng)的不同實(shí)例規(guī)格與可用區(qū)的資源庫存情況互相隔離。多個(gè)實(shí)例規(guī)格與多個(gè)可用區(qū)的配置組合,可以有效降低所有組合都無庫存的概率。

  • 創(chuàng)建彈性供應(yīng)組時(shí),配置多種備選的磁盤類型,保證創(chuàng)建實(shí)例的過程中,系統(tǒng)能夠自動(dòng)選取合適的磁盤類型。

  • 配置SpotInstancePoolsToUseCount參數(shù),指定搶占式實(shí)例在多個(gè)最低價(jià)格的實(shí)例規(guī)格及可用區(qū)的組合中創(chuàng)建。避免某一種實(shí)例規(guī)格對應(yīng)的實(shí)例回收,造成計(jì)算能力產(chǎn)生雪崩效應(yīng)。

CreateAutoProvisioningGroup最佳實(shí)踐

本章節(jié)提供CreateAutoProvisioningGroup接口對應(yīng)的Java代碼示例,使您快速了解該接口的使用方式。

  1. 安裝ECS Java SDK以及阿里云核心庫。

    具體操作,請參見安裝Java SDK

  2. 編寫調(diào)用CreateAutoProvisioningGroup接口的Java代碼。

    代碼示例如下:

    CreateAutoProvisioningGroupRequest request = new CreateAutoProvisioningGroupRequest();
    request.setRegionId(regionId);
    request.setLaunchConfigurationImageId(RequestHelper.IMAGE_ID);
    request.setLaunchConfigurationSecurityGroupId(securityGroupId);
    
    request.setTotalTargetCapacity(totalTargetCapacity);
    request.setPayAsYouGoTargetCapacity(payAsYouGoTargetCapacity);
    request.setSpotTargetCapacity(spotTargetCapacity);
    request.setLaunchConfigurationSystemDiskCategory("cloud_ssd");
    request.setLaunchConfigurationSystemDiskSize(40);
    request.setAutoProvisioningGroupType("instant");
    // 設(shè)置搶占式實(shí)例的創(chuàng)建策略
    request.setSpotAllocationStrategy("lowest-price");
    request.setSpotInstancePoolsToUseCount(spotInstancePoolsToUseCount);
    // 設(shè)置按量付費(fèi)實(shí)例的創(chuàng)建策略
    request.setPayAsYouGoAllocationStrategy("prioritized");
    request.setMaxSpotPrice(maxSpotPrice);
    // 多實(shí)例規(guī)格,多可用區(qū)配置信息,最大支持10種
    request.setLaunchTemplateConfigs(launchTemplateConfigs);
    request.setClientToken(clientToken);
    CreateAutoProvisioningGroupResponse response = client.getAcsResponse(request);

    JSON返回值示例如下:

    {
        "autoProvisioningGroupId":"apg-****",
        "launchResults":[
            {
                "instanceIds":[
                    "i-****"
                ],
                "instanceType":"ecs.c5.large",
                "spotStrategy":"NoSpot",
                "zoneId":"cn-shanghai-b"
            },
           {
                "instanceIds":[],
                "instanceType":"ecs.c5.large",
                "spotStrategy":"NoSpot",
                "zoneId":"cn-shanghai-b",
                "errorCode" : "Invalid.Parameter",
                "errorMsg" : "Specific Parameter 'imageId' is not valid"
            }
        ],
        "requestId":"20DA1E9F-BF7F-4BE7-8204-E4DE58E4FC7B"
    }

    通過CreateAutoProvisioningGroup創(chuàng)建彈性供應(yīng)組時(shí),您只需要設(shè)置批量創(chuàng)建實(shí)例的相關(guān)配置項(xiàng),無需關(guān)心創(chuàng)建過程,彈性供應(yīng)組將以盡力交付的方式,完成創(chuàng)建。

    說明

    盡力交付的方式是指,當(dāng)您配置的某些資源組合無法創(chuàng)建實(shí)例時(shí),將自動(dòng)切換到其他可用的資源組合繼續(xù)進(jìn)行創(chuàng)建。該方式創(chuàng)建實(shí)例需要一定的時(shí)間,并且可能導(dǎo)致實(shí)際創(chuàng)建結(jié)果與創(chuàng)建策略存在一定的偏差。