Краткое руководство. Создание топологии сети сетки с помощью Диспетчера виртуальная сеть 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. В этом примере создается группа ресурсов с именем vnm-learn-eastus-001ResourceGroup в расположении восточной части США:
$location = "East US"
$rg = @{
Name = 'rg-learn-eastus-001'
Location = $location
}
New-AzResourceGroup @rg
Определение области и типа доступа
Определите область и тип доступа для экземпляра Диспетчера виртуальная сеть Azure с помощью New-AzNetworkManagerScope. В этом примере определяется область с одной подпиской и задает тип доступа для подключения. Замените <subscription_id>
идентификатором подписки, которую вы хотите управлять с помощью Диспетчера виртуальная сеть Azure.
Import-Module -Name Az.Network -RequiredVersion "5.3.0"
[System.Collections.Generic.List[string]]$subGroup = @()
$subGroup.Add("/subscriptions/<subscription_id>")
[System.Collections.Generic.List[String]]$access = @()
$access.Add("Connectivity");
$scope = New-AzNetworkManagerScope -Subscription $subGroup
Создание экземпляра диспетчера виртуальная сеть
Создайте экземпляр диспетчера виртуальная сеть с помощью New-AzNetworkManager. В этом примере создается экземпляр с именем vnm-learn-eastus-001 в расположении восточной части США:
$avnm = @{
Name = 'vnm-learn-eastus-001'
ResourceGroupName = $rg.Name
NetworkManagerScope = $scope
NetworkManagerScopeAccess = $access
Location = $location
}
$networkmanager = New-AzNetworkManager @avnm
Создание трех виртуальных сетей
Создайте три виртуальные сети с помощью New-AzVirtualNetwork. В этом примере создаются виртуальные сети с именем vnet-learn-prod-eastus-001, vnet-learn-prod-eastus-002 и vnet-learn-test-eastus-003 в расположении на востоке США. Если у вас уже есть виртуальные сети, с которыми вы хотите создать сеть сетки, перейдите к следующему разделу.
$vnet001 = @{
Name = 'vnet-learn-prod-eastus-001'
ResourceGroupName = $rg.Name
Location = $location
AddressPrefix = '10.0.0.0/16'
}
$vnet_learn_prod_eastus_001 = New-AzVirtualNetwork @vnet001
$vnet002 = @{
Name = 'vnet-learn-prod-eastus-002'
ResourceGroupName = $rg.Name
Location = $location
AddressPrefix = '10.1.0.0/16'
}
$vnet_learn_prod_eastus_002 = New-AzVirtualNetwork @vnet002
$vnet003 = @{
Name = 'vnet-learn-test-eastus-003'
ResourceGroupName = $rg.Name
Location = $location
AddressPrefix = '10.2.0.0/16'
}
$vnet_learn_test_eastus_003 = New-AzVirtualNetwork @vnet003
Добавьте подсеть в каждую виртуальную сеть.
Чтобы завершить настройку виртуальных сетей, создайте конфигурацию подсети по умолчанию с префиксом адреса подсети /24 с помощью Add-AzVirtualNetworkSubnetConfig. Затем используйте Set-AzVirtualNetwork , чтобы применить конфигурацию подсети к виртуальной сети.
$subnet_vnet001 = @{
Name = 'default'
VirtualNetwork = $vnet_learn_prod_eastus_001
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnet001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet001
$vnet_learn_prod_eastus_001 | Set-AzVirtualNetwork
$subnet_vnet002 = @{
Name = 'default'
VirtualNetwork = $vnet_learn_prod_eastus_002
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnet002 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet002
$vnet_learn_prod_eastus_002 | Set-AzVirtualNetwork
$subnet_vnet003 = @{
Name = 'default'
VirtualNetwork = $vnet_learn_test_eastus_003
AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet003 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet003
$vnet_learn_test_eastus_003 | Set-AzVirtualNetwork
Создание сетевой группы
виртуальная сеть Manager применяет конфигурации к группам виртуальных сетей, размещая их в группах сетей. Создайте сетевую группу с помощью New-AzNetworkManagerGroup. В этом примере создается сетевая группа с именем ng-learn-prod-eastus-001 в расположении восточной части США:
$ng = @{
Name = 'ng-learn-prod-eastus-001'
ResourceGroupName = $rg.Name
NetworkManagerName = $networkManager.Name
}
$ng = New-AzNetworkManagerGroup @ng
Определение членства для конфигурации сетки
После создания сетевой группы необходимо определить его членство, добавив виртуальные сети. Эти сети можно добавить вручную или с помощью Политика Azure.
Добавление членства вручную
В этой задаче вы добавите статические члены vnet-learn-prod-eastus-001 и vnet-learn-prod-eastus-002 в сетевую группу ng-learn-prod-eastus-001 с помощью 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_vnet001 = @{
Name = Get-UniqueString $vnet_learn_prod_eastus_001.Id
ResourceGroupName = $rg.Name
NetworkGroupName = $ng.Name
NetworkManagerName = $networkManager.Name
ResourceId = $vnet_learn_prod_eastus_001.Id
}
$sm_vnet001 = New-AzNetworkManagerStaticMember @sm_vnet001
$sm_vnet002 = @{
Name = Get-UniqueString $vnet_learn_prod_eastus_002.Id
ResourceGroupName = $rg.Name
NetworkGroupName = $ng.Name
NetworkManagerName = $networkManager.Name
ResourceId = $vnet_learn_prod_eastus_002.Id
}
$sm_vnet002 = New-AzNetworkManagerStaticMember @sm_vnet002
Создание конфигурации подключения
В этой задаче создается конфигурация подключения с сетевой группой ng-learn-prod-eastus-001 с помощью 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 = 'cc-learn-prod-eastus-001' ResourceGroupName = $rg.Name 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("westus")
$deployment = @{
Name = $networkManager.Name
ResourceGroupName = $rg.Name
ConfigurationId = $configIds
TargetLocation = $target
CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment
Очистка ресурсов
Если вам больше не нужен экземпляр Azure виртуальная сеть Manager, перед удалением ресурса убедитесь, что все перечисленные ниже пункты верны.
- Ни в одном регионе не развернута ни одна конфигурация.
- Все конфигурации удалены.
- Все сетевые группы удалены.
Для удаления ресурса
Удалите развертывание подключения, развернув пустую конфигурацию с помощью
Deploy-AzNetworkManagerCommit
:[System.Collections.Generic.List[string]]$configIds = @() [System.Collections.Generic.List[string]]$target = @() $target.Add("westus") $removedeployment = @{ Name = 'vnm-learn-eastus-001' ResourceGroupName = $rg.Name ConfigurationId = $configIds Target = $target CommitType = 'Connectivity' } Deploy-AzNetworkManagerCommit @removedeployment
Удалите конфигурацию подключения с помощью
Remove-AzNetworkManagerConnectivityConfiguration
:Remove-AzNetworkManagerConnectivityConfiguration -Name $connectivityconfig.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
Удаление ресурсов политики с помощью
Remove-AzPolicy*
:Remove-AzPolicyAssignment -Name $policyAssignment.Name Remove-AzPolicyAssignment -Name $policyDefinition.Name
Удалите сетевую группу с помощью
Remove-AzNetworkManagerGroup
:Remove-AzNetworkManagerGroup -Name $ng.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
Удалите экземпляр диспетчера виртуальная сеть с помощью
Remove-AzNetworkManager
:Remove-AzNetworkManager -name $networkManager.Name -ResourceGroupName $rg.Name
Если вы больше не хотите созданный ресурс, удалите группу ресурсов с помощью Remove-AzResourceGroup:
Remove-AzResourceGroup -Name $rg.Name -Force
Следующие шаги
Теперь, когда вы создали экземпляр Azure виртуальная сеть Manager, узнайте, как заблокировать сетевой трафик с помощью конфигурации администратора безопасности:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по