다음을 통해 공유


ARM 템플릿을 사용하여 사이트 만들기

Azure 프라이빗 5G Core 프라이빗 모바일 네트워크에는 하나 이상의 사이트가 포함됩니다. 각 사이트는 패킷 코어 인스턴스를 호스팅하는 Azure Stack Edge 디바이스가 포함된 실제 기업 위치(예: Contoso Corporation의 시카고 공장)를 나타냅니다. 이 방법 가이드에서는 ARM(Azure Resource Manager) 템플릿을 사용하여 프라이빗 모바일 네트워크에서 사이트를 만드는 방법을 알아봅니다.

Azure Resource Manager 템플릿은 프로젝트에 대한 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령의 시퀀스를 작성하지 않고 의도하는 배포를 설명합니다.

환경이 필수 구성 요소를 충족하고 ARM 템플릿 사용에 익숙한 경우 Azure에 배포 단추를 선택합니다. 그러면 Azure Portal에서 템플릿이 열립니다.

Resource Manager 템플릿을 Azure에 배포하는 단추

필수 조건

  • Azure Stack Edge Pro 디바이스의 포트 5 및 6에 해당하는 인터페이스의 이름을 식별합니다.
  • Azure Stack Edge Pro 디바이스의 포트 3 및 4에 해당하는 인터페이스의 이름을 식별합니다.
  • 사이트에 필요한 정보 수집에서 모든 정보를 수집합니다.
  • Private Mobile Network를 만드는 데 사용한 활성 구독에 대한 액세스 권한이 있는 계정을 사용하여 Azure Portal에 로그인할 수 있는지 확인합니다. 이 계정에는 구독 범위에서 기본 제공 기여자 또는 소유자 역할이 있어야 합니다.
  • 새 사이트에서 4G UE(사용자 장비)를 지원하는 경우 SST(조각/서비스 유형) 값이 1이고 빈 SD(조각 구분 기호)가 있는 네트워크 조각을 생성해야 합니다.

템플릿 검토

