当您对海外云服务器有需求时,可选择Unirech阿里云代充,那么在注册好账户之后,下面将介绍如何通过RunInstances批量创建实例接口,可以帮助您一次创建多个阿里云国际版海外云服务器实例来完成应用程序的开发和部署,并方便灵活的资源创建。

一、准备阶段。

1.在调用API之前,您需要创建AccessKey。与 CreateInstance 接口相比,RunInstances 接口可以一次创建多达100个阿里云国际版云服务器实例,以避免重复调用。实例进行创建工作之后,实例会以及自动学习变成Starting状态,然后可以变成Running状态,不需要您调用StartInstance的操作。

2.如果在创建实例时指定了InternetMaxBandwidthOut,则公共网络IP将自动分配给您,而无需调用分配IP的操作。

3.您还可以一次创建100个抢占式实例,从而提供所需的灵活性。

4.创建参数与CreateInstance兼容,增加了Amount参数设置创建次数,增加了AutoReleaseTime参数设置自动释放时间,所以不需要设置自动释放时间。

5.创建返回一个InstanceIdSets会记录进行相关的InstanceIds,您只需我们要根据实例ID轮询实例状态信息即可。

二、安装阶段。

下面提供了一个完整的代码示例,用于批量创建ECS实例。

1.安装ECS Python SDK

首先,确保您有 Python 的 Runtime,2.7或更高版本。

Python SDK应该是4.4.3及以上版本。如果使用的是旧版本的SDK,则需要更新它。

pip install aliyun-python-sdk-ecs

如果一个提示您没有进行权限,请切换sudo继续工作执行。

sudo pip install aliyun-python-sdk-ecs

完整代码

#  coding=utf-8# if the python sdk is not install using 'sudo pip install aliyun-python-sdk-ecs'# if the python sdk is install using 'sudo pip install --upgrade aliyun-python-sdk-ecs'# make sure the sdk version is 4.4.3, you can use command 'pip show aliyun-python-sdk-ecs' to checkimport jsonimport loggingimport timefrom aliyunsdkcore import clientfrom aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequestfrom aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest logging.basicConfig(level=logging.INFO,                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',                    datefmt='%a, %d %b %Y %H:%M:%S')# 您的access key Id。ak_id = "your-access-key-id"# 您的access key secret。ak_secret = "your-access-key-secret"# 设置地域。region_id = "cn-hangzhou"clt = client.AcsClient(ak_id, ak_secret, region_id)# 设置实例规格。instance_type = "ecs.g6.large"# 选择的交换机。vswitch_id = "vsw-bp1ddbrxdlrcbim46****"# 使用的镜像信息。image_id = "<imageid>"# 当前VPC类型的安全组。security_group_id = "sg-bp1i4c0xgqxadew2****"# 批量创建ECS实例的数量, 取值范围:1-100, 默认值:1。amount = 2;# 自动释放时间。使用UTC时间,格式为 yyyy-MM-ddTHH:mm:ssZ。最短释放时间为当前时间半小时之后;最长释放时间不能超过当前时间三年。auto_release_time = "2020-04-17T18:20:00Z"# 创建ECS实例并启动。def create_multiple_instances():    request = build_request()    request.set_Amount(amount)    _execute_request(request)# 创建ECS实例并分配公网IP。def create_multiple_instances_with_public_ip():    request = build_request()    request.set_Amount(amount)    request.set_InternetMaxBandwidthOut(1)    _execute_request(request)# 创建ECS实例并设置自动释放时间。def create_multiple_instances_with_auto_release_time():    request = build_request()    request.set_Amount(amount)    request.set_AutoReleaseTime(auto_release_time)    _execute_request(request)def _execute_request(request):    response = _send_request(request)    if response.get('Code') is None:        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')        running_amount = 0        while running_amount < amount:            time.sleep(10)            running_amount = check_instance_running(instance_ids)    print("ecs instance %s is running", instance_ids)def check_instance_running(instance_ids):    request = DescribeInstancesRequest()    request.set_InstanceIds(json.dumps(instance_ids))    response = _send_request(request)    if response.get('Code') is None:        instances_list = response.get('Instances').get('Instance')        running_count = 0        for instance_detail in instances_list:            if instance_detail.get('Status') == "Running":                running_count += 1        return running_countdef build_request():    request = RunInstancesRequest()    request.set_ImageId(image_id)    request.set_VSwitchId(vswitch_id)    request.set_SecurityGroupId(security_group_id)    request.set_InstanceName("Instance-Name")    request.set_InstanceType(instance_type)    return request# 发送API请求def _send_request(request):    request.set_accept_format('json')    try:        response_str = clt.do_action(request)        logging.info(response_str)        response_detail = json.loads(response_str)        return response_detail    except Exception as e:        logging.error(e)if __name__ == '__main__':    print ("hello ecs batch create instance")    # 创建ECS实例并启动。    create_multiple_instances()    # 创建绑定公网IP的ECS实例。    # create_multiple_instances_with_public_ip()    # 创建ECS实例并设置自动释放时间。# create_multiple_instances_with_auto_release_time()

