Подготовка новых SIM для частных 5G Core Azure — шаблон ARM
Ресурсы SIM представляют физические sims или eSIMs, используемые пользовательским оборудованием (UEs), обслуживаемыми частной мобильной сетью. В этом руководстве вы узнаете, как подготовить новые SIM для существующей частной мобильной сети с помощью шаблона Azure Resource Manager (шаблон ARM).
Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.
Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется на портале 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.27.1.19265",
"templateHash": "7026271350043138477"
}
},
"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-04-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-04-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.
- Microsoft.MobileNetwork/simGroups: ресурс, представляющий группу SIM.
- Microsoft.MobileNetwork/simGroups/sims: ресурс, представляющий физический SIM-код или eSIM.
Развертывание шаблона
Выберите следующую ссылку, чтобы войти на портал Azure и открыть шаблон.
Выберите или введите следующие значения, используя сведения, полученные в предварительных требованиях.
- Подписка: выберите подписку Azure, используемую для создания частной мобильной сети.
- Группа ресурсов: выберите группу ресурсов, содержащую ресурс мобильной сети, представляющий частную мобильную сеть.
- Регион: выберите регион, в котором развернута частная мобильная сеть.
- Расположение: введите имя кода региона, в котором развернута частная мобильная сеть.
- Существующее имя мобильной сети: введите имя ресурса мобильной сети, представляющего частную мобильную сеть.
- Существующее имя политики sim: введите имя политики SIM, которую вы хотите назначить sims.
- Имя группы sim: введите имя новой группы SIM.
- Ресурсы Sim: вставьте один из массивов JSON, подготовленных в разделе "Подготовка одного или нескольких массивов JSON для siMs".
Выберите Review + create (Просмотреть и создать).
Теперь Azure проверяет введенные вами значения конфигурации. Должно появиться сообщение о том, что значения прошли проверку.
Если проверка завершается ошибкой, появится сообщение об ошибке, а вкладки "Конфигурация ", содержащие недопустимую конфигурацию, будут помечены. Выберите помеченные вкладки и используйте сообщения об ошибках, чтобы исправить недопустимую конфигурацию, прежде чем вернуться на вкладку "Просмотр и создание ".
После проверки конфигурации можно выбрать "Создать " для подготовки SIM. Портал Azure отобразит экран подтверждения при подготовке SIM.
Если вы подготавливаете более 1000 SIM, повторите этот процесс для каждого массива JSON.
Просмотр развернутых ресурсов
Выберите Перейти к группе ресурсов.
Убедитесь, что ресурс SIM-группы создан в группе ресурсов.
Выберите ресурс группы SIM и убедитесь, что все виртуальные машины были подготовлены правильно.
Следующие шаги
- Управление этими SIM с помощью портал Azure.
- Включите скрытие SUPI при необходимости.