Настройка службы и политики SIM с помощью шаблона ARM

Службы и политики SIM-карт являются ключевыми компонентами настраиваемого управления политикой Частной платформы Azure 5G Core, что позволяет обеспечить гибкую обработку трафика. Вы можете точно определить, как экземпляр ядра пакетов применяет характеристики обслуживания (QoS) к потокам данных служб (SDFS) для удовлетворения потребностей развертывания. Дополнительные сведения см. в разделе "Управление политикой". В этом руководстве вы узнаете, как использовать шаблон Azure Resource Manager (шаблон ARM) для создания простой политики службы и SIM-карты.

Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.

Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется на портале Azure.

Button to deploy the Resource Manager template to Azure.

Необходимые компоненты

  • Убедитесь, что вы можете войти в портал Azure с помощью учетной записи с доступом к активной подписке, используемой для создания частной мобильной сети. Эта учетная запись должна иметь встроенную роль участника или владельца в область подписки.

  • Определите имя ресурса мобильной сети, соответствующего вашей частной мобильной сети, и группе ресурсов, содержащей ее.

  • Определите регион Azure, в котором развернута частная мобильная сеть.

  • Определите имя сетевого среза, которому нужно назначить политику SIM.

  • Определите имя сети данных, которой требуется назначить новую политику.

  • Шаблон ARM заполняется значениями для настройки службы по умолчанию и политики SIM-карты, которая разрешает весь трафик в обоих направлениях.

    Если вы хотите создать политику обслуживания и SIM-карты для другой цели, используйте сведения в разделе "Сбор необходимых сведений для службы " и сбор необходимых сведений для политики SIM для разработки службы и SIM-политики в соответствии с вашими требованиями. Вы введете эти новые значения в рамках развертывания шаблона ARM.

Изучение шаблона

Шаблон, используемый в этом руководстве, представлен из шаблонов быстрого запуска 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'))]"
      ]
    }
  ]
}

В шаблоне определены два ресурса Azure.

Развертывание шаблона

  1. Выберите следующую ссылку, чтобы войти на портал Azure и открыть шаблон.

    Button to deploy the Resource Manager template to Azure.

  2. Выберите или введите следующие значения, используя сведения, полученные в предварительных требованиях.

    • Подписка: выберите подписку Azure, используемую для создания частной мобильной сети.
    • Группа ресурсов: выберите группу ресурсов, содержащую ресурс мобильной сети, представляющий частную мобильную сеть.
    • Регион: выберите регион, в котором развернута частная мобильная сеть.
    • Расположение: введите имя кода региона, в котором развернута частная мобильная сеть.
    • Существующее имя мобильной сети: введите имя ресурса мобильной сети, представляющего частную мобильную сеть.
    • Существующее имя среза: введите имя ресурса "Срез", представляющего срез сети.
    • Существующее имя сети данных: введите имя сети данных. Это значение должно соответствовать имени, используемому при создании сети данных.
  3. Если вы хотите использовать политику службы по умолчанию и SIM-карты, оставьте оставшиеся поля неизменными. В противном случае заполните оставшиеся поля, чтобы соответствовать политике службы и SIM-карты, которые вы хотите настроить, используя сведения, собранные из сбора необходимых сведений для службы и сбора необходимых сведений для политики SIM-карты.

  4. Выберите Review + create (Просмотреть и создать).

  5. Теперь Azure проверяет введенные вами значения конфигурации. Должно появиться сообщение о том, что значения прошли проверку.

    Если проверка завершается ошибкой, появится сообщение об ошибке, а вкладки "Конфигурация ", содержащие недопустимую конфигурацию, будут помечены. Выберите помеченные вкладки и используйте сообщения об ошибках, чтобы исправить недопустимую конфигурацию, прежде чем вернуться на вкладку "Просмотр и создание ".

  6. После проверки конфигурации можно выбрать "Создать ", чтобы создать политику службы и SIM-карты. Портал Azure отобразит экран подтверждения после завершения развертывания.

Просмотр развернутых ресурсов

  1. На экране подтверждения выберите "Перейти к группе ресурсов".

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

  2. Убедитесь, что служба и политика SIM-карты созданы в группе ресурсов.

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

Следующие шаги

Теперь вы можете назначить политику SIM вашим SIM, чтобы перенести их в службу.