更新时间:2023-12-15 gmt 08:00

定时开关华为公有云虚拟机-凯发k8国际娱乐官网入口

应用场景

当您需要在特定时间打开或者关闭华为公有云虚拟机时,可以考虑通过函数服务调用华为云ecs接口,定时开关虚拟机。

  • 开机节点:需要定时打开的虚拟机。
  • 关机节点:需要定时关闭的虚拟机。

前提条件

  1. 根据实际业务,获取或者。
  2. 创建委托ecsoperation,添加“ecs fullaccess”权限,请参考创建委托

创建委托

  1. 登录。
  2. 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“ 创建委托”。
    图1 创建委托
  3. 开始配置委托。
    • 委托名称:ecsoperation。
    • 委托类型:选择“云服务”。
    • 云服务:选择“函数工作流 functiongraph”。
    • 持续时间:选择“永久”。
    • 描述:填写描述信息。
  4. 单击“下一步”,进入委托选择页面,在右方搜索框中搜索“ecs fullaccess”权限并勾选。
    图2 选择权限
  5. 单击“下一步”,请根据业务需要选择权限的作用范围。

构建程序

  1. 创建功能函数。

    创建定时开启或者关闭华为公有云虚拟机的函数,上传或者,并选择创建的委托ecsoperation。创建过程请参考。

    运行时语言选择“python3.6”,委托名称选择上一步创建的委托“ecsoperation”。

  2. 设置环境变量。

    在“配置”页签配置环境变量,说明如表1所示。

    表1 环境变量说明

    环境变量

    说明

    region

    ecs所在的区域,如cn-north-4

    domain

    填写默认值:myhuaweicloud.com

    projectid

    ecs所在的project id

    whitelists

    • 当定时开启华为公有云虚拟机时,填写需开启的虚拟机id,以英文逗号分隔
    • 当定时关闭华为公有云虚拟机时,填写需关机的虚拟机id,以英文逗号分隔

    type

    仅需在定时关机时确认是否需要配置。

    关机类型:

    soft:普通关机(默认)

    hard:强制关机

    环境变量的设置过程请参考。

    • 本案例对函数执行的区域没有要求,若函数和待开关机节点在同一region,按照上述操作即可。若函数和待开关机节点不在同一region,如函数运行在北京一,想要开启或者关闭北京四的弹性云服务的虚拟机,只需要将projectid、region和domain更改为北京四区域的信息,并在环境变量中添加ak、sk(),再去掉配置的委托即可。
      • ak/sk认证就是使用ak/sk对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。
      • ak(access key id):访问密钥id。与私有访问密钥关联的唯一标识符;访问密钥id和私有访问密钥一起使用,对请求进行加密签名。
      • sk(secret access key):与访问密钥id结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。

    • 如果开启或者关闭的虚拟机数量过多,则需要增大超时时间。
    • 表1中除domain和whitelists以外的环境变量必须添加,domain和whitelists根据实际情况选择添加或者不添加。不添加domain环境变量时,程序包中domain使用默认值:myhuaweicloud.com,whitelists为需开机/关机的ecs服务器id,以逗号分隔。
    • {region}.{domain}组成ecs的终端节点endpoint,如:cn-north-4.myhuaweicloud.com,具体endpoint信息,请参考。
  3. 选择依赖包。

    在“代码”页签,添加“huaweicloudsdk_ecs_core_py3.6”依赖包。

    添加依赖包详细操作请参见。

    如果您所在区域无法添加“huaweicloudsdk_ecs_core_py3.6”依赖包,请联系客服具体咨询。

添加事件源

创建timer触发器,timer触发器配置如图3所示。
图3 创建timer触发器
分享:
网站地图