如何创建在断开连接时丢失状态的 Azure 虚拟机?

How do you create an Azure virtual machine that looses state on disconnect?

我想在 Azure 中创建一个虚拟机,在用户断开连接后自动重置为刚刚部署的状态。我可能可以通过创建备份映像并在用户使用 Save-AzureVMImage 注销后进行恢复来做到这一点,但我想知道是否有任何方法可以将机器设置为完全不保存状态,因为以前是默认设置旧虚拟机的情况。重置状态必须包括 OS 的状态,而不仅仅是应用程序,因此它与初始部署完全相同(或尽可能接近)。现在我正在手动重新部署一个新的虚拟机来实现这个目标。

有没有一种方法可以配置 VM 使其表现得像我想要的那样?

如果没有,是否有办法在用户注销 VM 后自动执行还原过程?

没有这样的功能,但使用自动化开发这样的东西应该不难。我能想到的第一个 DevOps 逻辑是:

  1. Create a VM image
  2. Create a Powershell script to destroy the old and deploy a new VM from this image
  3. Create an Automation account and create a runbook with this script
  4. Use Webhook to trigger the runbook
  5. Create a Powershell script to verify if no users are logged in(这里可能需要更多逻辑)
  6. Improve this script to make an HTTP POST to trigger the runbook
  7. Assign User Logoff Script

您可能可以跳过第 5 步,实际上第 2 步需要在第 7 步之后完成,因为您需要在快照之前在 VM 中配置脚本。