云服务器ECS资源查询的正确姿势

基础概念

1、地域可用区概念
  • 地域是指物理的数据中心.
  • 可用区是指在同一地域内,电力和网络互相独立的物理区域。官网详解
2、产品概念:产品基本形态由四部分组成,<计费方式, 规格与IO优化,网络类型, 磁盘类型>
  • (1) 计费方式:目前主要有 包年/包月/包周、按量付费竞价实例 三种。
  • (2) 规格与IO优化:ECS 实例规格定义了实例的 CPU 和内存的配置(包括 CPU 型号、主频等)这两个基本属性,目前新售卖的规格,都是默认IO优化
  • (3) 网络类型: 目前主要分为经典网路与专有网络,网络详解
  • (4) 磁盘类型: 磁盘主要分为云盘与本地盘。云盘详解

资源定位步骤

1、步骤概览
步骤对应接口对应参数目标数据
1、查询地域DescribeRegionsN/A地域名称(RegionId)
2、查询可用区DescribeZones地域名称可用区名称(ZoneId)
3、确定付费类型DescribeZones付费类型/竞价策略可用区资源组合
4、查询资源组合DescribeZones地域名称/付费类型可用区资源组合
2、步骤注释
注1、实例的付费方式。取值范围:
  • PrePaid:预付费,即包年包月
  • PostPaid:后付费,即按量付费。
  • 默认值:PostPaid
注2、竞价策略。后付费实例的竞价策略。

当 InstanceChargeType 为PostPaid 时为生效,
取值范围:

  • NoSpot:正常按量付费实例;
  • SpotWithPriceLimit:设置上限价格的竞价实例;
  • SpotAsPriceGo:系统自动出价,最高按量付费价格。
  • 默认值:NoSpot
注3、可用区资源组合

AvailableResourcesType 中的详细信息组合

名称类型描述
IoOptimizedString是否 IO 优化
NetworkTypesString支持的网络类型
InstanceGenerationsArray支持的实例系列
InstanceTypeFamiliesArray支持的实例规格族
SystemDiskCategoriesArray支持创建的系统盘类型组成的数组
DataDiskCategoriesArray支持创建的数据盘类型组成的数组
InstanceTypesArray支持创建的实例规格组成的数组
3、案例与步骤

背景 : 开发小王,需要调用openAPI购买2台阿里云服务器ECS。具体需求是:杭州地域、双可用区容灾,包年包月,专有网络,企业级独享实例ecs.sn1.medium(2核心4G内存)实例。
问题 1、是否可以购买?
问题 2、哪个可用区满足要求?

1、确定地域的regionId;

首先,调用步骤1的DescribeRegions 接口,拿到杭州的regionID:

请求示例

https://ecs.aliyuncs.com/?Action=DescribeRegions
&<公共请求参数>

返回示例

<DescribeRegionsResponse>
    <RequestId>611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F</RequestId>
    <Regions>
        <Region>
            <RegionId>cn-hangzhou </RegionId>
        </Region>
        <Region>
            <RegionId>cn-qingdao</RegionId>
        </Region>
    </Regions>
</DescribeRegionsResponse>
2、确定付费类型;

根据注释及DescribeZones参数,确定包年包月参数

InstanceChargeType = PrePaid
3、查询可见可用区;

根据步骤1、2 确定了reigonId 及InstanceChargeType,调用DescribeZones查询可用区

请求示例

https://ecs.aliyuncs.com/?Action=DescribeZones
&RegionId=cn-hangzhou
&InstanceChargeType=PrePaid
&<公共请求参数>

返回示例

{
    "RequestId":"ED962F8E-BAAE-4569-857C-F7B8932F1CF3",
    "Zones":{
        "Zone":[
            {
                "AvailableResourceCreation":Object{...},
                "AvailableResources":Object{...},
                "AvailableInstanceTypes":Object{...},
                "ZoneId":"cn-hangzhou-f",
                "AvailableVolumeCategories":Object{...},
                "LocalName":"华东 1 可用区 F",
                "AvailableDiskCategories":Object{...}
            },
            Object{...},
            Object{...},
            Object{...},
            Object{...}
        ]
    }
}

拿到zoneId列表 cn-hangzhou-b/cn-hangzhou-c/cn-hangzhou-e/cn-hangzhou-f

4、查询产品;

根据步骤3的返回实例,细致化分析可用区f内资源情况

1、可创建产品类别

AvailableResourceCreation 中代表可用区内可以创建的

  • 虚拟交换机:VSwitch
  • 实例:Instance
  • 独立云盘:Disk
    以上三种资源

返回示例

{
                "AvailableResourceCreation":{
                    "ResourceTypes":[
                        "VSwitch",
                        "Instance",
                        "Disk"
                    ]
                },
2、可创建资源组合

确定了可用区可以创建实例,接下来分析可用区实例资源组合

返回示例

          "AvailableResources":{
                    "ResourcesInfo":[
                        {
                            "IoOptimized":true,
                            "SystemDiskCategories":{
                                "supportedSystemDiskCategory":[
                                    "cloud_ssd",
                                    "cloud_efficiency"
                                ]
                            },
                            "InstanceTypes":{
                                "supportedInstanceType":[
                                    "ecs.sn1.medium",
                                    "...",
                                ]
                            },
                            "InstanceTypeFamilies":{
                                "supportedInstanceTypeFamily":[
                                    "ecs.sn1",
                                    "..."
                                ]
                            },
                            "DataDiskCategories":{
                                "supportedDataDiskCategory":[
                                    "cloud_ssd",
                                    "cloud_efficiency"
                                ]
                            },
                            "InstanceGenerations":{
                                "supportedInstanceGeneration":[
                                    "ecs-3",
                                    "..."
                                ]
                            },
                            "NetworkTypes":{
                                "supportedNetworkCategory":[
                                    "vpc"
                                ]
                            }
                        },
                        Object{...}
                    ]
                }

AvailableResources 中代表可用区内可以创建的资源组合

  • 规格:InstanceTypes,寻找 ecs.sn1.medium
  • IO优化:"IoOptimized", 寻找 true,
  • 磁盘类型:SystemDiskCategories/DataDiskCategories, 寻找cloud_efficiency
  • 网络类型:NetworkTypes, 寻找vpc

确定资源可用区f AvailableResources组合中,有且满足小王要求的产品。
按照同样的步骤,寻找到第二个可用区 b

3、创建实例;
  • 1、创建虚拟交换机:确定了可用区后,就可以在对应对应可用区创建虚拟交换机。
  • 2、创建对应产品:确定传入对应的产品组合:
  • 地域:RegionId =cn-hangzhou
  • 可用区:ZoneId =cn-hangzhou-f
  • 虚拟交换机:VSwitchId =id1/id2
  • io优化:IoOptimized =optimized
  • 规格:InstanceType =ecs.sn1.medium
  • 磁盘:SystemDisk.Category=cloud_efficiency

总结

工欲善其事必先利其器,理解并使用云服务器ECS资源查询的正确姿势,可以大大提升OpenAPI用户创建ECS的效率,希望大家多多使用,多多支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值