#powershell #azure-powershell #azure-eventhub
#powershell #azure-powershell #azure-eventhub
Вопрос:
Я пытаюсь настроить сценарий powershell для автоматизации создания eventhub. Поток выполнен на 90%, но я не знал, как включить выбранную сеть в брандмауэре и виртуальных сетях.
я нашел в документе командлет для добавления ограничения ip-адреса:
Add-AzEventHubIPRule -ResourceGroupName $rg -NamespaceName $namespace -IpMask myrange
и если я запущу его, он добавит ip-адрес(если я включу выбранную сеть, я увижу IP-адреса), но не включит выбранную сеть на портале azure…
есть способ включить его с помощью powershell?
Спасибо, Эмануэле
Ответ №1:
Я попытался воспроизвести вашу проблему и решил ее с помощью приведенного ниже кода:
$IpRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @{IpMask = "4.4.4.4";Action = "Allow"},[Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @{IpMask = "3.3.3.3";Action = "Allow"}) $VirtualNetworkRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetVirtualNetworkRulesAttributes]@{Subnet=@{Id="/subscriptions/subscriptionId/resourcegroups/ResourceGroup/providers/Microsoft.Network/virtualNetworks/sbehvnettest1/subnets/default"};IgnoreMissingVnetServiceEndpoint=$True}) Set-AzEventHubNetworkRuleSet -ResourceGroupName v-ajnavtest -Namespace EventHub-Namespace1-1375 -IPRule $IpRules -VirtualNetworkRule $VirtualNetworkRules -DefaultAction "Deny" -Debug
- Добавлен IP-адрес в переменную IpRules
- Добавлены VNetRules с использованием необходимых параметров, таких как имя подсети, имя виртуальной сети. (Для имени подсети откройте свой ресурс виртуальной сети gt; Подсети в разделе Настройки в левом индексе)
- Я изменил
DefaultAction
значение наDeny
, чтобы он принимал выбранный IP-адрес и изменял настройки сети на параметр «Выбранные сети» на Портале.
Пример:
$IpRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @{IpMask = "11.22.33.44";Action = "Allow"},[Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetIpRulesAttributes] @{IpMask = "11.22.33.44";Action = "Allow"}) $VirtualNetworkRules = @([Microsoft.Azure.Commands.EventHub.Models.PSNWRuleSetVirtualNetworkRulesAttributes]@{Subnet=@{Id="/subscriptions/lt;yoursubscriptonidgt;/resourcegroups/krishrg/providers/Microsoft.Network/virtualNetworks/krishehvnet/subnets/krishehsubnet"};IgnoreMissingVnetServiceEndpoint=$True}) Set-AzEventHubNetworkRuleSet -ResourceGroupName krishrg -Namespace krishehhubspace -IPRule $IpRules -VirtualNetworkRule $VirtualNetworkRules -DefaultAction "deny" -Debug
Комментарии:
1. Привет, я попробую. Это также включает виртуальную сеть, но мне не нужен маяк, потому что я использую частную конечную точку. Я заметил, что опция возвращается ко всей сети, когда я включаю аварийное восстановление… У первичного узла есть вся сеть, а у вторичного узла выбрана сеть. и на основном, если я переключусь вручную в выбранную сеть, я правильно увижу ограничение ip.
2. Да, @Emanuele, мы можем включить только правило Ip в выбранных сетях с помощью сценария PowerShell. В этом примере я взял как правило Ip, так и правило виртуальной сети.