华为云服务器远程登录 (华为云服务器关机了怎么开机)

起因是我买了一个按需的服务器,每天白天使用,晚上关闭,从而减少费用(谁晚上还上班。。。)自己手动开关服务器弄了一段时间,经常容易忘记,导致钱哗啦啦的流走了,就问了下华为工程师

华为云服务器远程登录,华为云弹性云服务器不得不说,华为的服务还是可以的,我都准备关闭工单了,他让我稍等。

华为工程师提供的方案

  1. 使用 FunctionGraph 服务实现定时开关机,产品示例有已经写好的 python代码包,您修改 projectId、region和domain的参数就可以直接使用。support.huaweicloud.com/bestpractic…

  2. ECS服务也有提供开关机的API接口,您也可以通过代码实现开关机批量启动云服务器 support.huaweicloud.com/api-ecs/ecs… 批量关闭云服务器 support.huaweicloud.com/api-ecs/ecs…

我也是按照这个文档上操作的,但有一些坑,这里记录下全流程 FunctionGraph 服务实现定时开关机的全流程 主要分两步:创建委托和配置函数

创建委托

  • 登录统一身份认证服务控制台。

  • 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“+创建委托”

    华为云服务器远程登录,华为云弹性云服务器

配置委托

  • 委托名称:EcsOperation。

  • 委托类型:选择“云服务”。

  • 云服务:选择“函数工作流 FunctionGraph”。

  • 持续时间:选择“永久”。

  • 描述:填写描述信息。

    华为云服务器远程登录,华为云弹性云服务器

  • 进入委托选择页面,在右方搜索框中搜索“ECS FullAccess”权限并勾选

    华为云服务器远程登录,华为云弹性云服务器

  • 单击“下一步”,请根据业务需要选择权限的作用范围,点击“确认”完成

配置函数

  • 在服务列表里面搜函数,进去“函数工作流 FunctionGraph”

    华为云服务器远程登录,华为云弹性云服务器

  • 点击右上角创建函数

    华为云服务器远程登录,华为云弹性云服务器

  • 使用函数模板

  • 事件函数

  • 弹性云服务器

  • Python3.6

  • 找到“定时打开华为云公有云虚拟机”,使用模板

    华为云服务器远程登录,华为云弹性云服务器

  • 配置基本信息

  • 区域:选择需要开机的ECS所在区域

  • 函数名称:自定义

  • 委托名称:选择上面配置好的委托“EcsOperation”

    华为云服务器远程登录,华为云弹性云服务器

  • 配置环境变量

  • projectId:项目ID,

    • 在我的凭证里面可以找到

      华为云服务器远程登录,华为云弹性云服务器

  • endpoint:ECS的终端节点

    • 具体Endpoint信息,请参考地区和终端节点。

  • region:ECS所在的区域

    • 在我的凭证里面可以找到

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

    华为云服务器远程登录,华为云弹性云服务器

  • 配置触发器

  • 定时器名称:默认即可,也可以自定义

  • 触发规则:可以固定频率,也可以Cron表达式

    • 了解Cron表达式

  • 为了测试,可以先使用固定频率,看函数是否生效,触发器后面删掉,在重新做一个

    华为云服务器远程登录,华为云弹性云服务器

  • 这样函数就创建完成了

  • 函数创建完成之后,需要添加依赖包“huaweicloudsdk_ecs_core_py3.6”

  • 进入函数,代码页签底下(这个地方找了好久)

    华为云服务器远程登录,华为云弹性云服务器

  • 可以在监控里面开启动日志

    华为云服务器远程登录,华为云弹性云服务器

  • 可以在设置里面更改触发器

    华为云服务器远程登录,华为云弹性云服务器

  • 设置触发器

  • 使用Cron表达式(参考官网)

    • 了解Cron表达式

      华为云服务器远程登录,华为云弹性云服务器 至此使用 FunctionGraph 服务实现定时开机就完成啦 关机的话,操作是一样,选择关机模板即可