Rychlý start: Vytvoření síťové topologie sítě s využitím Azure Virtual Network Manageru pomocí Azure CLI

Začněte používat Azure Virtual Network Manager pomocí Azure CLI ke správě připojení pro všechny virtuální sítě.

V tomto rychlém startu nasadíte tři virtuální sítě a použijete Azure Virtual Network Manager k vytvoření síťové topologie sítě. Pak ověříte, že se použila konfigurace připojení.

Diagram prostředků nasazených pro síťovou topologii virtuální sítě pomocí Azure Virtual Network Manageru

Požadavky

Přihlaste se ke svému účtu Azure a vyberte své předplatné.

Pokud chcete zahájit konfiguraci, přihlaste se ke svému účtu Azure. Pokud používáte funkci Vyzkoušet v Cloud Shellu, jste přihlášení automaticky.

az login

Vyberte předplatné, ve kterém je nasazen Nástroj Virtual Network Manager:

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

Aktualizujte rozšíření Virtual Network Manageru pro Azure CLI:

az extension update --name virtual-network-manager

Vytvoření skupiny zdrojů

Než budete moct nasadit Azure Virtual Network Manager, musíte vytvořit skupinu prostředků, která ji bude hostovat pomocí příkazu az group create. Tento příklad vytvoří skupinu prostředků myAVNMResourceGroup v umístění USA – západ:

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

Vytvoření instance Virtual Network Manageru

Definujte obor a typ přístupu pro tuto instanci Virtual Network Manageru. Vytvořte obor pomocí příkazu az network manager create. Nahraďte hodnotu <subscription_id> předplatným, pro které má Správce virtuálních sítí spravovat virtuální sítě. Nahraďte <mgName\> skupinou pro správu, kterou chcete spravovat.

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

Vytvoření skupiny sítě

Virtual Network Manager použije konfigurace pro skupiny virtuálních sítí tak, že je umístí do skupin sítí. Vytvořte skupinu sítě pomocí příkazu 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"

Vytvoření virtuálních sítí

Vytvořte pět virtuálních sítí pomocí příkazu az network vnet create. Tento příklad vytvoří virtuální sítě s názvem VNetA, VNetB, VNetC a VNetD v umístění USA – západ. Každá virtuální síť má značku networkType , která se používá pro dynamické členství. Pokud už máte virtuální sítě, se kterými chcete vytvořit síť sítě, můžete přejít k další části.

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"

Přidání podsítě do každé virtuální sítě

Dokončete konfiguraci virtuálních sítí přidáním podsítě /24 do každé z nich. Pomocí příkazu az network vnet subnet create vytvořte konfiguraci podsítě podsítě s názvem default:

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"

Definování členství pro konfiguraci sítě

Azure Virtual Network Manager umožňuje dvě metody přidání členství do skupiny sítě. Statické členství zahrnuje ruční přidávání virtuálních sítí a dynamické členství zahrnuje použití služby Azure Policy k dynamickému přidávání virtuálních sítí na základě podmínek. Zvolte možnost, kterou chcete dokončit pro členství v konfiguraci sítě.

Možnost statického členství

Pomocí statického členství ručně přidáte do skupiny sítě tři virtuální sítě prostřednictvím příkazu az network manager group static-member create. Nahraďte <subscription_id> předplatným, pod kterým byly tyto virtuální sítě vytvořeny.

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"

Možnost dynamického členství

Pomocí služby Azure Policy můžete dynamicky přidávat tři virtuální sítě s networkType hodnotou Prod do skupiny sítí. Tyto tři virtuální sítě se stanou součástí konfigurace sítě.

Zásady můžete použít u předplatného nebo skupiny pro správu a vždy je musíte definovat na úrovni, na které je vytváříte. Do skupiny sítě se přidají jenom virtuální sítě v rámci oboru zásad.

Vytvoření definice zásady

Vytvořte definici zásad pomocí příkazu az policy definition create pro virtuální sítě označené jako Prod. Nahraďte <subscription_id> předplatným, na které chcete tuto zásadu použít. Pokud ho chcete použít pro skupinu pro správu, nahraďte --subscription <subscription_id> ji .--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"

Použití definice zásady

Po definování zásady ji musíte použít pomocí příkazu az policy assignment create. Nahraďte <subscription_id> předplatným, na které chcete tuto zásadu použít. Pokud ji chcete použít u skupiny pro správu, nahraďte --scope "/subscriptions/<subscription_id>" ji --scope "/providers/Microsoft.Management/managementGroups/<mgName>a nahraďte <mgName\> ji skupinou pro správu.



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"

Vytvoření konfigurace

Teď, když jste vytvořili skupinu sítě a dali jí správné virtuální sítě, vytvořte konfiguraci síťové topologie sítě pomocí příkazu az network manager connect-config create. Nahraďte <subscription_id> svým předplatným.

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"

Potvrzení nasazení

Aby se konfigurace projevila, potvrďte konfiguraci do cílových oblastí pomocí příkazu 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"

Ověření konfigurace

Pokud použijete příkaz az network manager list-effective-connectivity-config, zobrazí se na ně konfigurace virtuálních sítí:

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"

Pro virtuální sítě, které jsou součástí konfigurace připojení, získáte výstup podobný tomuto příkladu:

{
  "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"
    }
  ]
}

U virtuálních sítí, které nejsou součástí skupiny sítí, například VNetD, se zobrazí výstup podobný tomuto příkladu:

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

Vyčištění prostředků

Pokud už instanci Azure Virtual Network Manageru nepotřebujete, před odstraněním prostředku se ujistěte, že platí všechny následující body:

  • Neexistují žádná nasazení konfigurací do žádné oblasti.
  • Všechny konfigurace byly odstraněny.
  • Všechny skupiny sítě byly odstraněny.

Odstranění prostředku:

  1. Odeberte nasazení připojení potvrzením žádné konfigurace pomocí příkazu az network manager post-commit:

    az network manager post-commit \
        --network-manager-name "myAVNM" \
        --commit-type "Connectivity" \
        --target-locations "westus" \
        --resource-group "myAVNMResourceGroup"
    
  2. Pomocí příkazu az network manager connect-config delete odeberte konfiguraci připojení:

    az network manager connect-config delete \
        --configuration-name "connectivityconfig" \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  3. Odeberte skupinu sítě pomocí příkazu az network manager group delete:

    az network manager group delete \
        --name "myNetworkGroup" \
        --network-manager-name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  4. Pomocí příkazu az network manager delete odstraňte instanci network manageru:

    az network manager delete \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  5. Pokud už prostředek, který jste vytvořili, nepotřebujete, odstraňte skupinu prostředků pomocí příkazu az group delete:

    az group delete \
        --name "myAVNMResourceGroup"
    

Další kroky

Teď, když jste vytvořili instanci Azure Virtual Network Manageru, se naučíte blokovat síťový provoz pomocí konfigurace správce zabezpečení: