Подготовка новых SIM для частных 5G Core Azure — шаблон ARM

Ресурсы SIM представляют физические sims или eSIMs, используемые пользовательским оборудованием (UEs), обслуживаемыми частной мобильной сетью. В этом руководстве вы узнаете, как подготовить новые SIM для существующей частной мобильной сети с помощью шаблона Azure Resource Manager (шаблон ARM).

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

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

Кнопка для развертывания шаблона Resource Manager в Azure.

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

  • Убедитесь, что вы можете войти в портал Azure с помощью учетной записи с доступом к активной подписке, определенной в разделе "Завершить необходимые задачи" для развертывания частной мобильной сети. Эта учетная запись должна иметь встроенную роль участника в область подписки.
  • Определите имя ресурса мобильной сети, соответствующего вашей частной мобильной сети, и группе ресурсов, содержащей ее.
  • Определите регион Azure, в котором развернута частная мобильная сеть.
  • Выберите имя новой группы SIM-карт, в которую будут добавлены ваши SIM.
  • Определите политику SIM, которую вы хотите назначить виртуальным машинам, которые вы подготавливаете. Необходимо уже создать эту политику SIM с помощью инструкций в разделе "Настройка политики SIM- портал Azure".

Сбор необходимых сведений для siMS

Чтобы начать, соберите значения в следующей таблице для каждой SIM-карты, которую вы хотите подготовить.

Значение Наименование параметра
Имя SIM-карты. Имя SIM-карты должно содержать только буквенно-цифровые символы, дефисы и символы подчеркивания. simName
Идентификационный номер карточки интегрированной цепи (ICCID). ICCID определяет определенную физическую SIM-карту или eSIM, а также содержит сведения о стране или регионе SIM-карты и издателе. ICCID является необязательным и является уникальным числовым значением от 19 до 20 цифр длиной, начиная с 89. integratedCircuitCardIdentifier
Удостоверение международного мобильного подписчика (IMSI). IMSI — это уникальное число (обычно 15 цифр), определяющее устройство или пользователя в мобильной сети. internationalMobileSubscriberIdentity
Ключ проверки подлинности (Ki). Ki — это уникальное 128-разрядное значение, назначенное оператором SIM-карты, и используется с производным кодом оператора (OPc) для проверки подлинности пользователя. Она должна быть 32-символьной строкой, содержащей только шестнадцатеричные символы. authenticationKey
Код производного оператора (OPc). OPc берется из SIM-карты и кода оператора сети (OP). Основной экземпляр пакета использует его для проверки подлинности пользователя с помощью алгоритма на основе стандартов. OPc должен быть 32-символьной строкой, содержащей только шестнадцатеричные символы. operatorKeyCode
Тип устройства с помощью этой SIM-карты. Это значение является необязательной строкой свободной формы. Его можно использовать, чтобы легко определить типы устройств с помощью частной мобильной сети предприятия. deviceType
Политика SIM для назначения SIM-карты. Это необязательно, но ваши SIM не смогут использовать частную мобильную сеть без назначенной политики SIM. simPolicyId

Сбор необходимых сведений для назначения статических IP-адресов

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

  • Вы используете один или несколько массивов JSON для подготовки виртуальных машин.
  • Вы настроили выделение статических IP-адресов для экземпляров ядра пакетов.
  • Вы хотите назначить статические IP-адреса виртуальным машинам во время подготовки SIM.

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

Каждый IP-адрес должен поступать из пула, назначенного для выделения статических IP-адресов при создании соответствующей сети данных, как описано в разделе "Сбор значений сети данных". Дополнительные сведения см. в разделе "Выделение пулов IP-адресов пользовательского оборудования (UE).

Значение Имя поля в портал Azure Имя параметра JSON
Сеть данных, которую будет использовать SIM-карта. Неприменимо. staticIpConfiguration.attachedDataNetworkId
Срез сети, используемый SIM-картой. Неприменимо. staticIpConfiguration.sliceId
Статический IP-адрес для назначения SIM-карты. Неприменимо. staticIpConfiguration.staticIpAddress

Подготовка одного или нескольких массивов JSON для siMs

Используйте сведения, собранные в разделе "Сбор необходимых сведений для SIM ", чтобы создать один или несколько массивов JSON, содержащих свойства до 1000 виртуальных машин, которые требуется подготовить. Ниже приведен пример массива, содержащего свойства для двух SIM (SIM1 и SIM2).

Если вы не хотите назначить политику SIM или статический IP-адрес, можно удалить simPolicy параметры и (или)staticIpConfiguration

Примечание.

Максимальный размер текста запроса API составляет 4 МБ. Рекомендуется вводить не более 1000 SIM на массив JSON, чтобы остаться ниже этого ограничения. Если вы хотите подготовить более 1000 SIM, создайте несколько массивов и повторите процесс подготовки для каждого. Кроме того, можно использовать портал Azure для подготовки до 10 000 SIM на JSON-файл.

