一键创建包年包月ECS实例

在之前的博客中我们介绍了如何通过资源编排服务(ROS)创建 按量付费 的ECS, RDS等资源。今天这篇文章将介绍怎样通过资源编排服务(ROS)创建 包年包月 类型的资源。

目前我们开放了 ECS 和 RDS 两种资源的包年包月资源,详细的属性配置请参考 ALIYUN::ECS::PrepayInstance 和 ALIYUN::RDS::PrepayDBInstance。更多的包年包月类型资源我们将陆续开放,敬请关注。

下面我们通过示例介绍一下,如何使用ROS的Python SDK来创建包年包月的 ECS 实例。

注: 示例中的命令行都使用Linux的shell,Windows/DOS用户需要根据情况修改。

环境准备

  1. 首先您需要安装Python SDK的依赖环境,同时您还需要了解如何通过Python SDK调用阿里云资源编排服务(ROS),详细攻略请参阅阿里云资源编排服务Python SDK使用入门
  2. 如果您之前已经安装了ROS SDK,那么请您更新到最新版本
sudo pip install upgrade aliyun-python-sdk-ros

ALIYUN::ECS::PrepayInstance 资源简介

相对于ALIYUN::ECS::Instance, ALIYUN::ECS::PrepayInstance 新增了几个参数:

  • PeriodType, 包年包月的计价单位,和 Period 属性配合起作用

    • Monthly,按月
    • Yearly, 按年
  • Period, 包年包月时长,不同的计价单位对应的时长可选值不同
    • 如果是按月,Period可选值1-9.
    • 如果是按年,Period可选值1-3

    注: 按照官网的优惠策略,购买10-12个月的话,只需要支付10个月的费用. 您在下单的时候,直接选择1年({Period: 1,PeriodType: Yearly})即可, 请稍后在费用中心对支付金额进行确认。

  • AutoRenew, 当前订单到期后,是否自动续费。如果设置为True,那么
    • 如果PeriodType为Monthly, 则自动续费1个月
    • 如果PeriodType为Yearly,则自动续费1年

ALIYUN::ECS::PrepayInstance 还提供了属性OrderId获取订单id. ECS创建成功后,您可以到费用中心控制台 查看您的订单详情,并完成支付。

模板

我们使用下面的模板来创建资源栈:

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::PrepayInstance",
      "Properties": {
        "ImageId" : "ubuntu1404_64_40G_aliaegis_20160222.vhd",
        "InstanceType": "ecs.s3.large",
        "SecurityGroupId": {
            "Fn::GetAtt": [
                "mySecurityGroup",
                "SecurityGroupId"
            ]
        },
        "Password": "RTYU567*&%dkiss",
        "PeriodType": "Monthly",
        "Period": 1,
        "MaxAmount": 1
      }
    },
    "mySecurityGroup": {
        "Type": "ALIYUN::ECS::SecurityGroup",
        "Properties": {
            "SecurityGroupName": "mySecurityGroup"
        }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value" : {"Fn::GetAtt": ["WebServer","InstanceIds"]}
    },
    "OrderId": {
         "Value" : {"Fn::GetAtt": ["WebServer","OrderId"]}
    }
  }
}

模板中定义了包年包月的ECS实例,购买时长为1个月

下单

1 创建请求对象

req = CreateStacksRequest.CreateStacksRequest()

2 通过HTTP头设置资源栈所在的Region:

req.set_headers({'x-acs-region-id': 'cn-beijing'})

3 构造请求的消息体内容:

create_stack_body = '''
{
    "Name": "%s",
    "TimeoutMins": %d,
    "Template": %s
}
''' % ('create_ecs_prepay', 60, template)

req.set_content(create_stack_body)

4 提交请求,创建资源栈

status, headers, body = client.get_response(req)
    if status == 201:
        result = json.loads(body)
        print(result)
    else:
        print('Unexpected errors: status=%d, error=%s' % (status, body))

5 返回结果

当请求成功时,将会打印如下结果:

{u'Id': u'ac2411c8-9f16-4c8f-901b-4960c6f1d1ed', u'Name': u'create_ecs_prepay'}

创建资源栈的请求会同步返回,订单已提交。我们可以通过ROS的web控制台或者API来查询订单号。

支付

  • 在费用中心, 您可以看到刚刚创建的订单,如下图:

    可以看到订单价格和我们询价一致!
  • 您可以查看订单详情,如下图:

    实例规格符合我们的配置。
  • 当您支付订单之后,就可以到ROS控制台查看资源的创建进度。

本文实例代码可在附件中下载。

时间: 2024-12-31 23:09:16

一键创建包年包月ECS实例的相关文章

ECS实例RAM角色实践

ECS实例RAM角色快速入门 概述 以往部署在ECS实例中的应用程序如果需要访问阿里云其他云产品的API,通常需要借助于AccessKeyId和AccessKeySecret(下文简称AK)来实现.AK是用户访问阿里云API的密钥,具有相应账户的完整权限.但是为了方便应用程序对AK的管理,用户通常需要将AK保存在应用程序的配置文件中或以其他方式保存在实例中.这在一定程度上增加了AK管理上的复杂性且降低了AK的保密性,尤其是对有多地域一致性部署需求的用户,AK将随着镜像及镜像创建的实例扩散出去.在

