Konfigurowanie zasad usługi i sim przy użyciu szablonu usługi ARM

Usługi i zasady SIM są kluczowymi składnikami dostosowywalnej kontroli zasad prywatnej sieci 5G Core platformy Azure, która umożliwia zapewnienie elastycznej obsługi ruchu. Możesz określić dokładnie, w jaki sposób wystąpienie podstawowe pakietu stosuje charakterystykę jakości usług (QoS) do przepływów danych usługi (SDFs), aby spełnić potrzeby wdrożenia. Aby uzyskać więcej informacji, zobacz Kontrola zasad. W tym przewodniku z instrukcjami dowiesz się, jak używać szablonu usługi Azure Resource Manager (szablonu arm) do tworzenia prostych zasad usługi i sim.

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.

Button to deploy the Resource Manager template to Azure.

Wymagania wstępne

  • Upewnij się, że możesz zalogować się do witryny Azure Portal przy użyciu konta z dostępem do aktywnej subskrypcji użytej do utworzenia prywatnej sieci komórkowej. To konto musi mieć wbudowaną rolę Współautor lub Właściciel w zakresie subskrypcji.

  • Zidentyfikuj nazwę zasobu usługi Mobile Network odpowiadającej prywatnej sieci komórkowej i grupie zasobów zawierającej ją.

  • Zidentyfikuj region świadczenia usługi Azure, w którym wdrożono prywatną sieć mobilną.

  • Zidentyfikuj nazwę wycinka sieci, do którego chcesz przypisać zasady SIM.

  • Zidentyfikuj nazwę sieci danych, do której chcesz przypisać nowe zasady.

  • Szablon usługi ARM jest wypełniany wartościami, aby skonfigurować domyślną usługę i zasady SIM, które zezwalają na cały ruch w obu kierunkach.

    Jeśli chcesz utworzyć zasady usługi i karty SIM w innym celu, skorzystaj z informacji w sekcji Zbieranie wymaganych informacji dla usługi i Zbieranie wymaganych informacji dotyczących zasad SIM w celu zaprojektowania usługi i zasad SIM w celu spełnienia wymagań. Te nowe wartości zostaną wprowadzone w ramach wdrażania szablonu usługi ARM.

Przegląd szablonu

Szablon używany w tym przewodniku z instrukcjami pochodzi z szablonów szybkiego startu platformy 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'))]"
      ]
    }
  ]
}

Dwa zasoby platformy Azure są zdefiniowane w szablonie.

Wdrażanie szablonu

  1. Wybierz następujący link, aby zalogować się do platformy Azure i otworzyć szablon.

    Button to deploy the Resource Manager template to Azure.

  2. Wybierz lub wprowadź następujące wartości, korzystając z informacji pobranych w sekcji Wymagania wstępne.

    • Subskrypcja: wybierz subskrypcję platformy Azure użytą do utworzenia prywatnej sieci mobilnej.
    • Grupa zasobów: wybierz grupę zasobów zawierającą zasób sieci komórkowej reprezentujący prywatną sieć komórkową.
    • Region: wybierz region, w którym wdrożono prywatną sieć komórkową.
    • Lokalizacja: wprowadź nazwę kodu regionu, w którym wdrożono prywatną sieć komórkową.
    • Istniejąca nazwa sieci komórkowej: wprowadź nazwę zasobu sieci komórkowej reprezentującego prywatną sieć komórkową.
    • Istniejąca nazwa wycinka: wprowadź nazwę zasobu Slice reprezentującego wycinek sieci.
    • Nazwa istniejącej sieci danych: wprowadź nazwę sieci danych. Ta wartość musi być zgodna z nazwą używaną podczas tworzenia sieci danych.
  3. Jeśli chcesz użyć domyślnych zasad usługi i karty SIM, pozostaw pozostałe pola bez zmian. W przeciwnym razie wypełnij pozostałe pola, aby odpowiadały usłudze i zasadom SIM, które chcesz skonfigurować, korzystając z informacji zebranych z sekcji Zbieranie wymaganych informacji dla usługi i Zbierz wymagane informacje dotyczące zasad SIM.

  4. Wybierz pozycję Przejrzyj i utwórz.

  5. Platforma Azure zweryfikuje wprowadzone wartości konfiguracji. Powinien zostać wyświetlony komunikat informujący o tym, że wartości przeszły walidację.

    Jeśli walidacja zakończy się niepowodzeniem, zostanie wyświetlony komunikat o błędzie, a karty Konfiguracja zawierające nieprawidłową konfigurację zostaną oflagowane. Wybierz karty oflagowane i użyj komunikatów o błędach, aby poprawić nieprawidłową konfigurację przed powrotem do karty Przeglądanie i tworzenie .

  6. Po zweryfikowaniu konfiguracji możesz wybrać pozycję Utwórz , aby utworzyć zasady usługi i sim. Po zakończeniu wdrażania w witrynie Azure Portal zostanie wyświetlony ekran potwierdzenia.

Przeglądanie wdrożonych zasobów

  1. Na ekranie potwierdzenia wybierz pozycję Przejdź do grupy zasobów.

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

  2. Upewnij się, że usługa i zasady SIM zostały utworzone w grupie zasobów.

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

Następne kroki

Teraz możesz przypisać zasady SIM do swoich maszyn SIM, aby przenieść je do usługi.