快速入門:使用 Azure CLI 使用 Azure 虛擬網絡 Manager 建立網格網路拓撲
使用 Azure CLI 來管理所有虛擬網路的連線,以開始使用 Azure 虛擬網絡 Manager。
在本快速入門中,您會部署三個虛擬網路,並使用 Azure Virtual Network Manager 來建立網狀網路拓撲。 然後您會驗證已套用連線設定。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 最新的 Azure CLI,或者您可以在入口網站中使用 Azure Cloud Shell。
- Azure 虛擬網絡 Manager 擴充功能。 若要新增它,請執行
az extension add -n virtual-network-manager
。 - 若要修改動態網路群組,您只能透過 Azure RBAC 角色指派來獲得存取權。 不支援傳統管理員/舊版授權。
登入您的 Azure 帳戶並且選取您的訂用帳戶
若要開始您的組態,請登入您的 Azure 帳戶。 如果您使用 Cloud Shell 試用功能 ,則會自動登入。
az login
選取部署 虛擬網絡 管理員的訂用帳戶:
az account set \
--subscription "<subscriptionID>"
更新 Azure CLI 的 虛擬網絡 Manager 擴充功能:
az extension update --name virtual-network-manager
建立資源群組
在這項工作中,您會使用 az group create 建立資源群組來裝載網路管理員實例。 此範例會在 (US) West 2 位置建立名為 resource-group 的資源群組:
az group create \
--name "resource-group" \
--location "westus2"
建立 Virtual Network Manager 執行個體
在這項工作中,定義此 虛擬網絡 Manager 實例的範圍和存取類型。 使用 az network manager create 建立範圍。 將 值<subscriptionID>
取代為您想要 虛擬網絡 管理員管理虛擬網路的訂用帳戶。 將取代 <mgName\>
為您想要管理的管理群組。
az network manager create \
--location "westus2" \
--name "network-manager" \
--resource-group "resource-group" \
--scope-accesses "Connectivity" "SecurityAdmin" \
--network-manager-scopes subscriptions="/subscriptions/<subscriptionID>"
建立網路群組
在這項工作中,使用 az network manager group create 建立網络群組:
az network manager group create \
--name "network-group" \
--network-manager-name "network-manager" \
--resource-group "resource-group" \
--description "Network Group for Production virtual networks"
建立虛擬網路
在這項工作中,使用 az network vnet create 建立三個虛擬網路。 此範例會在 (US) West 2 位置建立名為三個虛擬的虛擬網路。 每個虛擬網路都有用於動態成員資格的標記 networkType
。 如果您已經有想要建立網狀網路的虛擬網路,您可以跳到下一節。
az network vnet create \
--name "vnet-00" \
--resource-group "resource-group" \
--address-prefix "10.0.0.0/16" \
--tags "NetworkType=Prod"
az network vnet create \
--name "vnet-01" \
--resource-group "resource-group" \
--address-prefix "10.1.0.0/16" \
--tags "NetworkType=Prod"
az network vnet create \
--name "vnet-02" \
--resource-group "resource-group" \
--address-prefix "10.2.0.0/16" \
--tags "NetworkType=Prod"
將子網新增至每個虛擬網路
在這項工作中,將 /24 子網新增至每個子網,以完成虛擬網路的設定。 使用 az network vnet subnet create 建立名為 default 的子網組態:
az network vnet subnet create \
--name "default" \
--resource-group "resource-group" \
--vnet-name "vnet-00" \
--address-prefix "10.0.0.0/24"
az network vnet subnet create \
--name "default" \
--resource-group "resource-group" \
--vnet-name "vnet-01" \
--address-prefix "10.1.0.0/24"
az network vnet subnet create \
--name "default" \
--resource-group "resource-group" \
--vnet-name "vnet-02" \
--address-prefix "10.2.0.0/24"
定義網格組態的成員資格
Azure 虛擬網絡 Manager 允許將成員資格新增至網路群組的兩種方法。 靜態成員資格牽涉到手動新增虛擬網路,而動態成員資格牽涉到使用 Azure 原則 根據條件動態新增虛擬網路。 針對網格組態成員資格,選擇您想要完成的選項。
藉由使用靜態成員資格,您可以透過 az network manager group static-member create,手動將網格組態的三個虛擬網路新增至您的網路群組。 將取代 <subscriptionID>
為建立這些虛擬網路的訂用帳戶。
az network manager group static-member create \
--name "vnet-00" \
--network-group "network-group" \
--network-manager "network-manager" \
--resource-group "resource-group" \
--resource-id "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/virtualnetworks/vnet-00"
az network manager group static-member create \
--name "vnet-01" \
--network-group "network-group" \
--network-manager "network-manager" \
--resource-group "resource-group" \
--resource-id "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/virtualnetworks/vnet-01"
az network manager group static-member create \
--name "vnet-02" \
--network-group "network-group" \
--network-manager "network-manager" \
--resource-group "resource-group" \
--resource-id "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/virtualnetworks/vnet-02"
建立設定
在這項工作中,使用 az network manager connect-config create 建立網格網路拓撲組態。 使用您的訂用帳戶 ID 來取代 <subscriptionID>
。
az network manager connect-config create \
--configuration-name "connectivityconfig" \
--description "Production Mesh Connectivity Config Example" \
--applies-to-groups '[{"networkGroupId": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/networkGroups/network-group", "groupConnectivity": "None"}]' \
--connectivity-topology "Mesh" \
--network-manager-name "network-manager" \
--resource-group "resource-group"
認可部署
若要讓組態生效,請使用 az network manager post-commit 將設定認可至目標區域:
az network manager post-commit \
--network-manager-name "network-manager" \
--commit-type "Connectivity" \
--configuration-ids "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/connectivityConfigurations/connectivityconfig" \
--target-locations "westus2" \
--resource-group "resource-group"
驗證設定
當您使用 az network manager list-effective-connectivity-config 時,虛擬網路會顯示套用至它們的組態:
az network manager list-effective-connectivity-config \
--resource-group "resource-group" \
--virtual-network-name "vnet-00"
az network manager list-effective-connectivity-config \
--resource-group "resource-group" \
--virtual-network-name "vnet-01"
az network manager list-effective-connectivity-config \
--resource-group "resource-group" \
--virtual-network-name "vnet-02"
針對屬於連線設定一部分的虛擬網路,您會取得類似此範例的輸出:
{
"skipToken": "",
"value": [
{
"appliesToGroups": [
{
"groupConnectivity": "None",
"isGlobal": "False",
"networkGroupId": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/networkGroups/network-group",
"useHubGateway": "False"
}
],
"configurationGroups": [
{
"description": "Network Group for Production virtual networks",
"id": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/networkGroups/network-group",
"provisioningState": "Succeeded",
"resourceGroup": "resource-group"
}
],
"connectivityTopology": "Mesh",
"deleteExistingPeering": "False",
"description": "Production Mesh Connectivity Config Example",
"hubs": [],
"id": "/subscriptions/<subscriptionID>/resourceGroups/resource-group/providers/Microsoft.Network/networkManagers/network-manager/connectivityConfigurations/connectivityconfig",
"isGlobal": "False",
"provisioningState": "Succeeded",
"resourceGroup": "resource-group"
}
]
}
清除資源
如果您不再需要 Azure 虛擬網絡 Manager 實例和其他資源,請使用 az group delete 刪除資源群組:
az group delete \
--name "resource-group"
下一步
在此步驟中,您將瞭解如何使用安全性系統管理員設定來封鎖網路流量: