У меня есть несколько виртуальных машин Azure без общедоступных IP-адресов. Мне нужно запустить на них несколько пользовательских сценариев PowerShell из конвейеров Azure. Я не могу использовать здесь предопределенные задачи YAML, так как они работают только для виртуальных машин с общедоступными IP-адресами.
Я использую команду powershell Invoke-AzVMRunCommand. К сожалению, иногда он работает до 30 минут или, в худшем случае, до истечения времени ожидания. Я случайно замечаю эту проблему время от времени и не вижу здесь никаких корреляций между каждым случаем.
Invoke-AzVMRunCommand
-ResourceGroupName $vmResourceGroup `
-VMName $vmName `
-CommandId 'RunPowerShellScript' `
-ScriptPath $scriptPath `
-Parameter $parameters
Пример простого скрипта по указанному пути скрипта:
netsh interface portproxy add v4tov4 listenport=$port connectport=$cPort connectaddress="127.0.0.1"
netsh advfirewall firewall add rule name="Test" dir=in action=allow protocol=TCP localport=$port
Обычно он длится до 3 минут.
Существуют ли другие альтернативы удаленному запуску сценариев на виртуальной машине Azure без общедоступного IP-адреса? Может быть, есть лучший подход для таких сценариев, о котором я не знаю.