Partager via


Démarrage rapide : Créer une topologie de réseau maillé avec Azure Virtual Network Manager en utilisant Azure PowerShell

Démarrez avec Azure Virtual Network Manager en utilisant Azure PowerShell pour gérer la connectivité de vos réseaux virtuels.

Dans ce guide de démarrage rapide, vous déployez trois réseaux virtuels et utiliser le gestionnaire de réseau virtuel Azure pour créer une topologie de réseau maillé. Vous vérifiez ensuite que la configuration de la connectivité a été appliquée.

Diagramme des ressources déployées pour une topologie de réseau virtuel cloud avec le gestionnaire de réseau virtuel Azure.

Important

Azure Virtual Network Manager est en disponibilité générale pour les configurations de connectivité hub-and-spoke et les configurations de sécurité avec des règles d’administration de la sécurité. Les configurations de connectivité de maillage restent en préversion.

Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Prérequis

  • Compte Azure avec un abonnement actif. Créez un compte gratuitement.
  • Suivez ce guide de démarrage rapide à l’aide de PowerShell en local, et non via Azure Cloud Shell. La version de Az.Network dans Azure Cloud Shell ne prend actuellement pas en charge les cmdlets Azure Virtual Network Manager.
  • Pour modifier les groupes dynamiques AVNM, vous devez vous voir accorder l’accès via l’attribution de rôle RBAC Azure uniquement. L’autorisation classique Administration/héritée n’est pas prise en charge.

Vous connecter à votre compte Azure et sélectionner votre abonnement

Pour commencer votre configuration, connectez-vous à votre compte Azure :

Connect-AzAccount

Puis, connectez-vous à votre abonnement :

Set-AzContext -Subscription <subscription name or id>

Installer le module Azure PowerShell

Installez la version la plus récente du module Azure PowerShell Az.Network à l’aide de cette commande :

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Créer un groupe de ressources

Avant de pouvoir créer une instance gestionnaire de réseau virtuel Azure, vous devez créer un groupe de ressources pour l’héberger. Créez un groupe de ressources à l’aide de New-AzResourceGroup. Cet exemple crée un groupe de ressources nommé vnm-learn-eastus-001ResourceGroup dans l’emplacement USA Est :


$location = "East US"
$rg = @{
    Name = 'rg-learn-eastus-001'
    Location = $location
}
New-AzResourceGroup @rg

Définir l’étendue et le type d’accès

Définissez l’étendue et le type d’accès pour l’instance Azure Réseau virtuel Manager à l’aide de New-AzNetworkManagerScope. Ce exemple définit l’étendue avec un abonnement unique et établi le type d’accès sur Connectivité. Remplacez <subscription_id> par l’ID de l’abonnement que vous souhaitez gérer à travers Azure Virtual Network Manager.


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

Créer une instance gestionnaire de réseau virtuel

Créez un instance Réseau virtuel Manager à l’aide de New-AzNetworkManager. Cet exemple crée un instance nommé vnm-learn-eastus-001 dans l’emplacement USA Est :

$avnm = @{
    Name = 'vnm-learn-eastus-001'
    ResourceGroupName = $rg.Name
    NetworkManagerScope = $scope
    NetworkManagerScopeAccess = $access
    Location = $location
}
$networkmanager = New-AzNetworkManager @avnm

Créer trois réseaux virtuels

Créez un réseau virtuel en utilisant New-AzVirtualNetwork. Cet exemple crée des réseaux virtuels nommés vnet-learn-prod-eastus-001, vnet-learn-prod-eastus-002 et vnet-learn-test-eastus-003 à l’emplacement USA Est. Si vous avez déjà des réseaux virtuels avec lesquels vous souhaitez créer un réseau maillé, vous pouvez passer à la section suivante.

$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

Ajoutez un sous-réseau au réseau virtuel

Pour finaliser la configuration des réseaux virtuels, créez une configuration de sous-réseau nommée default avec Add-AzVirtualNetworkSubnetConfig avec le préfixe d’adresse de sous-réseau /24. Utilisez ensuite Set-AzVirtualNetwork pour appliquer la configuration de sous-réseau au réseau virtuel.