[
 {
  "simName": "SIM1",
  "integratedCircuitCardIdentifier": "8912345678901234566",
  "internationalMobileSubscriberIdentity": "001019990010001",
  "authenticationKey": "00112233445566778899AABBCCDDEEFF",
  "operatorKeyCode": "63bfa50ee6523365ff14c1f45f88737d",
  "deviceType": "Cellphone",
  "simPolicyId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/simPolicies/SimPolicy1",
  "staticIpConfiguration" :[
	{
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn1",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.54"
	},
    {
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn2",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.55"
	}
   ]
 },
 {
  "simName": "SIM2",
  "integratedCircuitCardIdentifier": "8922345678901234567",
  "internationalMobileSubscriberIdentity": "001019990010002",
  "authenticationKey": "11112233445566778899AABBCCDDEEFF",
  "operatorKeyCode": "63bfa50ee6523365ff14c1f45f88738d",
  "deviceType": "Sensor",
  "simPolicyId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/simPolicies/SimPolicy2",
  "staticIpConfiguration" :[
	{
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn1",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.54"
	},
	{
	  "attachedDataNetworkId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/site-1/packetCoreDataPlanes/site-1/attachedDataNetworks/adn2",
	  "sliceId": "/subscriptions/subid/resourceGroups/contoso-rg/providers/Microsoft.MobileNetwork/mobileNetworks/contoso-network/slices/slice-1",
	  "staticIpAddress": "10.132.124.55"
	}
   ]
 }
]

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

Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "9173523895323587869"
    }
  },
  "parameters": {
    "location": {
      "type": "string",
      "metadata": {
        "description": "Region where the SIM group will be deployed (must match the resource group region)."
      }
    },
    "existingMobileNetworkName": {
      "type": "string",
      "metadata": {
        "description": "The name of the mobile network to which you are adding the SIM group."
      }
    },
    "existingSimPolicyName": {
      "type": "string",
      "metadata": {
        "description": "The name of the SIM policy to be assigned to the SIM(s)."
      }
    },
    "simGroupName": {
      "type": "string",
      "metadata": {
        "description": "The name for the SIM group."
      }
    },
    "existingEncryptionKeyUrl": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "A unversioned key vault key to encrypt the SIM data that belongs to this SIM group. For example: https://contosovault.vault.azure.net/keys/azureKey."
      }
    },
    "existingUserAssignedIdentityResourceId": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "User-assigned identity is an identity in Azure Active Directory that can be used to give access to other Azure resource such as Azure Key Vault. This identity should have Get, Wrap key, and Unwrap key permissions on the key vault."
      }
    },
    "simResources": {
      "type": "array",
      "metadata": {
        "description": "An array containing properties of the SIM(s) you wish to create. See [Provision proxy SIM(s)](https://docs.microsoft.com/en-gb/azure/private-5g-core/provision-sims-azure-portal) for a full description of the required properties and their format."
      }
    }
  },
  "resources": [
    {
      "copy": {
        "name": "exampleSimResources",
        "count": "[length(parameters('simResources'))]"
      },
      "type": "Microsoft.MobileNetwork/simGroups/sims",
      "apiVersion": "2024-02-01",
      "name": "[format('{0}/{1}', parameters('simGroupName'), parameters('simResources')[copyIndex()].simName)]",
      "properties": {
        "integratedCircuitCardIdentifier": "[parameters('simResources')[copyIndex()].integratedCircuitCardIdentifier]",
        "internationalMobileSubscriberIdentity": "[parameters('simResources')[copyIndex()].internationalMobileSubscriberIdentity]",
        "authenticationKey": "[parameters('simResources')[copyIndex()].authenticationKey]",
        "operatorKeyCode": "[parameters('simResources')[copyIndex()].operatorKeyCode]",
        "deviceType": "[parameters('simResources')[copyIndex()].deviceType]",
        "simPolicy": {
          "id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks/simPolicies', parameters('existingMobileNetworkName'), parameters('existingSimPolicyName'))]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/simGroups', parameters('simGroupName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/simGroups",
      "apiVersion": "2024-02-01",
      "name": "[parameters('simGroupName')]",
      "location": "[parameters('location')]",
      "properties": {
        "mobileNetwork": {
          "id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks', parameters('existingMobileNetworkName'))]"
        },
        "encryptionKey": {
          "keyUrl": "[parameters('existingEncryptionKeyUrl')]"
        }
      },
      "identity": "[if(not(empty(parameters('existingUserAssignedIdentityResourceId'))), createObject('type', 'UserAssigned', 'userAssignedIdentities', createObject(format('{0}', parameters('existingUserAssignedIdentityResourceId')), createObject())), createObject('type', 'None'))]"
    }
  ]
}

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

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

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

    Кнопка для развертывания шаблона Resource Manager в Azure.

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

    • Подписка: выберите подписку Azure, используемую для создания частной мобильной сети.
    • Группа ресурсов: выберите группу ресурсов, содержащую ресурс мобильной сети, представляющий частную мобильную сеть.
    • Регион: выберите регион, в котором развернута частная мобильная сеть.
    • Расположение: введите имя кода региона, в котором развернута частная мобильная сеть.
    • Существующее имя мобильной сети: введите имя ресурса мобильной сети, представляющего частную мобильную сеть.
    • Существующее имя политики sim: введите имя политики SIM, которую вы хотите назначить sims.
    • Имя группы sim: введите имя новой группы SIM.
    • Ресурсы Sim: вставьте один из массивов JSON, подготовленных в разделе "Подготовка одного или нескольких массивов JSON для siMs".

    Снимок экрана: портал Azure с полями конфигурации для шаблона ARM SIMs.

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

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

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

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

  6. Если вы подготавливаете более 1000 SIM, повторите этот процесс для каждого массива JSON.

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

  1. Выберите Перейти к группе ресурсов.

    Снимок экрана: портал Azure с подтверждением развертывания для шаблона ARM.

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

    Снимок экрана: портал Azure с группой ресурсов, содержащей только что созданную sim-группу.

  3. Выберите ресурс группы SIM и убедитесь, что все виртуальные машины были подготовлены правильно.

    Снимок экрана: портал Azure с ресурсом группы SIM, содержащим SIM.

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