Partager via


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

Démarrez avec Azure Virtual Network Manager en utilisant Azure CLI pour gérer la connectivité de tous 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.

Prérequis

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

Pour commencer votre configuration, connectez-vous à votre compte Azure. Si vous utilisez l’option Essayer, vous êtes connecté automatiquement.

az login

Sélectionnez l’abonnement dans lequel le gestionnaire de réseau virtuel est déployé :

az account set \
    --subscription "<subscription_id>"

Mettez à jour l’extension Virtual Network Manager pour Azure CLI :

az extension update --name virtual-network-manager

Créer un groupe de ressources

Avant de pouvoir déployer Azure Virtual Network Manager, vous devez créer un groupe de ressources pour l’héberger en utilisant créer groupe az. Cet exemple crée un groupe de ressources nommé myAVNMResourceGroup dans l’emplacement USA Ouest :

az group create \
    --name "myAVNMResourceGroup" \
    --location "westus"

Créer une instance gestionnaire de réseau virtuel

Définissez l’étendue et le type d’accès pour cette instance du gestionnaire de réseau virtuel. Créez l’étendue à l’aide de la commande az network manager create. Remplacez la valeur <subscription_id> par l’abonnement pour lequel vous souhaitez que Virtual Network Manager gère les réseaux virtuels. Remplacez par <mgName\> le groupe d’administration que vous souhaitez gérer.

az network manager create \
    --location "westus" \
    --name "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --scope-accesses "Connectivity" "SecurityAdmin" \
    --network-manager-scopes subscriptions="/subscriptions/<subscription_id>"

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 à l’aide de la commande az network manager group create :

az network manager group create \
    --name "myNetworkGroup" \
    --network-manager-name "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --description "Network Group for Production virtual networks"

Créer des réseaux virtuels

Créez cinq réseaux virtuels avec la commande az network vnet create. Cet exemple crée des réseaux virtuels nommés VNetA, VNetB,VNetC et VNetD dans la localisation USA Ouest. Chaque réseau virtuel a une étiquette networkType utilisée pour l’appartenance dynamique. 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.

az network vnet create \
    --name "VNetA" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.0.0.0/16" \
    --tags "NetworkType=Prod"

az network vnet create \
    --name "VNetB" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.1.0.0/16" \
    --tags "NetworkType=Prod"

az network vnet create \
    --name "VNetC" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.2.0.0/16" \
    --tags "NetworkType=Prod"

az network vnet create \
    --name "VNetD" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.3.0.0/16" \
    --tags "NetworkType=Test"

az network vnet create \
    --name "VNetE" \
    --resource-group "myAVNMResourceGroup" \
    --address-prefix "10.4.0.0/16" \
    --tags "NetworkType=Test"

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

Terminez la configuration des réseaux virtuels en ajoutant un sous-réseau /24 à chacun d’eux. Créez une configuration de sous-réseau nommée default avec la commande az network vnet subnet create :

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetA" \
    --address-prefix "10.0.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetB" \
    --address-prefix "10.1.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetC" \
    --address-prefix "10.2.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetD" \
    --address-prefix "10.3.0.0/24"

az network vnet subnet create \
    --name "default" \
    --resource-group "myAVNMResourceGroup" \
    --vnet-name "VNetE" \
    --address-prefix "10.4.0.0/24"

Définir l’appartenance pour une configuration de maillage

Azure Virtual Network Manager met à votre disposition deux méthodes pour ajouter l’appartenance à un groupe de réseaux. L’appartenance statique implique l’ajout manuel de réseaux virtuels, tandis que l’appartenance dynamique implique l’utilisation d’Azure Policy pour ajouter dynamiquement des réseaux virtuels en fonction de conditions. Choisissez l’option d’appartenance que vous souhaitez utiliser pour votre configuration de maillage.

Option d’appartenance statique

En utilisant l’appartenance statique, vous ajoutez manuellement 3 réseaux virtuels à votre groupe de réseaux pour votre configuration de maillage via az network manager group static-member create. Remplacer <subscription_id> avec l’abonnement qui a été utilisé pour créer ces réseaux virtuels.

az network manager group static-member create \
    --name "VNetA" \
    --network-group "myNetworkGroup" \
    --network-manager "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --resource-id "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualnetworks/VNetA"
az network manager group static-member create \
    --name "VNetB" \
    --network-group "myNetworkGroup" \
    --network-manager "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --resource-id "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualnetworks/VNetB"
az network manager group static-member create \
    --name "VNetC" \
    --network-group "myNetworkGroup" \
    --network-manager "myAVNM" \
    --resource-group "myAVNMResourceGroup" \
    --resource-id "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualnetworks/VNetC"

Option d’appartenance dynamique

En utilisant Azure Policy, vous pouvez ajouter dynamiquement les trois réseaux virtuels avec une networkType valeur de Prod au groupe réseau. Ces trois réseaux virtuels devront faire partie de la configuration de maillage.

Vous pouvez appliquer des stratégies à un abonnement ou à un groupe d’administration, et vous devez toujours les définir au niveau où vous les créez ou au-delà . Seuls les réseaux virtuels au sein d’une étendue de stratégie sont ajoutés à un groupe de réseaux.

Créer une définition de stratégie