이 방법 가이드에 사용된 템플릿은 Azure 빠른 시작 템플릿에서 가져온 것입니다.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.28.1.47646",
      "templateHash": "6727180129563671192"
    }
  },
  "parameters": {
    "location": {
      "type": "string",
      "metadata": {
        "description": "Region where the mobile network will be deployed (must match the resource group region)"
      }
    },
    "existingMobileNetworkName": {
      "type": "string",
      "metadata": {
        "description": "Name of the mobile network to which you are adding a site"
      }
    },
    "existingDataNetworkName": {
      "type": "string",
      "metadata": {
        "description": "Name of the existing data network to which the mobile network connects"
      }
    },
    "siteName": {
      "type": "string",
      "defaultValue": "myExampleSite",
      "metadata": {
        "description": "The name for the site"
      }
    },
    "azureStackEdgeDevice": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The resource ID of the Azure Stack Edge device to deploy to"
      }
    },
    "controlPlaneAccessInterfaceName": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The virtual network name on port 5 on your Azure Stack Edge Pro device corresponding to the control plane interface on the access network. For 5G, this interface is the N2 interface; for 4G, it's the S1-MME interface."
      }
    },
    "controlPlaneAccessIpAddress": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The IP address of the control plane interface on the access network. In 5G networks this is called the N2 interface whereas in 4G networks this is called the S1-MME interface."
      }
    },
    "userPlaneAccessInterfaceName": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The virtual network name on port 5 on your Azure Stack Edge Pro device corresponding to the user plane interface on the access network. For 5G, this interface is the N3 interface; for 4G, it's the S1-U interface."
      }
    },
    "userPlaneDataInterfaceName": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The virtual network name on port 6 on your Azure Stack Edge Pro device corresponding to the user plane interface on the data network. For 5G, this interface is the N6 interface; for 4G, it's the SGi interface."
      }
    },
    "userEquipmentAddressPoolPrefix": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The network address of the subnet from which dynamic IP addresses must be allocated to UEs, given in CIDR notation. Optional if userEquipmentStaticAddressPoolPrefix is specified. If both are specified, they must be the same size and not overlap."
      }
    },
    "userEquipmentStaticAddressPoolPrefix": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The network address of the subnet from which static IP addresses must be allocated to UEs, given in CIDR notation. Optional if userEquipmentAddressPoolPrefix is specified. If both are specified, they must be the same size and not overlap."
      }
    },
    "coreNetworkTechnology": {
      "type": "string",
      "defaultValue": "5GC",
      "allowedValues": [
        "EPC",
        "5GC",
        "EPC + 5GC"
      ],
      "metadata": {
        "description": "The mode in which the packet core instance will run"
      }
    },
    "naptEnabled": {
      "type": "string",
      "allowedValues": [
        "Enabled",
        "Disabled"
      ],
      "metadata": {
        "description": "Whether or not Network Address and Port Translation (NAPT) should be enabled for this data network"
      }
    },
    "dnsAddresses": {
      "type": "array",
      "metadata": {
        "description": "A list of DNS servers that UEs on this data network will use"
      }
    },
    "customLocation": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The resource ID of the custom location that targets the Azure Kubernetes Service on Azure Stack HCI (AKS-HCI) cluster on the Azure Stack Edge Pro device in the site. If this parameter is not specified, the packet core instance will be created but will not be deployed to an ASE. [Collect custom location information](https://docs.microsoft.com/en-gb/azure/private-5g-core/collect-required-information-for-a-site#collect-custom-location-information) explains which value to specify here."
      }
    },
    "desiredState": {
      "type": "string",
      "defaultValue": "Uninstalled",
      "metadata": {
        "description": "The desired installation state"
      }
    },
    "ueMtu": {
      "type": "int",
      "defaultValue": 1440,
      "metadata": {
        "description": "The MTU (in bytes) signaled to the UE. The same MTU is set on the user plane data links for all data networks. The MTU set on the user plane access link is calculated to be 60 bytes greater than this value to allow for GTP encapsulation. "
      }
    },
    "allowSupportTelemetryAccess": {
      "type": "bool",
      "defaultValue": true,
      "metadata": {
        "description": "Provide consent for Microsoft to access non-PII telemetry information from the packet core."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks",
      "apiVersion": "2024-04-01",
      "name": "[format('{0}/{1}/{2}', parameters('siteName'), parameters('siteName'), parameters('existingDataNetworkName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "userPlaneDataInterface": {
          "name": "[parameters('userPlaneDataInterfaceName')]"
        },
        "userEquipmentAddressPoolPrefix": "[if(empty(parameters('userEquipmentAddressPoolPrefix')), null(), createArray(parameters('userEquipmentAddressPoolPrefix')))]",
        "userEquipmentStaticAddressPoolPrefix": "[if(empty(parameters('userEquipmentStaticAddressPoolPrefix')), null(), createArray(parameters('userEquipmentStaticAddressPoolPrefix')))]",
        "naptConfiguration": {
          "enabled": "[parameters('naptEnabled')]"
        },
        "dnsAddresses": "[parameters('dnsAddresses')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes', parameters('siteName'), parameters('siteName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes",
      "apiVersion": "2024-04-01",
      "name": "[format('{0}/{1}', parameters('siteName'), parameters('siteName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "userPlaneAccessInterface": {
          "name": "[parameters('userPlaneAccessInterfaceName')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes', parameters('siteName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/mobileNetworks/sites",
      "apiVersion": "2024-04-01",
      "name": "[format('{0}/{1}', parameters('existingMobileNetworkName'), parameters('siteName'))]",
      "location": "[parameters('location')]"
    },
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes",
      "apiVersion": "2024-04-01",
      "name": "[parameters('siteName')]",
      "location": "[parameters('location')]",
      "properties": {
        "sites": [
          {
            "id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/sites', parameters('existingMobileNetworkName'), parameters('siteName'))]"
          }
        ],
        "sku": "G0",
        "localDiagnosticsAccess": {
          "authenticationType": "Password"
        },
        "coreNetworkTechnology": "[parameters('coreNetworkTechnology')]",
        "platform": {
          "type": "AKS-HCI",
          "customLocation": "[if(empty(parameters('customLocation')), null(), createObject('id', parameters('customLocation')))]",
          "azureStackEdgeDevice": {
            "id": "[parameters('azureStackEdgeDevice')]"
          }
        },
        "controlPlaneAccessInterface": {
          "ipv4Address": "[parameters('controlPlaneAccessIpAddress')]",
          "name": "[parameters('controlPlaneAccessInterfaceName')]"
        },
        "installation": {
          "desiredState": "[parameters('desiredState')]"
        },
        "ueMtu": "[parameters('ueMtu')]",
        "userConsent": {
          "allowSupportTelemetryAccess": "[parameters('allowSupportTelemetryAccess')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/mobileNetworks/sites', parameters('existingMobileNetworkName'), parameters('siteName'))]"
      ]
    }
  ]
}

템플릿에는 다음과 같은 4개의 Azure 리소스가 정의되어 있습니다.

템플릿 배포

  1. 다음 링크를 선택하여 Azure에 로그인하고 템플릿을 엽니다.

    Resource Manager 템플릿을 Azure에 배포하는 단추.

  1. 필수 조건에서 검색한 정보를 사용하여 다음 값을 선택하거나 입력합니다.

    필드
    구독 프라이빗 모바일 네트워크를 만드는 데 사용한 Azure 구독을 선택합니다.
    리소스 그룹 프라이빗 모바일 네트워크를 나타내는 모바일 네트워크 리소스가 포함된 리소스 그룹을 선택합니다.
    지역 프라이빗 모바일 네트워크를 배포한 지역을 선택합니다.
    위치 프라이빗 모바일 네트워크를 배포한 지역의 코드 이름을 입력합니다.
    기존 모바일 네트워크 이름 프라이빗 모바일 네트워크를 나타내는 모바일 네트워크 리소스의 이름을 입력합니다.
    기존 데이터 네트워크 이름 데이터 네트워크의 이름을 입력합니다. 이 값은 데이터 네트워크를 만들 때 사용한 이름과 일치해야 합니다.
    사이트 이름 사이트의 이름을 입력합니다.
    Azure Stack Edge 디바이스 사이트에 Azure Stack Edge 리소스의 리소스 ID를 입력합니다.
    컨트롤 플레인 액세스 인터페이스 이름 액세스 네트워크의 컨트롤 플레인 인터페이스에 해당하는 Azure Stack Edge Pro GPU 디바이스의 포트 5에 있는 가상 네트워크 이름을 입력합니다. 5G의 경우 이 인터페이스는 N2 인터페이스이고, 4G의 경우 S1-MME 인터페이스이고, 결합된 4G와 5G의 경우 N2/S1-MME 인터페이스입니다.
    컨트롤 플레인 액세스 IP 주소 액세스 네트워크의 컨트롤 플레인 인터페이스에 대한 IP 주소를 입력합니다.
    사용자 평면 액세스 인터페이스 이름 액세스 네트워크의 사용자 평면 인터페이스에 해당하는 Azure Stack Edge Pro GPU 디바이스의 포트 5에 가상 네트워크 이름을 입력합니다. 5G의 경우 이 인터페이스는 N3 인터페이스이고, 4G의 경우 S1-U 인터페이스이고, 결합된 4G와 5G의 경우 N3/S1-U 인터페이스입니다.
    사용자 평면 데이터 인터페이스 이름 데이터 네트워크의 사용자 평면 인터페이스에 해당하는 Azure Stack Edge Pro GPU 디바이스의 포트 6에 가상 네트워크 이름을 입력합니다. 5G의 경우 이 인터페이스는 N6 인터페이스이고, 4G의 경우 SGi 인터페이스이고, 결합된 4G와 5G의 경우 N6/SGi 인터페이스입니다.
    사용자 장비 주소 풀 접두사 CIDR 표기법으로 동적 IP 주소를 UE에 할당해야 하는 서브넷의 네트워크 주소를 입력합니다. 동적 IP 주소 할당을 지원하지 않으려면 생략할 수 있습니다.
    사용자 장비 정적 주소 풀 접두사 CIDR 표기법으로 동적 IP 주소를 UE에 할당해야 하는 서브넷의 네트워크 주소를 입력합니다. 고정 IP 주소 할당을 지원하지 않으려면 생략할 수 있습니다.
    핵심 네트워크 기술 5G의 경우 5GC, 4G의 경우 EPC, 4G와 5G가 결합된 경우 EPC + 5GC를 입력합니다.
    Napt 사용 데이터 네트워크에 대해 NAPT(네트워크 주소 및 포트 변환)를 사용하도록 설정해야 하는지 여부에 따라 이 필드를 설정합니다.
    Dns 주소 DNS 서버 주소를 입력합니다. DNS 확인을 수행하기 위해 UE가 필요하지 않은 경우 또는 네트워크의 모든 UE가 로컬로 구성된 자체 DNS 서버를 사용하는 경우에만 이를 생략해야 합니다.
    사용자 지정 위치 사이트의 Azure Stack Edge Pro 디바이스에서 AKS-HCI(Azure Stack HCI) 클러스터의 Azure Kubernetes Service를 대상으로 하는 사용자 지정 위치의 리소스 ID를 입력합니다.
  1. 필수 조건에서 검색한 정보를 사용하여 다음 값을 선택하거나 입력합니다.

    필드
    구독 프라이빗 모바일 네트워크를 만드는 데 사용한 Azure 구독을 선택합니다.
    리소스 그룹 프라이빗 모바일 네트워크를 나타내는 모바일 네트워크 리소스가 포함된 리소스 그룹을 선택합니다.
    지역 프라이빗 모바일 네트워크를 배포한 지역을 선택합니다.
    위치 프라이빗 모바일 네트워크를 배포한 지역의 코드 이름을 입력합니다.
    기존 모바일 네트워크 이름 프라이빗 모바일 네트워크를 나타내는 모바일 네트워크 리소스의 이름을 입력합니다.
    기존 데이터 네트워크 이름 데이터 네트워크의 이름을 입력합니다. 이 값은 데이터 네트워크를 만들 때 사용한 이름과 일치해야 합니다.
    사이트 이름 사이트의 이름을 입력합니다.
    Azure Stack Edge 디바이스 사이트에 Azure Stack Edge 리소스의 리소스 ID를 입력합니다.
    컨트롤 플레인 액세스 인터페이스 이름 액세스 네트워크의 컨트롤 플레인 인터페이스에 해당하는 Azure Stack Edge Pro 2 디바이스의 포트 3에 있는 가상 네트워크 이름을 입력합니다. 5G의 경우 이 인터페이스는 N2 인터페이스이고, 4G의 경우 S1-MME 인터페이스이고, 결합된 4G와 5G의 경우 N2/S1-MME 인터페이스입니다.
    컨트롤 플레인 액세스 IP 주소 액세스 네트워크의 컨트롤 플레인 인터페이스에 대한 IP 주소를 입력합니다.
    사용자 평면 액세스 인터페이스 이름 액세스 네트워크의 사용자 평면 인터페이스에 해당하는 Azure Stack Edge Pro 2 디바이스의 포트 3에 가상 네트워크 이름을 입력합니다. 5G의 경우 이 인터페이스는 N3 인터페이스이고, 4G의 경우 S1-U 인터페이스이고, 결합된 4G와 5G의 경우 N3/S1-U 인터페이스입니다.
    사용자 평면 데이터 인터페이스 이름 데이터 네트워크의 사용자 평면 인터페이스에 해당하는 Azure Stack Edge Pro 2 디바이스의 포트 4에 가상 네트워크 이름을 입력합니다. 5G의 경우 이 인터페이스는 N6 인터페이스이고, 4G의 경우 SGi 인터페이스이고, 결합된 4G와 5G의 경우 N6/SGi 인터페이스입니다.
    사용자 장비 주소 풀 접두사 CIDR 표기법으로 동적 IP 주소를 UE에 할당해야 하는 서브넷의 네트워크 주소를 입력합니다. 동적 IP 주소 할당을 지원하지 않으려면 생략할 수 있습니다.
    사용자 장비 정적 주소 풀 접두사 CIDR 표기법으로 동적 IP 주소를 UE에 할당해야 하는 서브넷의 네트워크 주소를 입력합니다. 고정 IP 주소 할당을 지원하지 않으려면 생략할 수 있습니다.
    핵심 네트워크 기술 5G의 경우 5GC, 4G의 경우 EPC, 4G와 5G가 결합된 경우 EPC + 5GC를 입력합니다.
    Napt 사용 데이터 네트워크에 대해 NAPT(네트워크 주소 및 포트 변환)를 사용하도록 설정해야 하는지 여부에 따라 이 필드를 설정합니다.
    Dns 주소 DNS 서버 주소를 입력합니다. DNS 확인을 수행하기 위해 UE가 필요하지 않은 경우 또는 네트워크의 모든 UE가 로컬로 구성된 자체 DNS 서버를 사용하는 경우에만 이를 생략해야 합니다.
    사용자 지정 위치 사이트의 Azure Stack Edge Pro 디바이스에서 AKS-HCI(Azure Stack HCI) 클러스터의 Azure Kubernetes Service를 대상으로 하는 사용자 지정 위치의 리소스 ID를 입력합니다.
  1. 검토 + 만들기를 선택합니다.

  2. Azure는 이제 입력한 구성 값의 유효성을 검사합니다. 값이 유효성 검사를 통과했음을 나타내는 메시지가 표시되어야 합니다.

    유효성 검사에 실패하면 오류 메시지가 표시되고 잘못된 구성이 포함된 구성 탭에 플래그가 지정됩니다. 검토 + 만들기 탭으로 돌아가기 전에 신고된 탭을 선택하고 오류 메시지를 사용하여 잘못된 구성을 수정합니다.

  3. 구성의 유효성이 검사되면 만들기를 선택하여 사이트를 만들 수 있습니다. 사이트가 만들어지면 Azure Portal에 확인 화면이 표시됩니다.

배포된 리소스 검토

  1. 확인 화면에서 리소스 그룹으로 이동을 선택합니다.

    ARM 템플릿의 배포 확인을 보여 주는 Azure Portal의 스크린샷.

  2. 리소스 그룹에 다음과 같은 새 리소스가 포함되어 있음을 확인합니다.

    • 사이트 전체를 나타내는 모바일 네트워크 사이트 리소스입니다.
    • 사이트에서 패킷 코어 인스턴스의 컨트롤 플레인 함수를 나타내는 패킷 코어 컨트롤 플레인 리소스입니다.
    • 사이트에 있는 패킷 코어 인스턴스의 데이터 평면 함수를 나타내는 패킷 코어 데이터 평면 리소스입니다.
    • 데이터 네트워크의 사이트 보기를 나타내는 연결된 데이터 네트워크 리소스입니다.

    사이트 및 관련 리소스가 포함된 리소스 그룹을 보여 주는 Azure Portal의 스크린샷.

다음 단계

로컬 모니터링 액세스를 위해 Microsoft Entra ID를 설정하기로 결정한 경우 사이트에서 로컬 액세스 구성 수정로컬 모니터링 도구용 Microsoft Entra ID 사용 단계를 따릅니다.

아직 그렇게 하지 않았다면 이제 프라이빗 모바일 네트워크에 대한 정책 제어 구성을 설계해야 합니다. 이를 통해 패킷 코어 인스턴스가 QoS(서비스 품질) 특성을 트래픽에 적용하는 방법을 사용자 지정할 수 있습니다. 특정 흐름을 차단하거나 제한할 수도 있습니다. 프라이빗 모바일 네트워크에 대한 정책 제어 구성 디자인에 대한 자세한 내용은 정책 제어를 참조하세요.