Краткое руководство. Создание топологии сети сетки с помощью Диспетчера виртуальная сеть Azure с помощью Azure PowerShell
Начало работы с диспетчером виртуальная сеть Azure с помощью Azure PowerShell для управления подключением к виртуальным сетям.
В этом кратком руководстве описано, как развернуть три виртуальные сети и использовать Диспетчер виртуальная сеть Azure для создания топологии сети сетки. Затем убедитесь, что была применена конфигурация подключения.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Выполните это краткое руководство с помощью PowerShell локально, а не с помощью Azure Cloud Shell. Версия Az.Network в Azure Cloud Shell в настоящее время не поддерживает командлеты Диспетчера виртуальная сеть Azure.
- Чтобы изменить динамические сетевые группы, необходимо предоставить доступ только через назначение ролей RBAC Azure. Классическая авторизация администратора или устаревшая авторизация не поддерживается.
Войдите в учетную запись Azure и выберите подписку.
Чтобы начать настройку, войдите в учетную запись Azure:
Connect-AzAccount
Затем подключитесь к подписке:
Set-AzContext -Subscription <subscription name or id>
Установка модуля Azure PowerShell
Установите последний модуль Az.Network Azure PowerShell с помощью следующей команды:
Install-Module -Name Az.Network -RequiredVersion 5.3.0
Создание или изменение группы ресурсов
Прежде чем создать экземпляр Диспетчера виртуальная сеть Azure, необходимо создать группу ресурсов для его размещения. Создайте группу ресурсов с помощью командлета New-AzResourceGroup. В этом примере создается группа ресурсов с именем группы ресурсов в регионе "Западная часть США 2".
# Create a resource group
$location = "West US 2"
$rg = @{
Name = 'resource-group'
Location = $location
}
New-AzResourceGroup @rg
Определение области и типа доступа
Определите область и тип доступа для экземпляра Диспетчера виртуальная сеть Azure с помощью New-AzNetworkManagerScope. В этом примере определяется область с одной подпиской и задает тип доступа для подключения. Замените <subscription_id>
идентификатором подписки, которую вы хотите управлять с помощью Диспетчера виртуальная сеть Azure.
$subID= <subscription_id>
[System.Collections.Generic.List[string]]$subGroup = @()
$subGroup.Add("/subscriptions/$subID")
[System.Collections.Generic.List[String]]$access = @()
$access.Add("Connectivity");
$scope = New-AzNetworkManagerScope -Subscription $subGroup
Создание экземпляра диспетчера виртуальная сеть
Создайте экземпляр диспетчера виртуальная сеть с помощью New-AzNetworkManager. В этом примере создается экземпляр с именем network-manager в регионе "Западная часть США 2 ".
$avnm = @{
Name = 'network-manager'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerScope = $scope
NetworkManagerScopeAccess = $access
Location = $location
}
$networkmanager = New-AzNetworkManager @avnm
Создание трех виртуальных сетей
Создайте три виртуальные сети с помощью New-AzVirtualNetwork. В этом примере создаются виртуальные сети с именем vnet-spoke-001, vnet-spoke-002 и vnet-hub-001 в регионе "Западная часть США 2". Если у вас уже есть виртуальные сети, с которыми вы хотите создать сеть сетки, перейдите к следующему разделу.
$vnetspoke001 = @{
Name = 'vnet-spoke-001'
ResourceGroupName = $rg.ResourceGroupName
Location = $location
AddressPrefix = '10.0.0.0/16'
}
$vnet_spoke_001 = New-AzVirtualNetwork @vnetspoke001
$vnetspoke002 = @{
Name = 'vnet-spoke-002'
ResourceGroupName = $rg.ResourceGroupName
Location = $location
AddressPrefix = '10.1.0.0/16'
}
$vnet_spoke_002 = New-AzVirtualNetwork @vnetspoke002
$vnethub001 = @{
Name = 'vnet-hub-001'
ResourceGroupName = $rg.ResourceGroupName
Location = $location
AddressPrefix = '10.2.0.0/16'
}
$vnet_hub_001 = New-AzVirtualNetwork @vnethub001
Добавьте подсеть в каждую виртуальную сеть.
Чтобы завершить настройку виртуальных сетей, создайте конфигурацию подсети по умолчанию с префиксом адреса подсети /24 с помощью Add-AzVirtualNetworkSubnetConfig. Затем используйте Set-AzVirtualNetwork , чтобы применить конфигурацию подсети к виртуальной сети.
$subnet_vnetspoke001 = @{
Name = 'default'
VirtualNetwork = $vnet_spoke_001
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnetspoke001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnetspoke001
$vnet_spoke_001 | Set-AzVirtualNetwork
$subnet_vnetspoke002 = @{
Name = 'default'
VirtualNetwork = $vnet_spoke_002
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnetspoke002 = Add-AzVirtualNetworkSubnetConfig @subnet_vnetspoke002
$vnet_spoke_002 | Set-AzVirtualNetwork
$subnet_vnet_hub_001 = @{
Name = 'default'
VirtualNetwork = $vnet_hub_001
AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet_hub_001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_hub_001
$vnet_hub_001 | Set-AzVirtualNetwork
Создание сетевой группы
виртуальная сеть Manager применяет конфигурации к группам виртуальных сетей, размещая их в группах сетей. Создайте сетевую группу с помощью New-AzNetworkManagerGroup. В этом примере создается группа сети с именем network-group в регионе "Западная часть США 2".
$ng = @{
Name = 'network-group'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerName = $networkManager.Name
}
$ng = New-AzNetworkManagerGroup @ng
Определение членства для конфигурации сетки
В этой задаче вы добавите статические члены vnet-spoke-001 и vnet-spoke-002 в группу сетевых групп с помощью New-AzNetworkManagerStaticMember.
Статические члены должны иметь уникальное имя, которое распространяется на группу сети. Рекомендуется использовать согласованный хэш идентификатора виртуальной сети. Этот подход использует реализацию шаблона uniqueString()
Azure Resource Manager.
function Get-UniqueString ([string]$id, $length=13)
{
$hashArray = (new-object System.Security.Cryptography.SHA512Managed).ComputeHash($id.ToCharArray())
-join ($hashArray[1..$length] | ForEach-Object { [char]($_ % 26 + [byte][char]'a') })
}
$sm_vnetspoke001 = @{
Name = Get-UniqueString $vnet_spoke_001.Id
ResourceGroupName = $rg.ResourceGroupName
NetworkGroupName = $ng.Name
NetworkManagerName = $networkManager.Name
ResourceId = $vnet_spoke_001.Id
}
$sm_vnetspoke001 = New-AzNetworkManagerStaticMember @sm_vnetspoke001
$sm_vnetspoke002 = @{
Name = Get-UniqueString $vnet_spoke_002.Id
ResourceGroupName = $rg.ResourceGroupName
NetworkGroupName = $ng.Name
NetworkManagerName = $networkManager.Name
ResourceId = $vnet_spoke_002.Id
}
$sm_vnetspoke002 = New-AzNetworkManagerStaticMember @sm_vnetspoke002
Создание конфигурации подключения
В этой задаче создается конфигурация подключения с сетевой группой сети с помощью New-AzNetworkManagerConnectivityConfiguration и New-AzNetworkManagerConnectivityGroupItem:
Создайте элемент группы подключения:
$gi = @{ NetworkGroupId = $ng.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
Создайте группу конфигурации и добавьте в нее элемент группы подключения:
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @() $configGroup.Add($groupItem)
Создайте конфигурацию подключения с помощью группы конфигурации:
$config = @{ Name = 'connectivity-configuration' ResourceGroupName = $rg.ResourceGroupName NetworkManagerName = $networkManager.Name ConnectivityTopology = 'Mesh' AppliesToGroup = $configGroup } $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config ```
Фиксация развертывания
Зафиксируйте конфигурацию в целевых регионах с помощью Deploy-AzNetworkManagerCommit
. Этот шаг активирует конфигурацию для начала вступления в силу.
[System.Collections.Generic.List[string]]$configIds = @()
$configIds.add($connectivityconfig.id)
[System.Collections.Generic.List[string]]$target = @()
$target.Add("westus2")
$deployment = @{
Name = $networkManager.Name
ResourceGroupName = $rg.ResourceGroupName
ConfigurationId = $configIds
TargetLocation = $target
CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment
Очистка ресурсов
Если вам больше не нужен экземпляр Azure виртуальная сеть Manager и он связывает ресурсы, удалите группу ресурсов, содержащую их. При удалении группы ресурсов также удаляются созданные ресурсы.
Удалите группу ресурсов с помощью Remove-AzResourceGroup:
Remove-AzResourceGroup -Name $rg.ResourceGroupName -Force
Следующие шаги
Теперь, когда вы создали экземпляр Azure виртуальная сеть Manager, узнайте, как заблокировать сетевой трафик с помощью конфигурации администратора безопасности: