如何通过Azure Automation Runbook访问仅含私有IP的Azure虚拟机?
实现Azure自动化Runbook访问私有IP虚拟机的操作步骤
一、确认私有端点基础配置
- 确保自动化账户的私有端点与目标虚拟机处于同一虚拟网络,或通过VNet对等互联、VPN网关等实现网络连通的环境中,保证私有IP地址可互相访问
- 检查私有端点状态:在Azure门户中查看私有端点的「连接状态」为「已批准」,其关联的网络接口IP属于目标VM所在VNet的子网段
二、切换Runbook运行环境(核心步骤)
Azure默认的沙盒Runbook运行在公网环境,无法直接通过私有端点访问私有网络内的VM,必须部署混合Runbook工作器到目标VM所在的VNet中:
- 选择一台位于目标VNet内的VM(可使用现有VM,需满足Windows Server 2016+/Linux CentOS 7+/Ubuntu 16.04+等系统要求)作为混合工作器节点
- 在自动化账户的「混合Runbook工作器组」菜单中,点击「添加工作器」,按照向导下载代理安装包
- 在选中的VM上执行安装命令,将其注册到你的自动化账户工作器组中
- 配置NSG规则:允许混合工作器VM与目标VM之间的通信端口(比如Windows VM的WinRM 5985/5986端口、Linux VM的SSH 22端口),同时允许工作器VM访问自动化账户私有端点的相关端口(如443)
三、配置Runbook使用混合工作器
- 编写Runbook脚本:根据目标VM的系统类型编写操作逻辑,比如Windows VM使用
Invoke-Command远程执行命令,Linux VM可使用Invoke-AzVMRunCommand或SSH命令 - 发布Runbook后,触发作业时选择混合Runbook工作器组作为运行环境,而非默认的Azure沙盒
- 测试作业运行:触发Runbook,检查作业日志确认是否成功连接到目标VM的私有IP并执行预期操作
四、验证网络连通性
- 在混合工作器VM上手动测试:通过
ping <目标VM私有IP>或telnet <目标VM私有IP> <端口>确认与目标VM的网络连通性 - 检查DNS解析:如果使用Azure私有DNS区域,确保混合工作器VM的DNS服务器能将自动化账户的FQDN解析到私有端点的私有IP,避免流量走公网
内容的提问来源于stack exchange,提问作者Vikas Gautam
相关产品推荐
相关产品推荐

