Configurare un servizio e un criterio SIM usando un modello di Resource Manager

I servizi e i criteri SIM sono i componenti chiave del controllo dei criteri personalizzabile di Azure Private 5G Core, che consente di fornire una gestione flessibile del traffico. È possibile determinare esattamente in che modo l'istanza di base del pacchetto applica le caratteristiche di qualità del servizio (QoS) ai flussi di dati del servizio (SDFs) per soddisfare le esigenze della distribuzione. Per altre informazioni, vedere Controllo dei criteri. In questa guida pratica si apprenderà come usare un modello di Azure Resource Manager per creare un semplice servizio e un criterio SIM.

Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Il modello utilizza la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione per creare la distribuzione.

Se l'ambiente soddisfa i prerequisiti e si ha familiarità con l'uso dei modelli di Resource Manager, selezionare il pulsante Distribuisci in Azure. Il modello verrà aperto nel portale di Azure.

Button to deploy the Resource Manager template to Azure.

Prerequisiti

  • Assicurarsi di poter accedere al portale di Azure usando un account con accesso alla sottoscrizione attiva usata per creare la rete mobile privata. Questo account deve avere il ruolo predefinito Collaboratore o Proprietario nell'ambito della sottoscrizione.

  • Identificare il nome della risorsa rete mobile corrispondente alla rete mobile privata e al gruppo di risorse che lo contiene.

  • Identificare l'area di Azure in cui è stata distribuita la rete mobile privata.

  • Identificare il nome della sezione di rete a cui assegnare i criteri sim.

  • Identificare il nome della rete dati a cui si desidera assegnare i nuovi criteri.

  • Il modello di Resource Manager viene popolato con valori per configurare un servizio predefinito e criteri SIM che consentono tutto il traffico in entrambe le direzioni.

    Se vuoi creare un servizio e un criterio SIM per un altro scopo, usa le informazioni in Raccogliere le informazioni necessarie per un servizio e Raccogliere le informazioni necessarie per un criterio SIM per progettare un servizio e criteri SIM per soddisfare i tuoi requisiti. Questi nuovi valori verranno immessi durante la distribuzione del modello di Resource Manager.

Rivedere il modello

Il modello usato in questa guida pratica proviene dai modelli di avvio rapido di Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.22.6.54827",
      "templateHash": "7793736700363560682"
    }
  },
  "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": "2023-09-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": "2023-09-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'))]"
      ]
    }
  ]
}

Nel modello vengono definite due risorse di Azure.

Distribuire il modello

  1. Selezionare il collegamento seguente per accedere ad Azure e aprire un modello.

    Button to deploy the Resource Manager template to Azure.

  2. Selezionare o immettere i valori seguenti, usando le informazioni recuperate in Prerequisiti.

    • Sottoscrizione: selezionare la sottoscrizione di Azure usata per creare la rete mobile privata.
    • Gruppo di risorse: selezionare il gruppo di risorse contenente la risorsa Rete mobile che rappresenta la rete mobile privata.
    • Area: selezionare l'area in cui è stata distribuita la rete mobile privata.
    • Località: immettere il nome del codice dell'area in cui è stata distribuita la rete mobile privata.
    • Nome rete mobile esistente: immettere il nome della risorsa rete mobile che rappresenta la rete mobile privata.
    • Nome sezione esistente: immettere il nome della risorsa Slice che rappresenta la sezione di rete.
    • Nome rete dati esistente: immettere il nome della rete dati. Questo valore deve corrispondere al nome usato durante la creazione della rete dati.
  3. Se si desidera usare il servizio predefinito e i criteri SIM, lasciare invariati i campi rimanenti. In caso contrario, compilare i campi rimanenti in modo che corrispondano al servizio e ai criteri SIM da configurare, usando le informazioni raccolte da Raccogliere le informazioni necessarie per un servizio e Raccogliere le informazioni necessarie per un criterio SIM.

  4. Selezionare Rivedi e crea.

  5. Azure ora convaliderà i valori di configurazione immessi. Verrà visualizzato un messaggio che indica che i valori hanno superato la convalida.

    Se la convalida non riesce, verrà visualizzato un messaggio di errore e verranno contrassegnate le schede Configurazione contenenti la configurazione non valida. Selezionare le schede contrassegnate e usare i messaggi di errore per correggere la configurazione non valida prima di tornare alla scheda Rivedi e crea .

  6. Dopo aver convalidato la configurazione, è possibile selezionare Crea per creare il servizio e i criteri SIM. Il portale di Azure visualizzerà una schermata di conferma al termine della distribuzione.

Esaminare le risorse distribuite

  1. Nella schermata di conferma selezionare Vai al gruppo di risorse.

    Screenshot of the Azure portal showing a deployment confirmation for the ARM template.

  2. Verificare che il servizio e i criteri SIM siano stati creati nel gruppo di risorse.

    Screenshot of the Azure portal showing a resource group containing newly provisioned SIMs.

Passaggi successivi

È ora possibile assegnare i criteri SIM ai SIM per inserirli nel servizio.