更新时间:2023-12-15 gmt 08:00
定时开关华为公有云虚拟机-凯发k8国际娱乐官网入口
应用场景
当您需要在特定时间打开或者关闭华为公有云虚拟机时,可以考虑通过函数服务调用华为云ecs接口,定时开关虚拟机。
- 开机节点:需要定时打开的虚拟机。
- 关机节点:需要定时关闭的虚拟机。
前提条件
- 根据实际业务,获取或者。
- 创建委托ecsoperation,添加“ecs fullaccess”权限,请参考创建委托。
创建委托
- 登录。
- 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“ 创建委托”。
图1 创建委托
- 开始配置委托。
- 委托名称:ecsoperation。
- 委托类型:选择“云服务”。
- 云服务:选择“函数工作流 functiongraph”。
- 持续时间:选择“永久”。
- 描述:填写描述信息。
- 单击“下一步”,进入委托选择页面,在右方搜索框中搜索“ecs fullaccess”权限并勾选。
图2 选择权限
- 单击“下一步”,请根据业务需要选择权限的作用范围。
构建程序
- 创建功能函数。
创建定时开启或者关闭华为公有云虚拟机的函数,上传或者,并选择创建的委托ecsoperation。创建过程请参考。
运行时语言选择“python3.6”,委托名称选择上一步创建的委托“ecsoperation”。
- 设置环境变量。
在“配置”页签配置环境变量,说明如表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信息,请参考。
- 选择依赖包。
在“代码”页签,添加“huaweicloudsdk_ecs_core_py3.6”依赖包。
添加依赖包详细操作请参见。
如果您所在区域无法添加“huaweicloudsdk_ecs_core_py3.6”依赖包,请联系客服具体咨询。
添加事件源
创建timer触发器,timer触发器配置如图3所示。
图3 创建timer触发器
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