使用 ARM 範本建立網站

Azure Private 5G Core 私人行動網路包含一或多個 網站。 每個網站都代表實體企業位置 (例如 Contoso Corporation 的芝加哥工廠),包含裝載封包核心執行個體的 Azure Stack Edge 裝置。 在本操作指南中,您將了解在私人行動網路中如何使用 Azure Resource Manager 範本 (ARM 範本) 建立網站。

Resource Manager 範本是 JavaScript 物件標記法 (JSON) 檔案,可定義專案的基礎結構和組態。 範本會使用宣告式語法。 在宣告式語法中,您可以描述預期的部署,而不需要撰寫程式設計命令順序來建立部署。

如果您的環境符合必要條件,而且您很熟悉 ARM 範本,請選取 [部署至 Azure] 按鈕。 範本會在 Azure 入口網站中開啟。

部署至 Azure。

必要條件

  • 為您的新網站執行完成部署私人行動網路的必要工作中的所有步驟。
  • 識別對應至 Azure Stack Edge Pro 裝置上端口 5 和 6 的介面名稱。
  • 收集收集網站所需資訊中的所有資訊。
  • 確保您能夠使用可存取您用來建立私人行動網路之作用中訂閱的帳戶,來登入 Azure 入口網站。 此帳戶必須具有訂用帳戶範圍的內建參與者或擁有者角色。
  • 如果新網站將支援 4G 使用者設備 (UES) ,您必須建立具有配量/服務類型的 網路配量 , (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.13.1.58284",
      "templateHash": "14694085591364226154"
    }
  },
  "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"
      ],
      "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."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks",
      "apiVersion": "2022-11-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": "2022-11-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": "2022-11-01",
      "name": "[format('{0}/{1}', parameters('existingMobileNetworkName'), parameters('siteName'))]",
      "location": "[parameters('location')]"
    },
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes",
      "apiVersion": "2022-11-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')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/mobileNetworks/sites', parameters('existingMobileNetworkName'), parameters('siteName'))]"
      ]
    }
  ]
}

範本中定義了四個 Azure 資源。

部署範本

  1. 選取以下連結來登入 Azure 並開啟範本。

    部署至 Azure。

  2. 使用您在必要條件中擷取的資訊,選取或輸入下列值。

    欄位
    訂用帳戶 選取您用來建立私人行動網路的 Azure 訂閱。
    資源群組 選取包含代表私人行動網路之行動網路資源的資源群組。
    區域 選取您部署專用行動網路的區域。
    位置 輸入您部署專用行動網路之區域的 代碼名稱 。 針對美國東部區域,這是 eastus;針對西歐,這是 westeurope
    現有行動網路名稱 輸入代表私人行動網路的行動網路資源名稱。
    現有資料網路名稱 輸入資料網路的名稱。 此值必須符合您在建立資料網路時所使用的名稱。
    網站名稱 輸入網站的名稱。
    Azure Stack Edge 裝置 輸入網站中 Azure Stack Edge 資源的資源識別碼。
    控制平面存取介面名稱 在 Azure Stack Edge Pro 裝置的連接埠 5 上輸入虛擬網路名稱,其對應至存取網路上的控制平面介面。 如果是 5G,此介面是 N2 介面;如果是 4G,則是 S1-MME 介面。
    控制平面存取 IP 位址 在存取網路上輸入控制平面介面的 IP 位址。
    使用者平面存取介面名稱 在 Azure Stack Edge Pro 裝置的連接埠 5 上輸入虛擬網路名稱,其對應至存取網路上的使用者平面介面。 如果是 5G,此介面是 N3 介面;如果是 4G,則為 S1-U 介面。
    使用者平面資料介面名稱 在 Azure Stack Edge Pro 裝置的連接埠 6 上輸入虛擬網路名稱,其對應至資料網路上的控制平面介面。 如果是 5G,此介面是 N6 介面;如果是 4G,則為 SGi 介面。
    使用者設備位址集區前置詞 輸入子網的網路位址,動態 IP 位址必須配置給 CIDR 標記法中的 UE。 如果您不想支援動態 IP 位址配置,可以省略此步驟。
    使用者設備靜態位址集區前置詞 輸入子網的網路位址,靜態 IP 位址必須配置給 CIDR 標記法中的 UE。 如果您不想支援靜態 IP 位址配置,可以省略此步驟。
    核心網路技術 如果是 5G,請輸入 5GC,或如果是 4G,請輸入 EPC。
    已啟用 NAPT 根據是否應針對資料網路啟用網路位址和連接埠轉譯 (NAPT) 來設定此欄位。
    DNS 位址 輸入 DNS 伺服器位址。 只有在您不需要 UE 執行 DNS 解析,或者如果網路中的所有 UE 都會使用自己的本機設定 DNS 伺服器,才可以省略此步驟。
    自訂位置 輸入自訂位置資源識別碼,該位置的目標為網站中 Azure Stack Edge Pro 裝置上之 Azure Stack HCI 上的 Azure Kubernetes Service (AKS-HCI) 叢集。
  3. 選取 [檢閱 + 建立]。

  4. 現在 Azure 會驗證您輸入的設定值。 您應該會看到一則訊息,指出您的值已通過驗證。

    如果驗證失敗,您會看到錯誤訊息,而系統將包含無效設定的 [設定] 索引標籤標示出來。 選取標示的索引標籤,並使用錯誤訊息來更正無效設定,然後再返回 [檢閱 + 建立] 索引標籤。

  5. 驗證設定之後,您可以選取 [建立] 以建立網站。 建立網站時,Azure 入口網站會顯示確認畫面。

檢閱已部署的資源

  1. 在確認畫面上,選取 [移至資源群組]。

    顯示 ARM 範本部署確認的 Azure 入口網站螢幕擷取畫面。

  2. 確認資源群組包含下列新資源:

    • 代表整體網站的行動網路網站資源。
    • [封包核心控制平面] 資源,代表網站中封包核心執行個體的控制平面功能。
    • [封包核心資料平面] 資源,代表網站中封包核心執行個體的資料平面功能。
    • [附加資料網路] 資源,代表資料網路的網站檢視。

    顯示包含網站及其相關資源的資源群組之 Azure 入口網站螢幕擷取畫面。

下一步

如果您決定設定 Azure AD 以進行本機監視存取,請遵循 修改月臺中的本機存取 設定和 啟用 Azure Active Directory (Azure AD) 中的步驟進行本機監視工具

如果您尚未設計私人行動網路的原則控制設定,現在請開始進行。 這可讓您自訂封包核心執行個體如何對流量套用服務品質 (QoS) 特性。 您也可以封鎖或限制特定流程。 若要深入瞭解如何設計私人行動網路的原則控制設定,請參閱 原則控制