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.
Ö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 Prod
etiketlenmiş 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:
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"
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"
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"
az network manager delete komutunu kullanarak ağ yöneticisi örneğini silin:
az network manager delete \ --name "myAVNM" \ --resource-group "myAVNMResourceGroup"
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: