Configurer un service et une stratégie SIM à l’aide d’un modèle ARM

Les services et stratégies SIM sont les principaux composants du contrôle de stratégie personnalisable d'Azure Private 5G Core, ce qui vous permet d’assurer une gestion flexible du trafic. Vous pouvez déterminer avec précision de quelle façon votre instance Packet Core applique des caractéristiques de qualité de service (QoS) aux flux de données de service (les SDF) pour répondre aux besoins de votre déploiement. Pour plus d’informations, consultez Contrôle de stratégie. Dans ce guide pratique, vous allez apprendre à utiliser un modèle ARM (Azure Resource Manager) pour créer un service simple et une stratégie SIM.

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez le déploiement que vous avez prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Si votre environnement remplit les prérequis et que vous êtes déjà familiarisé avec l’utilisation des modèles ARM, sélectionnez le bouton Déployer sur Azure. Le modèle s’ouvre dans le portail Azure.

Button to deploy the Resource Manager template to Azure.

Prérequis

  • Assurez-vous que vous pouvez vous connecter au portail Azure à l’aide d’un compte ayant accès à l’abonnement actif utilisé pour créer votre réseau mobile privé. Ce compte doit avoir le rôle de Contributeur ou de Propriétaire intégré au niveau de l’étendue de l’abonnement.

  • Identifiez le nom de la ressource de réseau mobile correspondant à votre réseau mobile privé et le groupe de ressources la contenant.

  • Identifiez la région Azure dans laquelle vous avez déployé votre réseau mobile privé.

  • Identifiez la section du réseau à laquelle vous souhaitez affecter la stratégie SIM.

  • Identifiez le nom du réseau de données auquel vous souhaitez affecter la nouvelle stratégie.

  • Le modèle ARM est rempli avec des valeurs pour configurer un service et une stratégie SIM par défaut qui autorisent tout le trafic dans les deux sens.

    Si vous souhaitez créer un service et une stratégie SIM à une autre fin, utilisez les informations dans Collecter les informations nécessaires pour un service et Collecter les informations nécessaires pour une stratégie SIM afin de concevoir un service et une stratégie SIM en fonction de vos besoins. Vous allez entrer ces nouvelles valeurs dans le cadre du déploiement du modèle ARM.

Vérifier le modèle

Le modèle utilisé dans ce guide pratique provient des Modèles de démarrage rapide 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'))]"
      ]
    }
  ]
}

Deux ressources Azure sont définies dans le modèle.

Déployer le modèle

  1. Sélectionnez le lien suivant pour vous connecter à Azure et ouvrir un modèle.

    Button to deploy the Resource Manager template to Azure.

  2. Sélectionnez ou entrez les valeurs suivantes à l’aide des informations que vous avez récupérées dans Prérequis.

    • Abonnement : sélectionnez l’abonnement Azure que vous avez utilisé pour créer votre réseau mobile privé.
    • Groupe de ressources : sélectionnez le groupe de ressources contenant la ressource de réseau mobile représentant votre réseau mobile privé.
    • Région : sélectionnez la région dans laquelle vous avez déployé le réseau mobile privé.
    • Emplacement : entrez le nom de code de la région dans laquelle vous avez déployé le réseau mobile privé.
    • Nom du réseau mobile existant : entrez le nom de la ressource de réseau mobile représentant votre réseau mobile privé.
    • Nom de section existante : entrez le nom de la ressource Section représentant votre section du réseau.
    • Nom du réseau de données existant : Indiquez le nom du réseau de données. Cette valeur doit correspondre au nom que vous avez utilisé lors de la création du réseau de données.
  3. Si vous souhaitez utiliser le service et la stratégie SIM par défaut, laissez les champs restants inchangés. Sinon, renseignez les champs restants pour qu’ils correspondent au service et à la stratégie SIM que vous souhaitez configurer, en utilisant les informations que vous avez collectées dans Collecter les informations nécessaires pour un service et Collecter les informations nécessaires pour une stratégie SIM.

  4. Sélectionnez Revoir + créer.

  5. Azure va maintenant valider les valeurs de configuration que vous avez entrées. Vous devriez voir un message indiquant que vos valeurs ont été validées.

    Si la validation échoue, un message d’erreur s’affiche et les onglets Configuration contenant la configuration non valide sont signalés. Sélectionnez le ou les onglets marqués et utilisez les messages d’erreur pour corriger la configuration non valide avant de revenir à l’onglet Vérifier + créer.

  6. Une fois votre configuration validée, vous pouvez sélectionner Créer pour créer le service et la stratégie SIM. Le portail Azure affiche un écran de confirmation lorsque le déploiement est terminé.

Vérifier les ressources déployées

  1. Dans l’écran de confirmation, sélectionnez Accéder au groupe de ressources.

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

  2. Vérifiez que votre service et votre stratégie SIM ont été créés dans le groupe de ressources.

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

Étapes suivantes

Vous pouvez maintenant affecter la stratégie SIM à vos cartes SIM pour les mettre en service.