日常任务的替代方案

时间:2017-07-24 19:58:08

标签: azure azure-virtual-machine azure-automation

首先,让我说我是Azure新手。我来自AWS世界,所以我还不知道这个新平台的最佳路线。

我想写一个任务,让我们假设它将是一个PowerShell脚本,它将在预定的时间每天运行一次。每天完成实际任务不应超过一分钟。

此任务的一个重要方面是它需要访问我公司的内部主机。 Azure中有一个VPN设置,因此我可以配置我想要的任何虚拟机,它将能够访问这些服务器。

我希望我可以使用Azure功能,但我怀疑我是否有能力在该服务中配置网络。

然后我开始研究Azure自动化,看起来我应该能够构建唤醒虚拟机的东西,虚拟机可能在启动时运行任务,然后在完成后自行关闭。在我走这条路之前,我想知道我不会错过更容易的东西。

我的目标是创建一个可重复的模式,我和我的团队中的其他人可以创建其中几个不常见的快速任务,而不需要让VM在一整天都空闲运行。

2 个答案:

答案 0 :(得分:1)

如果使用应用程序服务计划(非消费计划)设置Azure功能,您将可以访问VNET集成,以便设置点对点VPN。

Function App > Platform Features > Networking > Networking > VNET Integration

VNET Integration

答案 1 :(得分:1)

您可以使用Azure自动化,您可以结合运行云作业和在混合工作程序中运行来实现此目的。

首先,您将Azure VM设置为混合工作者。

这是Hybrid Worker的文档。 https://docs.microsoft.com/en-us/azure/automation/automation-hybrid-runbook-worker

那么基本上你可以拥有在云中运行的父Runbook(脚本)的组合,当你想在其中运行某些东西时启动Azure VM(使用Start-AzureVM)在Runbook中等待一段时间VM启动,然后启动时使用RunOn参数使用Start-AzureAutomationRunbook cmdlet在Azure VM上运行PowerShell脚本(参见下文)

https://docs.microsoft.com/en-us/powershell/module/Azure/Start-AzureAutomationRunbook?view=azuresmps-4.0.0

然后,您可以从父Runbook关闭VM。 (Stop-AzureVM)

这是许多Azure自动化客户使用的模式。