开发者社区> 小鱼儿哈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,阿里云提供的多地域、多可用区、多产品的组合部署方式,满足不同用户的业务需求。在此基础上,ECS提供了便捷的地域/可用区/产品的查询方式,便于用户在复杂多变的ECS资源中,快速定位自身所需。
+关注继续查看

基础概念

1、地域可用区概念

  • 地域是指物理的数据中心.
  • 可用区是指在同一地域内,电力和网络互相独立的物理区域。官网详解

2、产品概念:产品基本形态由四部分组成,<计费方式, 规格与IO优化,网络类型, 磁盘类型>

  • (1) 计费方式:目前主要有 包年/包月/包周、按量付费竞价实例 三种。
  • (2) 规格与IO优化:ECS 实例规格定义了实例的 CPU 和内存的配置(包括 CPU 型号、主频等)这两个基本属性,目前新售卖的规格,都是默认IO优化
  • (3) 网络类型: 目前主要分为经典网路与专有网络,网络详解
  • (4) 磁盘类型: 磁盘主要分为云盘与本地盘。云盘详解

资源定位步骤

1、步骤概览

步骤 对应接口 对应参数 目标数据
1、查询地域 DescribeRegions N/A 地域名称(RegionId)
2、查询可用区 DescribeZones 地域名称 可用区名称(ZoneId)
3、确定付费类型 DescribeZones 付费类型/竞价策略 可用区资源组合
4、查询资源组合 DescribeZones 地域名称/付费类型 可用区资源组合

2、步骤注释

注1、实例的付费方式。取值范围:
  • PrePaid:预付费,即包年包月
  • PostPaid:后付费,即按量付费。
  • 默认值:PostPaid
注2、竞价策略。后付费实例的竞价策略。

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

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

AvailableResourcesType 中的详细信息组合

名称 类型 描述
IoOptimized String 是否 IO 优化
NetworkTypes String 支持的网络类型
InstanceGenerations Array 支持的实例系列
InstanceTypeFamilies Array 支持的实例规格族
SystemDiskCategories Array 支持创建的系统盘类型组成的数组
DataDiskCategories Array 支持创建的数据盘类型组成的数组
InstanceTypes Array 支持创建的实例规格组成的数组

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的效率,希望大家多多使用,多多支持。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云速搭CADT - 架构资源校验
云速搭(Cloud Architect Design Tool,CADT)是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本。本产品提供大量预制的应用架构模板,同时也支持自助拖拽方式定义应用云上架构,支持大量阿里云服务的配置和管理,您可以方便地对云上架构方案的成本、部署、运维、回收进行全生命周期的管理。
36 0
百度智能云过滤文本,图片
百度智能云过滤文本,图片
92 0
Kubernetes 中日志的正确输出姿势
本文我们将从实践角度出发来一步步构建K8s中的日志监控体系。构建日志系统的第一步是如何去产生这些日志,而这也往往是最繁杂最困难的一步。
787 0
【云服务月刊】2018年第5期:阿里云重磅宣布文档开源
阿里云支持与服务部出品,每月汇集客户常见问题解答、技术干货、趣味云知识、精选文章、客户案例、热门活动、服务产品推荐等内容。
3357 0
Hadoop社区支持阿里云OSS 云计算与开源融合的新里程碑
Hadoop社区作为大数据领域的开源软件,一直以来都受到了各个厂商的高度重视,对OSS的支持将更大程度的促进开源软件和云计算的互通与融合。
10320 0
JDBC PreparedStatement 批量查询 in 的实现 方案
    我们经常会有这种业务需求,根据一个条件集合去查询一张表的数据,比如: select * from all_element t where t.task_id in (List &lt;taskids&gt;);     在java语言中,我们需要用到JDBC来和数据库打交道,那么在JDBC中该如何处理这种需求呢?我们可以有如下几种处理方式 方案一:写一
1651 0
+关注
小鱼儿哈
技术猿一枚,乐于分享技术
2
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载