zl程序教程

您现在的位置是:首页 >  后端

当前栏目

一键创建包年包月ECS实例

实例 创建 一键 ECS
2023-09-14 09:01:05 时间

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

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

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

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

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

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


注: 按照官网的优惠策略,购买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 返回结果

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

{uId: uac2411c8-9f16-4c8f-901b-4960c6f1d1ed, uName: ucreate_ecs_prepay}

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

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

可以看到订单价格和我们询价一致!

您可以查看订单详情,如下图:
screenshot

实例规格符合我们的配置。

当您支付订单之后,就可以到ROS控制台查看资源的创建进度。

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


【ECS常见问题三 ——镜像】镜像市场包年包月镜像 FAQ 什么是镜像市场的包年包月和按周付费镜像? 镜像市场的包年包月和按周付费镜像是指从阿里云云市场购买的,按周、按月或按年付费使用的镜像。这些镜像由镜像供应商开发并维护,所有售前咨询和售后服务都由镜像供应商提供。
[新功能]ECS API支持批量创建包年包月云服务器 除了可以在ECS控制台或者售卖页创建ECS之外,您可以使用OpenApi代码来弹性的创建和管理ECS。RunInstances支持按量批量创建,此处介绍ECS新功能——包年包月批量创建。
ECS 按量付费转包年包月支持按周啦 功能场景 不需要别的理由,就是省钱,以 华北1 ecs.t5-c1m2.xlarge(4vCPU 8GiB) 为例: 按量付费一周需要 131元,而预付费包周只需要 68元,如果您正在使用按量付费,但又不会使用一个月那么久(超过一个月可以转包月),还在等什么,果断转为包周实例吧。
ECS使用体验 我是武汉某大学计算机专业的大学生,在学校安排的课程中,参加了阿里云的飞天加速计划,领取到了试用ECS,同时,还通过阿里云的相关视频了解到云服务云计算场景下,云服务器的多种应用,很大程度上帮助了我在有关方面的学习。