云服务器 ECS 监控:监控ECS实例

监控ECS实例 一般来说,在本地数据中心我们会对基础设施进行监控,其中包括对主机实例的监控,以便系统地和随时地了解资源使用情况和性能变化,在出现性能瓶颈的时候合理地调配资源,或者在发生故障时追溯原因等等. 在阿里云上,ECS实例也承载着我们的业务应用,ECS实例的资源使用情况和性能负载直接影响着其上应用的运行稳定性和用户体验度.假如没有进行监控,就很有可能在业务高峰期性能不足却无人问津而导致宕机:也可能在出现异常和故障的时候,因为没有历史性能数据而无法进一步追查到原因,可见,没有监控,当问题出现

云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例

使用OpenAPI弹性创建ECS实例 除了可以在ECS控制台或售卖页创建 ECS 外,您还可以使用 OpenAPI 代码来弹性地创建和管理ECS.本页面使用 Python 为例进行说明. 创建 ECS 时需关注以下 API: 创建ECS实例 查询实例列表 启动ECS实例 分配公网IP地址 前提条件 开通按量付费产品,您的账户余额不得少于 100 元,更多的需求参见 ECS使用须知.您需要在阿里云的费用中心确保自己的余额充足. 创建按量云服务器 创建云服务器时的必选属性: SecurityGrou

利用资源编排创建100台ECS实例并指定自动释放时间

在之前的博客中我们提到了通过资源编排创建一个ECS实例.在实际的大规模使用中,还是非常不方便的.为了更快更方便的批量创建资源,我们提供了新的资源类型InstanceGroup,它可以方便创建最多100台的同规格配置的资源,并且可以在创建的时候指定自动释放时间,您也可以不指定,当需要释放全部资源的时候通过删除该资源组或者通过ECS控制台释放这些实例. ALIYUN::ECS::InstanceGroupClone 从已有的ECS实例快速Clone一组资源 ALIYUN::ECS::Instance

用资源编排模板创建0M带宽的ECS实例

最近时有用户咨询,如何用资源编排服务(ROS)创建0M带宽的ECS实例.一键体验 >> 以前大家习惯的ECS售卖页表单选择的购买方式,带宽直接选择0M即可,如下图所示.但是,用模板和API来创建,就有点儿不知所措了. 通过资源编排服务创建ECS实例 如果您对使用资源编排服务创建云资源还不熟悉,请参考我们之前的介绍 <通过资源编排创建一个ECS实例>,ALIYUN::ECS::Instance 插件地址.涉及ECS实例带宽相关的参数如下图: 创建0M带宽的实例,主要就两点: 网络类型

E-MapReduce集群脚本-包年包月集群修改软件环境的利器

集群,特别是包年报月集群,在使用过程中,可能会有新的安装第三方软件,修改集群运行环境的需求.例如Presto组件想增加udf.支持更多类型的插件,安装第三方软件,安装操作系统软件包,等等.由于包年包月集群不能直接释放了新建,所以需要一种引导操作的功能在集群使用中执行安装脚本. E-MapReduce控制台1.5.0版本提供了集群脚本的功能,可以在集群创建好后批量选择节点,运行您指定的脚本,以实现个性化的需求. 集群脚本类似引导操作,您可以在集群创建好后安装很多目前集群尚未支持的软件到您的集群上,

ROS机器人程序设计(原书第2版)2.4.3 创建ROS功能包和综合功能包

2.4.3 创建ROS功能包和综合功能包 就像之前所说,你也可以手动创建功能包.但是为了避免那些繁琐的工作,最好使用catkin_create_pkg命令行工具. 使用以下命令在之前建立的工作空间创建新的功能包:   此命令的格式包括功能包的名称和依赖项.在这个示例中,依赖项包括std_msgs和roscpp.如以下命令行所示:   这些依赖项包括: std_msgs 包含了常见消息类型,表示基本数据类型和其他基本的消息构造,如多维数组. roscpp 使用C++实现ROS的各种功能.它提供了一

通过资源编排创建一个ECS实例

快速创建ECS实例 创建了安全组之后,就可以来创建ECS的实例了. ROS提供了两种资源可以生成ECS的实例,一种资源是ALIYUN::ECS::InstanceClone, 它支持快速的从已有的ECS实例克隆一个资源,另外一种是ALIYUN::ECS::Instance支持按照配置生成一个ECS资源. 下面通过简单的介绍如何创建一个ECS实例. 通过已有的ECS实例进行克隆 通过ALIYUN::ECS::InstanceClone的属性定义.只有一个必选参数就是SourceInstanceId

在Ubuntu下如何创建远程&quot;.deb&quot;包仓库

在Ubuntu下如何创建远程".deb"包仓库 Reprepro是一款小巧的命令行工具来方便地创建并管理.deb仓库.今天我们会展示给你如何使用reprepro简单地创建一个Debian包仓库,并使用rsync上传到Sourceforge.net. 步骤 1: 安装Reprepro并生成key 首先,安装所有需要的包,使用下面的apt-get命令. $ sudo apt-get install reprepro gnupg 现在你需要使用gnupg生成一个gpg key,这里使用下面的