$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

Créer un groupe réseau

Virtual Network Manager applique des configurations à des groupes de réseaux virtuels en les plaçant dans des groupes réseau. Créez un groupe réseau en utilisant New-AzNetworkManagerGroup. Cet exemple crée un groupe réseau nommé ng-learn-prod-eastus-001 à l’emplacement USA Est :

$ng = @{
        Name = 'ng-learn-prod-eastus-001'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
    }
    $ng = New-AzNetworkManagerGroup @ng

Définir l’appartenance pour une configuration de maillage

Après avoir créé votre groupe réseau, vous définissez son appartenance en ajoutant des réseaux virtuels. Vous pouvez ajouter ces réseaux manuellement ou à l’aide de Azure Policy.

Ajouter manuellement une appartenance

Dans cette tâche, vous ajoutez les membres statiques vnet-learn-prod-eastus-001 et vnet-learn-prod-eastus-002 au groupe réseau ng-learn-prod-eastus-001 en utilisant New-AzNetworkManagerStaticMember.

Les membres statiques doivent avoir un nom unique qui est limité au groupe réseau. Nous vous recommandons d’utiliser un hachage cohérent de l’ID de réseau virtuel. Cette approche utilise l’implémentation du uniqueString() modèle 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

Créer une configuration de connectivité

Dans cette tâche, vous créez une configuration de connectivité avec le groupe de réseau ng-learn-prod-eastus-001 en utilisant New-AzNetworkManagerConnectivityConfiguration et New-AzNetworkManagerConnectivityGroupItem :

  1. Créez un élément de groupe de connectivité :

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Créez un groupe de configuration et ajoutez-y un élément de groupe de connectivité :

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Créez la configuration de connectivité avec le groupe de configuration :

    $config = @{
        Name = 'cc-learn-prod-eastus-001'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
        ConnectivityTopology = 'Mesh'
        AppliesToGroup = $configGroup
    }
    $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
        ```                        
    
    

Valider le déploiement

Validez la configuration dans les régions cibles à l’aide de Deploy-AzNetworkManagerCommit. Cette étape déclenche votre configuration pour commencer à prendre effet.

[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 

Nettoyer les ressources

Si vous n’avez plus besoin de l’instance Azure Virtual Network Manager, vous devez vous assurer que tous points suivants sont réunis avant de supprimer la ressource :

  • Il n’existe aucun déploiement de configurations dans une région.
  • Toutes les configurations ont été supprimées.
  • Tous les groupes de réseaux ont été supprimés.

Pour supprimer la ressource :

  1. Supprimez le déploiement de la connectivité en déployant une configuration vide via 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
    
  2. Supprimez la configuration de la connectivité à l’aide de Remove-AzNetworkManagerConnectivityConfiguration :

    
    Remove-AzNetworkManagerConnectivityConfiguration -Name $connectivityconfig.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
    
  3. Supprimez les ressources de stratégie à l’aide de Remove-AzPolicy* :

    
    Remove-AzPolicyAssignment -Name $policyAssignment.Name
    Remove-AzPolicyAssignment -Name $policyDefinition.Name
    
    
  4. Supprimez le groupe réseau à l’aide de Remove-AzNetworkManagerGroup :

    Remove-AzNetworkManagerGroup -Name $ng.Name -ResourceGroupName $rg.Name -NetworkManagerName $networkManager.Name
    
  5. Supprimez l’instance Virtual Network Manager à l’aide de Remove-AzNetworkManager :

    Remove-AzNetworkManager -name $networkManager.Name -ResourceGroupName $rg.Name
    
  6. Lorsque vous n'avez plus besoin de la ressources que vous avez crée, supprimer le groupe de ressources en utilisant Remove-AzResourceGroup :

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Étapes suivantes

Maintenant que vous avez créé une instance Azure Virtual Network Manager, découvrez comment bloquer le trafic réseau à l’aide d’une configuration d’administrateur de sécurité :