网站首页 > 技术文章 正文
云用户要节省开支,关键就是减少资源的浪费,对于云虚拟机,在某些固定时段不需要跑运算时关掉,需要跑运算的时段才开启,可以大大减少浪费节省云费用。
对于微软云Azure,自动关机的设置相当简单,在要设置自动关机的VM配置里面,选择“Auto-shutdown”选项,选择Enabled On, 再放一个每天自动关机的时间,比如22:00:00 PM,选择时区,最好再开启通知,在每次Azure要关机前发一个邮件,让管理员知道一下。
提个醒:做这个自动关机实验的时候可能会遇到一个问题,如果设置的关机时间是在配置时的时间的半个小时以内,并且开启了通知,自动关机会失败。
自动开机则没那么简单,需要运用到 Azure Automation Account,配置Azure Runbook。具体步骤如下:
- 给要自动开机的虚拟机打个标签。在"Virtual Machine"页面,勾选要操作的虚拟机,然后点击"Assign tags"选项,如下打入标签,关键字是右边的"6amStart",如下图:
2.创建一个Azure Automation Account。搜索“Azure Automation Account”,开启Azure Automation Account页面,点击"Add"来添加一个Azure Automation Account, 配置Azure Automation Account很简单, 唯一要注意的是“Create Azure Run As account”要选“Yes"。3. 打开刚创建的Azure Automation Account (下面以AAA来代替),选择Runbook,再选择"Create a runbook",Runbook就是一个自动化脚本,支持的格式有PowerShell, Python 2 (s是的,还不支持Python 3)等:
4.这个以Powershell为例,在编辑PowerShell Runbook里,插入下面的PowerShell命令:
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
$VMs = Get-AzureRMVM | where {$_.Tags.Values -like '*6amStart*'}
$VMs | Start-AzureRmVM
Write-Output $VMs.Name
上面的命令会对打了"6amStartup"标签的虚拟机进行开机操作。点击"Save"来保存Runbook,再点击"Test Pane"再点击"Start"来测试脚本,成功的测试结果如下:
5.回到RunBook Edit页面,点击"Publish"来发布该脚本。
6.回到RunBook设置页面,点击"Link to schedule",创建一个新的Schedule,如下图配置的,从2020年6月2号开始,固定会每天早上六点跑脚本:
7.创建完成。
猜你喜欢
- 2025-09-18 设计一个多租户 SaaS 系统,如何实现租户数据隔离(...
- 2025-09-18 让 Agent 拥有长期记忆:基于 Tablestore 的轻量级 Memory 框架实践
- 2025-09-18 分布式微服务中的搜索引擎:架构与实战盘点
- 2025-09-18 设计一个多租户 SaaS 系统,如何实现租户数据隔离与资源配额控制?
- 2025-09-18 设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
- 2025-09-18 MySQL 索引优化实战案例_mysql8索引优化
- 2025-09-18 RAG 写入 —— 怎么把资料放进“书架” (中)
- 2024-08-04 Nacos搭建(nacos搭建集群)
- 2024-08-04 详解mysql常见报错之Failed to add the foreign key constraint
- 2024-08-04 数据库中间件-jdbi(数据库中间件dble)
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)