Udostępnij za pośrednictwem


Szybki start: tworzenie topologii sieci siatki za pomocą usługi Azure Virtual Network Manager przy użyciu interfejsu wiersza polecenia platformy Azure

Rozpocznij pracę z usługą Azure Virtual Network Manager przy użyciu interfejsu wiersza polecenia platformy Azure, aby zarządzać łącznością dla wszystkich sieci wirtualnych.

W tym przewodniku Szybki start wdrożysz trzy sieci wirtualne i użyjesz usługi Azure Virtual Network Manager, aby utworzyć topologię sieci siatki. Następnie sprawdź, czy konfiguracja łączności została zastosowana.

Diagram zasobów wdrożonych dla topologii sieci wirtualnej siatki za pomocą menedżera sieci wirtualnej platformy Azure.

Wymagania wstępne

Zaloguj się do konta platformy Azure i wybierz swoją subskrypcję

Aby rozpocząć konfigurację, zaloguj się do konta platformy Azure. Jeśli używasz funkcji Wypróbuj usługę Cloud Shell, logujesz się automatycznie.

az login

Wybierz subskrypcję, w której wdrożono menedżera sieci wirtualnej:

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

Zaktualizuj rozszerzenie programu Virtual Network Manager dla interfejsu wiersza polecenia platformy Azure:

az extension update --name virtual-network-manager

Tworzenie grupy zasobów

Przed wdrożeniem usługi Azure Virtual Network Manager należy utworzyć grupę zasobów do hostowania przy użyciu polecenia az group create. W tym przykładzie zostanie utworzona grupa zasobów o nazwie myAVNMResourceGroup w lokalizacji Zachodnie stany USA:

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

Tworzenie wystąpienia programu Virtual Network Manager

Zdefiniuj zakres i typ dostępu dla tego wystąpienia programu Virtual Network Manager. Utwórz zakres za pomocą polecenia az network manager create. Zastąp wartość <subscription_id> subskrypcją, dla której menedżer sieci wirtualnej ma zarządzać sieciami wirtualnymi. Zastąp element <mgName\> grupą zarządzania, którą chcesz zarządzać.

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

Tworzenie grupy sieciowej

Menedżer sieci wirtualnej stosuje konfiguracje do grup sieci wirtualnych, umieszczając je w grupach sieciowych. Utwórz grupę sieci za pomocą polecenia 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"

Tworzenie sieci wirtualnych

Utwórz pięć sieci wirtualnych przy użyciu polecenia az network vnet create. W tym przykładzie tworzone są sieci wirtualne o nazwach VNetA, VNetB, VNetC i VNetD w lokalizacji Zachodnie stany USA. Każda sieć wirtualna ma tag networkType używany do członkostwa dynamicznego. Jeśli masz już sieci wirtualne, za pomocą których chcesz utworzyć sieć siatki, możesz przejść do następnej sekcji.

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"

Dodawanie podsieci do każdej sieci wirtualnej

Ukończ konfigurację sieci wirtualnych, dodając podsieć /24 do każdej z nich. Utwórz konfigurację podsieci o nazwie default przy użyciu polecenia 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"

Definiowanie członkostwa dla konfiguracji siatki

Usługa Azure Virtual Network Manager umożliwia dodawanie członkostwa do grupy sieciowej za pomocą dwóch metod. Członkostwo statyczne obejmuje ręczne dodawanie sieci wirtualnych, a członkostwo dynamiczne obejmuje używanie usługi Azure Policy do dynamicznego dodawania sieci wirtualnych na podstawie warunków. Wybierz opcję, którą chcesz ukończyć dla członkostwa w konfiguracji siatki.

Opcja członkostwa statycznego

Korzystając z członkostwa statycznego, ręcznie dodasz trzy sieci wirtualne dla konfiguracji siatki do grupy sieciowej za pomocą polecenia az network manager group static-member create. Zastąp <subscription_id> element subskrypcją utworzoną w ramach tych sieci wirtualnych.

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"

