Konfigurera en tjänst- och SIM-princip med hjälp av en ARM-mall

Tjänster och SIM-principer är de viktigaste komponenterna i Azure Private 5G Cores anpassningsbara principkontroll, vilket gör att du kan tillhandahålla flexibel trafikhantering. Du kan avgöra exakt hur paketkärninstansen tillämpar tjänstkvalitetsegenskaper (QoS) på tjänstdataflöden (SDF:er) för att uppfylla distributionens behov. Mer information finns i Principkontroll. I den här instruktionsguiden får du lära dig hur du använder en Azure Resource Manager-mall (ARM-mall) för att skapa en enkel tjänst- och SIM-princip.

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.

Om din miljö uppfyller förhandskraven och du är van att använda ARM-mallar väljer du knappen Distribuera till Azure. Mallen öppnas på Azure-portalen.

Button to deploy the Resource Manager template to Azure.

Förutsättningar

  • Se till att du kan logga in på Azure-portalen med ett konto med åtkomst till den aktiva prenumeration som du använde för att skapa ditt privata mobilnätverk. Det här kontot måste ha den inbyggda rollen Deltagare eller Ägare i prenumerationsomfånget.

  • Identifiera namnet på den mobilnätverksresurs som motsvarar ditt privata mobilnätverk och resursgruppen som innehåller den.

  • Identifiera den Azure-region där du distribuerade ditt privata mobilnätverk.

  • Identifiera namnet på den nätverkssektor som du vill tilldela SIM-principen till.

  • Identifiera namnet på det datanätverk som du vill tilldela den nya principen till.

  • ARM-mallen fylls i med värden för att konfigurera en standardtjänst- och SIM-princip som tillåter all trafik i båda riktningarna.

    Om du vill skapa en tjänst- och SIM-princip för ett annat ändamål använder du informationen i Samla in nödvändig information för en tjänst och Samla in nödvändig information för en SIM-princip för att utforma en tjänst- och SIM-princip för att uppfylla dina krav. Du anger dessa nya värden som en del av distributionen av ARM-mallen.

Granska mallen

Mallen som används i den här guiden kommer från Azure-snabbstartsmallar.

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

Två Azure-resurser definieras i mallen.

Distribuera mallen

  1. Välj följande länk för att logga in på Azure och öppna en mall.

    Button to deploy the Resource Manager template to Azure.

  2. Välj eller ange följande värden med hjälp av den information som du hämtade i Krav.

    • Prenumeration: välj den Azure-prenumeration som du använde för att skapa ditt privata mobilnätverk.
    • Resursgrupp: Välj den resursgrupp som innehåller mobilnätverksresursen som representerar ditt privata mobilnätverk.
    • Region: välj den region där du distribuerade det privata mobilnätverket.
    • Plats: Ange kodnamnet för den region där du distribuerade det privata mobilnätverket.
    • Befintligt mobilt nätverksnamn: ange namnet på den mobilnätverksresurs som representerar ditt privata mobilnätverk.
    • Befintligt segmentnamn: Ange namnet på den sektorresurs som representerar nätverkssegmentet.
    • Befintligt datanätverksnamn: ange namnet på datanätverket. Det här värdet måste matcha det namn som du använde när du skapade datanätverket.
  3. Om du vill använda standardtjänsten och SIM-principen lämnar du de återstående fälten oförändrade. Annars fyller du i de återstående fälten för att matcha den tjänst- och SIM-princip som du vill konfigurera, med hjälp av den information som du samlade in från Samla in nödvändig information för en tjänst och Samla in nödvändig information för en SIM-princip.

  4. Välj Granska + skapa.

  5. Azure verifierar nu de konfigurationsvärden som du har angett. Du bör se ett meddelande som anger att dina värden har godkänts.

    Om verifieringen misslyckas visas ett felmeddelande och flikarna Konfiguration som innehåller den ogiltiga konfigurationen flaggas. Välj de flaggade flikarna och använd felmeddelandena för att korrigera ogiltig konfiguration innan du återgår till fliken Granska + skapa .

  6. När konfigurationen har verifierats kan du välja Skapa för att skapa tjänsten och SIM-principen. Azure-portalen visar en bekräftelseskärm när distributionen är klar.

Granska distribuerade resurser

  1. På bekräftelseskärmen väljer du Gå till resursgrupp.

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

  2. Bekräfta att din tjänst- och SIM-princip har skapats i resursgruppen.

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

Nästa steg

Du kan nu tilldela SIM-principen till dina SIM:er för att ta dem i drift.