使用 ARM 範本設定服務和 SIM 原則
服務和 SIM 卡原則是 Azure Private 5G Core 可自定義原則控制的主要元件,可讓您提供彈性的流量處理。 您可以確切判斷封包核心實例如何將服務品質 (QoS) 特性套用至服務數據流 (SDF),以符合您的部署需求。 如需詳細資訊,請參閱原則控制。 在本操作指南中,您將瞭解如何使用 Azure Resource Manager 範本 (ARM 範本) 來建立簡單的服務和 SIM 卡原則。
Azure Resource Manager 範本是一個 JavaScript 物件標記法 (JSON) 檔案,會定義專案的基礎結構和設定。 範本使用宣告式語法。 您可以描述預期的部署,而不需要撰寫程式設計命令順序來建立部署。
如果您的環境符合必要條件,而且您很熟悉 ARM 範本,請選取 [部署至 Azure] 按鈕。 範本會在 Azure 入口網站中開啟。
必要條件
請確認您可以使用具有您用來建立私人行動網路的作用中訂閱存取權帳戶,來登入 Azure 入口網站。 此帳戶必須具有訂閱範圍的內建參與者或擁有者角色。
識別對應至私人行動網路及其資源群組的行動網路資源名稱。
識別您已部署私人行動網路的 Azure 區域。
識別您要指派 SIM 卡原則的網路配量名稱。
識別您要指派新原則的數據網路名稱。
ARM 範本會填入值,以設定預設服務和 SIM 原則,以允許雙向的所有流量。
如果您想要建立服務與 SIM 卡原則以供其他用途使用,請使用收集服務所需資訊中的資訊,並收集 SIM 原則所需的資訊,以設計服務與 SIM 原則以符合您的需求。 您會在部署 ARM 範本時輸入這些新值。
檢閱範本
本操作指南中使用的範本來自 Azure 快速入門範本。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.27.1.19265",
"templateHash": "12557640417910300439"
}
},
"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 add a SIM policy to"
}
},
"existingSliceName": {
"type": "string",
"metadata": {
"description": "Name of the existing slice to use for the SIM policy"
}
},
"existingDataNetworkName": {
"type": "string",
"metadata": {
"description": "Name of the existing data network to use for the SIM policy"
}
},
"serviceName": {
"type": "string",
"defaultValue": "Allow_all_traffic",
"metadata": {
"description": "The name of the service"
}
},
"serviceMaximumBitRateUplink": {
"type": "string",
"defaultValue": "2 Gbps",
"metadata": {
"description": "The maximum bit rate (MBR) for uploads across all service data flows that match data flow policy rules configured on the generic service"
}
},
"serviceMaximumBitRateDownlink": {
"type": "string",
"defaultValue": "2 Gbps",
"metadata": {
"description": "The maximum bit rate (MBR) for downloads across all service data flows that match data flow policy rules configured on the generic service"
}
},
"servicePrecedence": {
"type": "int",
"defaultValue": 253,
"minValue": 0,
"maxValue": 255,
"metadata": {
"description": "The precedence value for the service being deployed."
}
},
"dataFlowPolicyRuleName": {
"type": "string",
"defaultValue": "All_traffic",
"metadata": {
"description": "The name of the data flow policy rule that will be created for this service."
}
},
"dataFlowPolicyRulePrecedence": {
"type": "int",
"defaultValue": 253,
"minValue": 0,
"maxValue": 255,
"metadata": {
"description": "The precedence value for the data flow policy rule being created."
}
},
"dataFlowPolicyRuleTrafficControl": {
"type": "string",
"defaultValue": "Enabled",
"allowedValues": [
"Enabled",
"Blocked"
],
"metadata": {
"description": "Whether flows matching this data flow policy rule are permitted or blocked."
}
},
"dataFlowTemplateProtocols": {
"type": "array",
"defaultValue": [
"ip"
],
"metadata": {
"description": "Which protocols match this data flow policy rule. This should be either a list of IANA protocol numbers or the special value \"ip\""
}
},
"dataFlowTemplateName": {
"type": "string",
"defaultValue": "ip_traffic",
"metadata": {
"description": "The name of the data flow template that will be created for this service."
}
},
"dataFlowTemplateDirection": {
"type": "string",
"defaultValue": "Bidirectional",
"allowedValues": [
"Uplink",
"Downlink",
"Bidirectional"
],
"metadata": {
"description": "The direction of the flow to match with this data flow policy rule."
}
},
"dataFlowTemplateRemoteIps": {
"type": "array",
"defaultValue": [
"any"
],
"metadata": {
"description": "The remote IP addresses that UEs will connect to for this flow. This should be either a list of IP addresses or the special value \"any\""
}
},
"simPolicyName": {
"type": "string",
"defaultValue": "Default-policy",
"metadata": {
"description": "The name of the SIM policy"
}
},
"totalBandwidthAllowedUplink": {
"type": "string",
"defaultValue": "2 Gbps",
"metadata": {
"description": "The UE aggregated maximum bit rate (UE-AMBR) for uploads across all non-GBR QoS flows for a particular UE"
}
},
"totalBandwidthAllowedDownlink": {
"type": "string",
"defaultValue": "2 Gbps",
"metadata": {
"description": "The UE aggregated maximum bit rate (UE-AMBR) for downloads across all non-GBR QoS flows for a particular UE"
}
},
"sessionAggregateMaximumBitRateUplink": {
"type": "string",
"defaultValue": "2 Gbps",
"metadata": {
"description": "The session aggregated maximum bit rate (Session-AMBR) for uploads across all non-GBR QoS flows of an individual PDU session involving a particular UE"
}
},
"sessionAggregateMaximumBitRateDownlink": {
"type": "string",
"defaultValue": "2 Gbps",
"metadata": {
"description": "The session aggregated maximum bit rate (Session-AMBR) for downloads across all non-GBR QoS flows of an individual PDU session involving a particular UE"
}
}
},
"resources": [
{
"type": "Microsoft.MobileNetwork/mobileNetworks/services",
"apiVersion": "2024-04-01",
"name": "[format('{0}/{1}', parameters('existingMobileNetworkName'), parameters('serviceName'))]",
"location": "[parameters('location')]",
"properties": {
"servicePrecedence": "[parameters('servicePrecedence')]",
"serviceQosPolicy": {
"maximumBitRate": {
"uplink": "[parameters('serviceMaximumBitRateUplink')]",
"downlink": "[parameters('serviceMaximumBitRateDownlink')]"
}
},
"pccRules": [
{
"ruleName": "[parameters('dataFlowPolicyRuleName')]",
"rulePrecedence": "[parameters('dataFlowPolicyRulePrecedence')]",
"trafficControl": "[parameters('dataFlowPolicyRuleTrafficControl')]",
"serviceDataFlowTemplates": [
{
"templateName": "[parameters('dataFlowTemplateName')]",
"protocol": "[parameters('dataFlowTemplateProtocols')]",
"direction": "[parameters('dataFlowTemplateDirection')]",
"remoteIpList": "[parameters('dataFlowTemplateRemoteIps')]"
}
]
}
]
}
},
{
"type": "Microsoft.MobileNetwork/mobileNetworks/simPolicies",
"apiVersion": "2024-04-01",
"name": "[format('{0}/{1}', parameters('existingMobileNetworkName'), parameters('simPolicyName'))]",
"location": "[parameters('location')]",
"properties": {
"ueAmbr": {
"uplink": "[parameters('totalBandwidthAllowedUplink')]",
"downlink": "[parameters('totalBandwidthAllowedDownlink')]"
},
"defaultSlice": {
"id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/slices', parameters('existingMobileNetworkName'), parameters('existingSliceName'))]"
},
"sliceConfigurations": [
{
"slice": {
"id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/slices', parameters('existingMobileNetworkName'), parameters('existingSliceName'))]"
},
"defaultDataNetwork": {
"id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/dataNetworks', parameters('existingMobileNetworkName'), parameters('existingDataNetworkName'))]"
},
"dataNetworkConfigurations": [
{
"dataNetwork": {
"id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/dataNetworks', parameters('existingMobileNetworkName'), parameters('existingDataNetworkName'))]"
},
"sessionAmbr": {
"uplink": "[parameters('sessionAggregateMaximumBitRateUplink')]",
"downlink": "[parameters('sessionAggregateMaximumBitRateDownlink')]"
},
"allowedServices": [
{
"id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/services', parameters('existingMobileNetworkName'), parameters('serviceName'))]"
}
]
}
]
}
]
},
"dependsOn": [
"[resourceId('Microsoft.MobileNetwork/mobileNetworks/services', parameters('existingMobileNetworkName'), parameters('serviceName'))]"
]
}
]
}
範本中定義了兩個 Azure 資源。
- Microsoft.MobileNetwork/mobileNetworks/services:建立服務。
- Microsoft.MobileNetwork/mobileNetworks/simPolicies:建立 SIM 卡原則。
部署範本
選取以下連結來登入 Azure 並開啟範本。
使用您在必要條件中擷取的資訊,選取或輸入下列值。
- 訂用帳戶:選取您用來建立私人行動網路的 Azure 訂用帳戶。
- 資源群組: 選取包含代表私人行動網路之行動網路資源的資源群組。
- 區域:選取您已部署私人行動網路的區域。
- 位置: 輸入 您已部署私人行動網路之區域的代碼名稱 。
- 現有的行動網路名稱: 輸入代表私人行動網路的行動網路資源名稱。
- 現有的配量名稱: 輸入代表您網路配量的配量資源名稱。
- 現有的數據網路名稱: 輸入數據網路的名稱。 此值必須符合您在建立資料網路時所使用的名稱。
如果您想要使用預設服務和 SIM 卡原則,請將其餘欄位保留不變。 否則,請填寫其餘欄位,以符合您想要設定的服務與 SIM 原則,並使用您從收集服務的必要資訊和收集 SIM 原則的必要資訊所收集的資訊。
選取 [檢閱 + 建立]。
現在 Azure 會驗證您輸入的設定值。 您應該會看到指出您的值已通過驗證的訊息。
如果驗證失敗,您會看到錯誤訊息,而系統將包含無效設定的 [設定] 索引標籤標示出來。 請選取標示的索引標籤,並使用錯誤訊息來更正無效設定,然後再返回 [檢閱 + 建立] 索引標籤。
驗證設定之後,您可以選取 [建立] 來建立服務和 SIM 卡原則。 部署完成時,Azure 入口網站 會顯示確認畫面。
檢閱已部署的資源
在確認畫面上,選取 [移至資源群組]。
確認已在資源群組中建立您的服務和 SIM 原則。
下一步
您現在可以將 SIM 原則指派給 SIM,以將它們帶入服務中。