2.批量创建实例

首先创建RunInstancesRequest的实例,然后填写所需的参数。

下面的示例创建两个海外云服务器实例,并自动添加10秒钟的实例运行状态检查。创建过程结束,直到实例状态变为 Running。

# 您的access key Id。ak_id = "your-access-key-id"# 您的access key secret。ak_secret = "your-access-key-secret"# 设置地域。region_id = "cn-hangzhou"clt = client.AcsClient(ak_id, ak_secret, region_id)# 设置实例规格。instance_type = "ecs.g6.large"# 选择的交换机。vswitch_id = "vsw-bp1ddbrxdlrcbim46****"# 使用的镜像信息。image_id = "<imageid>"# 当前VPC类型的安全组。security_group_id = "sg-bp1i4c0xgqxadew2****"# 批量创建ECS实例的数量, 取值范围:1-100, 默认值:1。amount = 2;# 自动释放时间。使用UTC时间,格式为 yyyy-MM-ddTHH:mm:ssZ。最短释放时间为当前时间半小时之后;最长释放时间不能超过当前时间三年。auto_release_time = "2020-04-17T18:20:00Z"# 创建ECS实例并启动。def create_multiple_instances():    request = build_request()    request.set_Amount(amount)    _execute_request(request)def _execute_request(request):    response = _send_request(request)    if response.get('Code') is None:        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')        running_amount = 0        while running_amount < amount:            time.sleep(10)            running_amount = check_instance_running(instance_ids)    print("ecs instance %s is running", instance_ids)def check_instance_running(instance_ids):    request = DescribeInstancesRequest()    request.set_InstanceIds(json.dumps(instance_ids))    response = _send_request(request)    if response.get('Code') is None:        instances_list = response.get('Instances').get('Instance')        running_count = 0        for instance_detail in instances_list:            if instance_detail.get('Status') == "Running":                running_count += 1        return running_countdef build_request():    request = RunInstancesRequest()    request.set_ImageId(image_id)    request.set_VSwitchId(vswitch_id)    request.set_SecurityGroupId(security_group_id)    request.set_InstanceName("Instance-Name")    request.set_InstanceType(instance_type)    return request# 发送API请求def _send_request(request):    request.set_accept_format('json')    try:        response_str = clt.do_action(request)        logging.info(response_str)        response_detail = json.loads(response_str)        return response_detail    except Exception as e:        logging.error(e)创建批处理实例并自动分配公共IP相比可以批量进行创建一个海外云服务器实例的代码,只需要通过添加一行数据属性,指定公网的带宽即可。下面的例子中默认给实例都分配了1 M的按流量带宽。# 创建ECS实例并分配公网IP。def create_multiple_instances_with_public_ip():    request = build_request()    request.set_Amount(amount)    request.set_InternetMaxBandwidthOut(1)    _execute_request(request)

批量创建实例并自动设置自动发布时间

不需要批量创建实例,只需要添加一行属性来指定实例的自动释放时间。自动发布时间用 ISO 8601表示,并要求 UTC 时间为 yyyy-MM-ddTHH:mm:ssZ格式。最低限度为当前时间后半小时,最高限度为当前时间后不超过三年。

# 创建ECS实例并设置自动释放时间。def create_multiple_instances_with_auto_release_time():    request = build_request()    request.set_Amount(amount)    request.set_AutoReleaseTime(auto_release_time)    _execute_request(request)

Unirech提供多渠道海外云服务器代充:阿里云国际站、腾讯云国际站、AWS、微软云等众多海外云厂商代充值,无需绑定paypal,支持多币种支付,充值越多优惠越多 TG @aliyundcz

