다음을 통해 공유


빠른 시작: Azure CLI를 사용하여 Azure Virtual Network Manager에서 메시 네트워크 토폴로지 만들기

모든 가상 네트워크 연결을 관리하기 위해 Azure CLI를 사용하여 Azure Virtual Network Manager를 시작합니다.

이 빠른 시작에서는 세 개의 가상 네트워크를 배포하고 Azure Virtual Network Manager를 사용하여 메시 네트워크 토폴로지를 만듭니다. 그런 다음, 연결 구성이 적용되었는지 확인합니다.

Azure 가상 네트워크 관리자를 사용하여 메시 가상 네트워크 토폴로지에 배포된 리소스의 다이어그램.

필수 조건

Azure 계정에 로그인하고 구독을 선택합니다.

구성을 시작하려면, Azure 계정에 로그인합니다. Cloud Shell 사용해 보세요를 사용하는 경우 자동으로 로그인됩니다.

az login

Virtual Network Manager가 배포되는 구독을 선택합니다.

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

Azure CLI용 Virtual Network Manager 확장을 업데이트합니다.

az extension update --name virtual-network-manager

리소스 그룹 만들기

이 작업에서는 az group create를 사용하여 네트워크 관리자 인스턴스를 호스트하는 리소스 그룹을 만듭니다. 이 예제에서는 (미국) 서부 2 위치에 리소스 그룹이라는 리소스 그룹을 만듭니다.

az group create \
    --name "resource-group" \
    --location "westus2"

Virtual Network Manager 인스턴스 만들기

이 작업에서 이 Virtual Network Manager 인스턴스의 범위 및 액세스 유형을 정의합니다. az network manager create를 사용하여 범위를 만듭니다. <subscriptionID> 값을Virtual Network Manager에서 가상 네트워크를 관리하려는 구독으로 바꿉니다. <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를 사용하여 3개의 가상 네트워크를 만듭니다. 이 예제에서는 (미국) 서부 2 위치에 3개의 가상이라는 가상 네트워크를 만듭니다. 각 가상 네트워크에는 동적 멤버 자격에 사용되는 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 Virtual Network Manager를 사용하면 네트워크 그룹에 멤버 자격을 추가하는 데 두 가지 방법을 사용할 수 있습니다. 정적 멤버 자격에는 가상 네트워크를 수동으로 추가하는 작업이 포함되며 동적 멤버 자격에는 Azure Policy를 사용하여 조건에 따라 가상 네트워크를 동적으로 추가하는 작업이 포함됩니다. 메시 구성 멤버 자격에 완료하려는 옵션을 선택합니다.

정적 멤버 자격을 사용하여 az network manager group static-member create를 통해 메시 구성의 가상 네트워크 3개를 네트워크 그룹에 수동으로 추가합니다. <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를 사용하여 메시 네트워크 토폴로지 구성을 만듭니다. <subscriptionID>는 구독 ID로 바꿉니다.

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 Virtual Network Manager 인스턴스 및 기타 리소스가 더 이상 필요하지 않은 경우 az group delete를 사용하여 리소스 그룹을 삭제합니다.

az group delete \
    --name "resource-group"

다음 단계

이 단계에서는 보안 관리자 구성을 사용하여 네트워크 트래픽을 차단하는 방법을 알아봅니다.