从在外部服务器上运行的 PowerShell 停止和启动 Azure VM 实例

从在外部服务器上运行的 PowerShell 停止和启动 Azure VM 实例

我正在设置 Azure VM 作为灾难恢复的热备份服务器,并且我希望每天自动从生产服务器启动和关闭 VM 几次,以便同步一些数据。我在以下问题中轻松找到了有关如何通过 Azure 自动化执行此操作的信息:Azure:启动或关闭多个虚拟机的脚本微软有在 Azure 平台中使用 Powershell 执行此操作的示例,但我找不到如何从远程机器执行此操作。

我想从生产服务器启动它的原因是 SQL/Server 中的一些数据更新应该快速推送到 VM,因此严格按照基于时间的计划执行并不理想。虽然我可能以错误的方式考虑了这个问题,但他们会使用 Azure 自动化以某种方式轮询生产服务器,以查看是否应该启动 VM?

答案1

Azure 自动化脚本可以在 Azure 中的 Azure 自动化服务器上​​运行,也可以在本地计算机上运行(如果您使用混合工作器)。使用混合工作器无法解决您的问题,因为您仍然需要调用 Azure 自动化来运行脚本,它恰好在本地计算机上运行。

对于您要做的事情,您有以下几种选择:

  1. 使用 Azure 自动化,让生产服务器调用它来运行脚本。这可以通过可以触发自动化脚本的 webhook 来完成。
  2. 直接在生产服务器上运行 PowerShell 脚本,您根本不会使用 Azure 自动化,只需在需要时在计算机上本地运行一些 Azure PowerShell
  3. 仍然使用 Azure 自动化,但让它轮询生产服务器,以了解是否需要启动机器。为此,您需要在网络上运行混合工作器(因为通常 Azure 自动化无法访问您的网络)。您通常不希望在生产服务器上运行此混合工作器,因为如果它发生故障,则不会触发 DR 机器。

使用 Azure 自动化的好处是可以提供一个运行脚本的中心位置,并能够安全地存储凭据等以访问 Azure,但随后您需要一些东西来触发该运行手册。

相关内容