Unirech阿里云国际版云服务器代充-使用Python批量创建实例相关推荐

  1. Unirech腾讯云代充-关于腾讯云国际版云服务器实例调整配置常见问题

    Unirech腾讯云代充-关于腾讯云国际版云服务器实例调整配置常见问题 腾讯云国际版云服务器如何查看调整配置的记录? 1.登录腾讯云国际版云审计控制台. 2.在操作记录页面,根据实际需求,选择用户名. ...

  2. Unirech:为什么不能访问阿里云国际版云服务器ecs实例上的网站

    在操作网站时可能常常会遇到一些无法访问的情况,这类情况的原因有很多,下面主要介绍运行在 阿里云国际版云服务器ecs实例中网站无法访问的一些常见情况和原因: 提示"未备案".&quo ...

  3. Unirech阿里云国际版云服务器ecs的应用场景有哪些?

    阿里云国际版有500多个海外节点分布,所以云服务器ecs有多个地区可选择.云服务器具有广泛的应用场景,既可以作为 web服务器,也可以作为应用服务器,并且可以与其他所有云服务集成,从而提供丰富的解决方 ...

  4. 什么因素影响阿里云国际版云服务器延迟?

    随着海外云服务器的普及率逐渐增高,海外云服务器的使用量也是逐渐增多.有不少大品牌的云服务器厂商推出各种优惠政策,比如阿里云和华为云,选择大厂商是相对靠谱的. 或许有不少用户反应使用的海外云服务器偶尔出 ...

  5. 阿里云国际版云服务器防火墙设置

    入侵防御页面为您实时展示云防火墙拦截流量的源IP.目的IP.阻断应用.阻断来源和阻断事件详情等信息.本文介绍了入侵防御页面展示的信息和相关操作,下面和87cloud一起来了解阿里云国际版云服务器防火墙 ...

  6. 阿里云国际版云服务器Linux系统数据恢复操作步骤

    在处理磁盘相关问题时,您可能会碰到操作系统中数据盘分区丢失的情况.本文介绍了Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法,同时提供了使用云盘的常见误区以及最佳实践,避免可能的数据丢失风 ...

  7. 阿里云国际版Windows服务器磁盘空间不足该怎么办?

    本文主要介绍Windows实例磁盘空间不足时对应的解决方法以及磁盘日常维护的最佳实践,下面和87cloud一起了解阿里云国际版Windows服务器磁盘空间不足解决办法: 背景信息 本文中的方法适用于W ...

  8. Unirech-阿里云国际版云服务器ecs实例使用中的常见问题汇总

    1.如何查看阿里云国际版可购买云服务器ecs的地域? 可以进入到ECS实例购买界面,查看各地域可购买情况. 2.选择的ecs实例显示已经售罄怎么办? 由于ecs实例配置是实时变动的,所以遇到售罄的情况 ...

  9. 阿里云国际版云服务器自助诊断系统-Unirech

    可以帮助用户在云产品出现问题时,一键提交问题的诊断信息,快速获取诊断结果. 背景信息 该自动诊断系统具有以下功能优点: 1.一键反馈,降低问题反馈沟通成本. 2.智能处理,实现秒级自动回复. 3.快速 ...

最新文章

  1. 用python做数据分析,安装包一次到位
  2. UA MATH567 高维统计II 随机向量6 亚高斯随机向量的应用: 半正定规划
  3. 微信小程序INC自增自减MUL自乘问题
  4. 人工智能的概念和知识构架_概念验证:玩! 构架
  5. Android MVP 框架
  6. 单尺度二维离散小波重构(逆变换)idwt2
  7. iOS中 openGL常用函数记录(部分)
  8. linux需要你的不懈努力
  9. spring.net学习(一) 搭建环境,实例化spring.net容器。
  10. 黑苹果挂载不了分区_黑苹果驱动更新工具(黑苹果中的驱动精灵)
  11. 解决方案:智慧工地智能巡检方案视频监控系统
  12. 域名系统包含几类服务器,域名服务器可以划分为哪四种
  13. R语言 面板数据分析 plm包实现(三)——面板数据与面板模型的检验
  14. 美术文献杂志美术文献杂志社美术文献编辑部2022年第7期目录
  15. python3 全局热键_python3注册全局热键的实现
  16. 容错对于游戏体验的重要性
  17. Unity 3D游戏开发 - U3D入门 | 游戏场景基本操作
  18. 奔驰c260语言设置方法图解,奔驰C260L中控按钮图解,C260L车内按键功能说明
  19. MysqlSql数据库事务特性
  20. 英文字母的大小写转换

热门文章

  1. 从头开始学习->JVM(八):运行时数据区(下)
  2. oracle ora_p0,ORA-12801: error signaled in parallel query server P005
  3. 程序猿的移民加拿大后的所感
  4. Sencha Cmd包
  5. vue学习回顾(2)
  6. ARIMA时间序列分析——(一)数据平稳性检验
  7. Selenium基于Python web自动化测试框架 —— PO模型
  8. 吴军博士系列书籍读后感(《数学之美》、《浪潮之巅》、《文明之光》、《智能时代》)
  9. 使用VIM是一种信仰
  10. 基于haar+adaboost的人脸检测、深度学习的人脸识别技术应用综述