Créez une définition de stratégie à l’aide de az policy definition create pour les réseaux virtuels étiquetés comme Prod. Remplacez par <subscription_id> l’abonnement auquel vous souhaitez appliquer cette stratégie. Si vous souhaitez l’appliquer à un groupe d’administration, remplacez --subscription <subscription_id> par --management-group <mgName>.

az policy definition create \
    --name "ProdVNets" \
    --description "Choose Prod virtual networks only" \
    --rules "{\"if\":{\"allOf\":[{\"field\":\"Name\",\"contains\":\"VNet\"},{\"field\":\"tags['NetworkType']\",\"equals\":\"Prod\"}]},\"then\":{\"effect\":\"addToNetworkGroup\",\"details\":{\"networkGroupId\":\"/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNetworkGroup\"}}}" \
    --subscription <subscription_id> \
    --mode "Microsoft.Network.Data"

Appliquer une définition de stratégie

Après avoir défini une stratégie, vous devez l’appliquer à l’aide de az policy assignment create. Remplacez par <subscription_id> l’abonnement auquel vous souhaitez appliquer cette stratégie. Si vous souhaitez l’appliquer à un groupe d’administration, remplacez --scope "/subscriptions/<subscription_id>" par --scope "/providers/Microsoft.Management/managementGroups/<mgName> et remplacez <mgName\> par votre groupe d’administration.



az policy assignment create \
    --name "ProdVNets" \
    --description "Take only virtual networks tagged NetworkType:Prod" \
    --scope "/subscriptions/<subscription_id>" \
    --policy "/subscriptions/<subscription_id>/providers/Microsoft.Authorization/policyDefinitions/ProdVNets"

Créer une configuration

Maintenant que vous avez créé le groupe de réseaux et que vous lui avez donné les réseaux virtuels appropriés, créez une configuration de topologie de réseau maillé à l’aide de az network manager connect-config create. Remplacez <subscription_id> par votre abonnement.

az network manager connect-config create \
    --configuration-name "connectivityconfig" \
    --description "Production Mesh Connectivity Config Example" \
    --applies-to-groups network-group-id="/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNetworkGroup" \
    --connectivity-topology "Mesh" \
    --network-manager-name "myAVNM" \
    --resource-group "myAVNMResourceGroup"

Valider le déploiement

Pour que la configuration prenne effet, validez-la auprès des régions cibles en utilisant az network manager post-commit :

az network manager post-commit \
    --network-manager-name "myAVNM" \
    --commit-type "Connectivity" \
    --configuration-ids "/subscriptions/<subscription_id>/resourceGroups/myANVMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/connectivityConfigurations/connectivityconfig" \
    --target-locations "westus" \
    --resource-group "myAVNMResourceGroup"

Vérifier la configuration

az network manager list-effective-connectivity-config permet d’afficher les configurations appliquées aux réseaux virtuels :

az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetA"

az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetB"


az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetC"

az network manager list-effective-connectivity-config \
    --resource-group "myAVNMResourceGroup" \
    --virtual-network-name "VNetD"

Pour les réseaux virtuels qui font partie de la configuration de la connectivité, vous recevez une sortie similaire à cet exemple :

{
  "skipToken": "",
  "value": [
    {
      "appliesToGroups": [
        {
          "groupConnectivity": "None",
          "isGlobal": "False",
          "networkGroupId": "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNetworkGroup",
          "useHubGateway": "False"
        }
      ],
      "configurationGroups": [
        {
          "description": "Network Group for Production virtual networks",
          "id": "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNetworkGroup",
          "provisioningState": "Succeeded",
          "resourceGroup": "myAVNMResourceGroup"
        }
      ],
      "connectivityTopology": "Mesh",
      "deleteExistingPeering": "False",
      "description": "Production Mesh Connectivity Config Example",
      "hubs": [],
      "id": "/subscriptions/<subscription_id>/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/networkManagers/myAVNM/connectivityConfigurations/connectivityconfig",
      "isGlobal": "False",
      "provisioningState": "Succeeded",
      "resourceGroup": "myAVNMResourceGroup"
    }
  ]
}

Pour les réseaux virtuels qui ne font pas partie du groupe de réseaux comme VNetD, une sortie similaire à cet exemple apparaît :

az network manager list-effective-connectivity-config     --resource-group "myAVNMResourceGroup"     --virtual-network-name "VNetD-test"
{
  "skipToken": "",
  "value": []
}

Nettoyer les ressources

Si vous n’avez plus besoin de l’instance Azure Virtual Network Manager, vous devez vous assurer que toutes les 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 connectivité en validant l’absence de configuration avec la commande az network manager post-commit :

    az network manager post-commit \
        --network-manager-name "myAVNM" \
        --commit-type "Connectivity" \
        --target-locations "westus" \
        --resource-group "myAVNMResourceGroup"
    
  2. Supprimez la configuration de connectivité en utilisant la commande az network manager connect-config delete :

    az network manager connect-config delete \
        --configuration-name "connectivityconfig" \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  3. Supprimez le groupe de réseaux en utilisant la commande az network manager group delete :

    az network manager group delete \
        --name "myNetworkGroup" \
        --network-manager-name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  4. Supprimez l’instance du gestionnaire de réseau en utilisant la commande az network manager delete :

    az network manager delete \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  5. Lorsque vous n'avez plus besoin de la ressources que vous avez crée, supprimer le groupe de ressources en utilisant la commande az group delete :

    az group delete \
        --name "myAVNMResourceGroup"
    

É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é :