Share via


Een service- en SIM-beleid configureren met behulp van een ARM-sjabloon

Services en SIM-beleid zijn de belangrijkste onderdelen van het aanpasbare beleidsbeheer van Azure Private 5G Core, waarmee u flexibele verkeersafhandeling kunt bieden. U kunt precies bepalen hoe uw pakketkernexemplementatie de QoS-kenmerken (Quality of Service) toepast op servicegegevensstromen (SDK's) om te voldoen aan de behoeften van uw implementatie. Zie Beleidsbeheer voor meer informatie. In deze handleiding leert u hoe u een Azure Resource Manager-sjabloon (ARM-sjabloon) gebruikt om een eenvoudige service- en SIM-beleid te maken.

Een Azure Resource Manager-sjabloon is een JSON-bestand (JavaScript Object Notation) dat de infrastructuur en configuratie voor uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. U beschrijft de beoogde implementatie zonder de reeks programmeeropdrachten te schrijven om de implementatie te maken.

Als uw omgeving voldoet aan de vereisten en u benkend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeren naar Azure. De sjabloon wordt in Azure Portal geopend.

Button to deploy the Resource Manager template to Azure.

Vereisten

  • Zorg ervoor dat u zich kunt aanmelden bij Azure Portal met behulp van een account met toegang tot het actieve abonnement dat u hebt gebruikt om uw privé-mobiele netwerk te maken. Dit account moet de ingebouwde rol Inzender of Eigenaar hebben voor het abonnementsbereik.

  • Identificeer de naam van de mobiele netwerkresource die overeenkomt met uw privé-mobiele netwerk en de resourcegroep die deze bevat.

  • Identificeer de Azure-regio waarin u uw privé-mobiele netwerk hebt geïmplementeerd.

  • Identificeer de naam van het netwerksegment waaraan u het SIM-beleid wilt toewijzen.

  • Identificeer de naam van het gegevensnetwerk waaraan u het nieuwe beleid wilt toewijzen.

  • De ARM-sjabloon wordt gevuld met waarden voor het configureren van een standaardservice en SIM-beleid waarmee al het verkeer in beide richtingen wordt toegestaan.

    Als u een service- en SIM-beleid voor een ander doel wilt maken, gebruikt u de informatie in Verzamelen van de vereiste gegevens voor een service en verzamelt u de vereiste informatie voor een SIM-beleid om een service en SIM-beleid te ontwerpen om aan uw vereisten te voldoen. U voert deze nieuwe waarden in als onderdeel van het implementeren van de ARM-sjabloon.

De sjabloon controleren

De sjabloon die in deze handleiding wordt gebruikt, is afkomstig van Azure-quickstartsjablonen.

{
  "$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'))]"
      ]
    }
  ]
}

Er worden twee Azure-resources gedefinieerd in de sjabloon.

De sjabloon implementeren

  1. Selecteer de volgende koppeling om u aan te melden bij Azure en open een sjabloon.

    Button to deploy the Resource Manager template to Azure.

  2. Selecteer of voer de volgende waarden in, met behulp van de informatie die u hebt opgehaald in Vereisten.

    • Abonnement: selecteer het Azure-abonnement dat u hebt gebruikt om uw privé-mobiele netwerk te maken.
    • Resourcegroep: selecteer de resourcegroep met de resource Mobile Network die uw privé-mobiele netwerk vertegenwoordigt.
    • Regio: selecteer de regio waarin u het mobiele privénetwerk hebt geïmplementeerd.
    • Locatie: voer de codenaam in van de regio waarin u het privé-mobiele netwerk hebt geïmplementeerd.
    • Bestaande naam van mobiel netwerk: voer de naam in van de resource Mobile Network die uw privé-mobiele netwerk vertegenwoordigt.
    • Bestaande segmentnaam: voer de naam in van de segmentresource die uw netwerksegment vertegenwoordigt.
    • Bestaande gegevensnetwerknaam: voer de naam van het gegevensnetwerk in. Deze waarde moet overeenkomen met de naam die u hebt gebruikt bij het maken van het gegevensnetwerk.
  3. Als u het standaardservice- en SIM-beleid wilt gebruiken, laat u de resterende velden ongewijzigd. Vul anders de resterende velden in die overeenkomen met het service- en SIM-beleid dat u wilt configureren, met behulp van de gegevens die u hebt verzameld bij Het verzamelen van de vereiste gegevens voor een service en verzamel de vereiste informatie voor een SIM-beleid.

  4. Selecteer Controleren + maken.

  5. Azure valideert nu de configuratiewaarden die u hebt ingevoerd. Er wordt een bericht weergegeven waarin wordt aangegeven dat uw waarden zijn gevalideerd.

    Als de validatie mislukt, ziet u een foutbericht en worden de tabbladen Configuratie met de ongeldige configuratie gemarkeerd. Selecteer de gemarkeerde tabbladen en gebruik de foutberichten om ongeldige configuratie te corrigeren voordat u terugkeert naar het tabblad Controleren en maken .

  6. Zodra uw configuratie is gevalideerd, kunt u Maken selecteren om het service- en SIM-beleid te maken. In Azure Portal wordt een bevestigingsscherm weergegeven wanneer de implementatie is voltooid.

Geïmplementeerde resources bekijken

  1. Selecteer In het bevestigingsscherm de optie Ga naar de resourcegroep.

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

  2. Controleer of uw service- en SIM-beleid zijn gemaakt in de resourcegroep.

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

Volgende stappen

U kunt nu het SIM-beleid toewijzen aan uw SIM's om ze in gebruik te nemen.