Azure虚拟机能否通过DNS访问触发启动?若不可行如何定时启动?
Azure 虚拟机启动触发方案解答
一、通过DNS名称访问触发VM启动
默认情况下,直接访问Azure VM的DNS名称无法触发启动——VM关机时,其关联的公网IP会被释放(即便使用静态公网IP,VM关机状态也不会响应网络请求),访问请求会直接超时或返回错误。
如果要实现该需求,需要通过额外服务联动完成:
- 将VM的DNS名称指向Azure Functions的HTTP端点,或使用Azure流量管理器将域名流量导向Function
- 编写Azure Function逻辑:当收到HTTP请求时,调用Azure VM启动API(或使用Azure PowerShell/CLI模块)触发目标VM启动
- 为Function分配虚拟机参与者角色权限,确保它有权执行VM启动操作
该方案需要一定的配置和开发工作,但能实现「访问域名即启动VM」的效果。
二、指定时间启动VM
这是Azure原生支持的功能,配置步骤简单:
- 登录Azure门户,找到目标虚拟机
- 在左侧菜单「操作」分类下,选择「自动启动/停止」(部分区域显示为「自动启动」)
- 启用自动启动规则,设置具体启动时间、重复周期(如每日、工作日),同时可保留已有的自动关机规则
- 也可通过命令行配置,比如用Azure CLI执行:
az vm auto-start enable --resource-group <资源组名> --name <VM名称> --timezone <时区> --start-time <启动时间>,或创建自动化账户的Runbook定时执行启动命令
内容的提问来源于stack exchange,提问作者François MENTEC
相关产品推荐
相关产品推荐