Opcja członkostwa dynamicznego

Za pomocą usługi Azure Policy można dynamicznie dodawać trzy sieci wirtualne z wartością networkType Prod do grupy sieci. Te trzy sieci wirtualne staną się częścią konfiguracji siatki.

Zasady można stosować do subskrypcji lub grupy zarządzania i zawsze należy je zdefiniować na poziomie lub wyższym od miejsca ich utworzenia. Do grupy sieci są dodawane tylko sieci wirtualne w zakresie zasad.

Utworzenie definicji zasad

Utwórz definicję zasad przy użyciu polecenia az policy definition create dla sieci wirtualnych oznaczonych jako Prod. Zastąp <subscription_id> ciąg subskrypcją, do której chcesz zastosować te zasady. Jeśli chcesz zastosować go do grupy zarządzania, zastąp --management-group <mgName>ciąg --subscription <subscription_id> .

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"

Stosowanie definicji zasad

Po zdefiniowaniu zasad należy ją zastosować za pomocą polecenia az policy assignment create. Zastąp <subscription_id> ciąg subskrypcją, do której chcesz zastosować te zasady. Jeśli chcesz zastosować go do grupy zarządzania, zastąp ciąg , i zastąp --scope "/subscriptions/<subscription_id>" --scope "/providers/Microsoft.Management/managementGroups/<mgName><mgName\> element grupą zarządzania.



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"

Tworzenie konfiguracji

Teraz, gdy grupa sieci została utworzona i nadana jej prawidłowym sieciom wirtualnym, utwórz konfigurację topologii sieci siatki za pomocą polecenia az network manager connect-config create. Zastąp <subscription_id> element subskrypcją.

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"

Zatwierdzanie wdrożenia

Aby konfiguracja weszła w życie, zatwierdź konfigurację w regionach docelowych przy użyciu polecenia 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"

Sprawdzanie konfiguracji

Sieci wirtualne wyświetlają konfiguracje zastosowane do nich podczas korzystania z polecenia az network manager list-effective-connectivity-config:

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"

W przypadku sieci wirtualnych, które są częścią konfiguracji łączności, uzyskasz dane wyjściowe podobne do tego przykładu:

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

W przypadku sieci wirtualnych, które nie są częścią grupy sieci, takiej jak VNetD, zostanie wyświetlone dane wyjściowe podobne do tego przykładu:

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

Czyszczenie zasobów

Jeśli nie potrzebujesz już wystąpienia usługi Azure Virtual Network Manager, przed usunięciem zasobu upewnij się, że wszystkie następujące kwestie są prawdziwe:

  • Nie ma wdrożeń konfiguracji w żadnym regionie.
  • Wszystkie konfiguracje zostały usunięte.
  • Wszystkie grupy sieciowe zostały usunięte.

Aby usunąć zasób:

  1. Usuń wdrożenie łączności, zatwierdzając brak konfiguracji za pomocą polecenia az network manager po zatwierdzeniu:

    az network manager post-commit \
        --network-manager-name "myAVNM" \
        --commit-type "Connectivity" \
        --target-locations "westus" \
        --resource-group "myAVNMResourceGroup"
    
  2. Usuń konfigurację łączności za pomocą polecenia az network manager connect-config delete:

    az network manager connect-config delete \
        --configuration-name "connectivityconfig" \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  3. Usuń grupę sieci za pomocą polecenia az network manager group delete:

    az network manager group delete \
        --name "myNetworkGroup" \
        --network-manager-name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  4. Usuń wystąpienie menedżera sieci za pomocą polecenia az network manager delete:

    az network manager delete \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  5. Jeśli nie potrzebujesz już utworzonego zasobu, usuń grupę zasobów przy użyciu polecenia az group delete:

    az group delete \
        --name "myAVNMResourceGroup"
    

Następne kroki

Po utworzeniu wystąpienia usługi Azure Virtual Network Manager dowiedz się, jak blokować ruch sieciowy przy użyciu konfiguracji administratora zabezpieczeń: