Aracılığıyla paylaş


Hızlı Başlangıç: Azure CLI kullanarak Azure Sanal Ağ Manager ile ağ topolojisi oluşturma

Tüm sanal ağlarınızın bağlantısını yönetmek için Azure CLI'yi kullanarak Azure Sanal Ağ Manager'ı kullanmaya başlayın.

Bu hızlı başlangıçta üç sanal ağ dağıtacak ve ağ topolojisi oluşturmak için Azure Sanal Ağ Manager'ı kullanacaksınız. Ardından bağlantı yapılandırmasının uygulandığını doğrularsınız.

Azure sanal ağ yöneticisi ile bir ağ sanal ağ topolojisi için dağıtılan kaynakların diyagramı.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
  • En son Azure CLI veya portalda Azure Cloud Shell'i kullanabilirsiniz.
  • Azure Sanal Ağ Manager uzantısı. Eklemek için komutunu çalıştırın az extension add -n virtual-network-manager.
  • Dinamik ağ gruplarını değiştirmek için size yalnızca Azure RBAC rol ataması aracılığıyla erişim verilmelidir. Klasik Yönetici/eski yetkilendirme desteklenmez.

Azure hesabınızda oturum açın ve aboneliğinizi seçin

Yapılandırmanıza başlamak için Azure hesabınızda oturum açın. Cloud Shell Deneyin özelliğini kullanıyorsanız otomatik olarak oturum açmış olursunuz.

az login

Sanal Ağ Yöneticisi'nin dağıtıldığı aboneliği seçin:

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

Azure CLI için Sanal Ağ Manager uzantısını güncelleştirin:

az extension update --name virtual-network-manager

Kaynak grubu oluşturma

Azure Sanal Ağ Manager'ı dağıtabilmeniz için önce az group create komutunu kullanarak bunu barındırmak için bir kaynak grubu oluşturmanız gerekir. Bu örnek, Batı ABD konumunda myAVNMResourceGroup adlı bir kaynak grubu oluşturur:

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

Sanal Ağ Yöneticisi örneği oluşturma

Bu Sanal Ağ Yöneticisi örneğinin kapsamını ve erişim türünü tanımlayın. az network manager create komutunu kullanarak kapsamı oluşturun. değerini<subscription_id>, Sanal Ağ Yöneticisi'nin sanal ağları yönetmesini istediğiniz abonelikle değiştirin. öğesini yönetmek istediğiniz yönetim grubuyla değiştirin <mgName\> .

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

Ağ grubu oluşturma

Sanal Ağ Yöneticisi, yapılandırmaları ağ gruplarına yerleştirerek sanal ağ gruplarına uygular. az network manager group create komutunu kullanarak bir ağ grubu oluşturun:

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

Sanal ağlar oluşturma

az network vnet create komutunu kullanarak beş sanal ağ oluşturun. Bu örnek Batı ABD konumunda VNetA, VNetB, VNetC ve VNetD adlı sanal ağlar oluşturur. Her sanal ağın networkType , dinamik üyelik için kullanılan bir etiketi vardır. Ağ ağı oluşturmak istediğiniz sanal ağlarınız zaten varsa sonraki bölüme atlayabilirsiniz.

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"

Her sanal ağa alt ağ ekleme

Her birine bir /24 alt ağı ekleyerek sanal ağların yapılandırmasını tamamlayın. az network vnet subnet create komutunu kullanarak default adlı bir alt ağ yapılandırması oluşturun:

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"

Mesh yapılandırması için üyelik tanımlama

Azure Sanal Ağ Yöneticisi, bir ağ grubuna üyelik eklemek için iki yönteme izin verir. Statik üyelik, sanal ağları el ile eklemeyi ve dinamik üyelik, koşullara göre dinamik olarak sanal ağlar eklemek için Azure İlkesi kullanmayı içerir. Mesh yapılandırma üyeliğiniz için tamamlamak istediğiniz seçeneği belirtin.

Statik üyelik seçeneği

Statik üyeliği kullanarak az network manager group static-member create aracılığıyla ağ grubunuza mesh yapılandırmanız için üç sanal ağı el ile eklersiniz. değerini, bu sanal ağların oluşturulduğu abonelikle değiştirin <subscription_id> .

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"

Dinamik üyelik seçeneği

Azure İlkesi kullanarak, değeri Prod olan networkType üç sanal ağı ağ grubuna dinamik olarak ekleyebilirsiniz. Bu üç sanal ağ, ağ yapılandırmasının bir parçası olacak.

İlkeleri bir aboneliğe veya yönetim grubuna uygulayabilirsiniz ve bunları her zaman oluşturduğunuz düzeyde veya üstünde tanımlamanız gerekir. Bir ağ grubuna yalnızca ilke kapsamındaki sanal ağlar eklenir.

İlke tanımı oluşturma

olarak Prodetiketlenmiş sanal ağlar için az policy definition create komutunu kullanarak bir ilke tanımı oluşturun. değerini, bu ilkeyi uygulamak istediğiniz abonelikle değiştirin <subscription_id> . Bunu bir yönetim grubuna uygulamak istiyorsanız, değerini ile --management-group <mgName>değiştirin--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"

İlke tanımı uygulama

İlkeyi tanımladıktan sonra az policy assignment create komutunu kullanarak uygulamanız gerekir. değerini, bu ilkeyi uygulamak istediğiniz abonelikle değiştirin <subscription_id> . Bunu bir yönetim grubuna uygulamak istiyorsanız, --scope "/subscriptions/<subscription_id>" öğesini ile --scope "/providers/Microsoft.Management/managementGroups/<mgName>değiştirin ve öğesini yönetim grubunuzla değiştirin <mgName\> .



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"

Yapılandırma oluşturma

Ağ grubunu oluşturduğunuza ve doğru sanal ağları verdiğinize göre, az network manager connect-config create komutunu kullanarak bir ağ ağ topolojisi yapılandırması oluşturun. değerini aboneliğinizle değiştirin <subscription_id> .

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"

Dağıtımı işleme

Yapılandırmanın etkili olması için az network manager post-commit komutunu kullanarak yapılandırmayı hedef bölgelere işleyin:

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"

Yapılandırmayı doğrulama

Az network manager list-effective-connectivity-config kullandığınızda sanal ağlar bunlara uygulanan yapılandırmaları görüntüler:

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"

Bağlantı yapılandırmasının parçası olan sanal ağlar için şu örneğe benzer bir çıkış alırsınız:

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

VNetD gibi ağ grubunun parçası olmayan sanal ağlar için bu örneğe benzer bir çıkış görüntülenir:

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

Kaynakları temizleme

Azure Sanal Ağ Manager örneğine artık ihtiyacınız yoksa, kaynağı silmeden önce aşağıdaki noktaların tümünün doğru olduğundan emin olun:

  • Yapılandırmaların herhangi bir bölgeye dağıtımı yoktur.
  • Tüm yapılandırmalar silindi.
  • Tüm ağ grupları silindi.

Kaynağı silmek için:

  1. az network manager post-commit ile yapılandırmaları işlemeyerek bağlantı dağıtımını kaldırın:

    az network manager post-commit \
        --network-manager-name "myAVNM" \
        --commit-type "Connectivity" \
        --target-locations "westus" \
        --resource-group "myAVNMResourceGroup"
    
  2. az network manager connect-config delete komutunu kullanarak bağlantı yapılandırmasını kaldırın:

    az network manager connect-config delete \
        --configuration-name "connectivityconfig" \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  3. az network manager group delete komutunu kullanarak ağ grubunu kaldırın:

    az network manager group delete \
        --name "myNetworkGroup" \
        --network-manager-name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  4. az network manager delete komutunu kullanarak ağ yöneticisi örneğini silin:

    az network manager delete \
        --name "myAVNM" \
        --resource-group "myAVNMResourceGroup"
    
  5. Oluşturduğunuz kaynağa artık ihtiyacınız yoksa az group delete komutunu kullanarak kaynak grubunu silin:

    az group delete \
        --name "myAVNMResourceGroup"
    

Sonraki adımlar

Bir Azure Sanal Ağ Manager örneği oluşturduğunuza göre, güvenlik yöneticisi yapılandırmasını kullanarak ağ trafiğini engellemeyi öğrenin: