Configuración de un servicio y una directiva de SIM mediante una plantilla de ARM

Los Servicios y las directivas de SIM son los componentes clave del control de directivas personalizables de Azure Private 5G Core, que le permiten proporcionar un manejo flexible del tráfico. Puede determinar exactamente cómo aplica la instancia de la red troncal de paquetes las características de calidad de servicio (QoS) a los flujos de datos de servicio (SDF) para satisfacer las necesidades de la implementación. Para más información, consulte Control de directivas. En esta guía paso a paso, aprenderá a usar una plantilla de Azure Resource Manager (plantilla de ARM) para crear un servicio sencillo y una directiva de SIM.

Una plantilla de Azure Resource Manager es un archivo de notación de objetos JavaScript (JSON) que define tanto la infraestructura como la configuración de un proyecto. La plantilla usa sintaxis declarativa. Se describe la implementación deseada sin escribir la secuencia de comandos de programación para crear la implementación.

Si su entorno cumple los requisitos previos y está familiarizado con el uso de plantillas de Resource Manager, seleccione el botón Implementar en Azure. La plantilla se abrirá en Azure Portal.

Botón para implementar la plantilla de Resource Manager en Azure.

Requisitos previos

  • Asegúrese de que puede iniciar sesión en Azure Portal mediante una cuenta con acceso a la suscripción activa que usó para crear la red móvil privada. Esta cuenta debe tener el rol de colaborador o propietario integrado en el ámbito de la suscripción.

  • Identifique el nombre del recurso de red móvil correspondiente a la red móvil privada y el grupo de recursos que lo contiene.

  • Identifique la región de Azure en la que implementó la red móvil privada.

  • Identifique el nombre del segmento de red al que desea asignar la directiva de SIM.

  • Identifique el nombre de la red de datos a la que quiere asignar la nueva directiva.

  • La plantilla de ARM se rellena con valores para configurar un servicio predeterminado y una directiva de SIM que permita todo el tráfico en ambas direcciones.

    Si desea crear un servicio y una directiva de SIM con otro fin, use la información de Recopilación de la información necesaria para un servicio y Recopilación de la información necesaria para una directiva de SIM para diseñar un servicio y una directiva de SIM que cumpla con sus requisitos. Escribirá estos nuevos valores como parte de la implementación de la plantilla de ARM.

Revisión de la plantilla

La plantilla usada en esta guía paso a paso proviene de las plantillas de inicio rápido de 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": "12557640417910300439"
    }
  },
  "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": "2024-04-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": "2024-04-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'))]"
      ]
    }
  ]
}

En la plantilla se definen dos recursos de Azure.

Implementación de la plantilla

  1. Seleccione el vínculo siguiente para iniciar sesión en Azure y abrir una plantilla.

    Botón para implementar la plantilla de Resource Manager en Azure.

  2. Seleccione o introduzca los valores siguientes con la información que recuperó en Requisitos previos.

    • Suscripción: seleccione la suscripción a Azure que usó para crear la red móvil privada.
    • Grupo de recursos: seleccione el grupo de recursos que contiene el recurso de red móvil que representa la red móvil privada.
    • Región: seleccione la región en la que implementó la red móvil privada.
    • Ubicación: escriba el nombre del código de la región en la que implementó la red móvil privada.
    • Nombre de red móvil existente: escriba el nombre del recurso de red móvil que representa la red móvil privada.
    • Nombre del segmento existente: escriba el nombre del recurso de segmento que representa su segmento de red.
    • Nombre de la red de datos existente: escriba el nombre de la red de datos. Este valor debe coincidir con el nombre que usó al crear la red de datos.
  3. Si desea usar el servicio predeterminado y la directiva de SIM, deje los campos restantes sin modificar. De lo contrario, rellene los campos restantes para que coincidan con el servicio y la directiva de SIM que desea configurar, con la información recopilada de Recopilación de la información necesaria para un servicio y Recopilación de la información necesaria para una directiva de SIM.

  4. Seleccione Revisar + crear.

  5. Azure validará ahora los valores de configuración especificados. Debería ver un mensaje que indica que los valores han superado la validación.

    Si se produce un error en la validación, verá un mensaje de error y se marcarán las pestañas de Configuración que contienen la configuración no válida. Seleccione las pestañas marcadas y use los mensajes de error para corregir la configuración no válida antes de volver a la pestaña Revisión y creación.

  6. Una vez validada la configuración, puede seleccionar la opción Crear para crear el servicio y una directiva de SIM. Azure Portal mostrará una pantalla de confirmación cuando se complete la implementación.

Revisión de los recursos implementados

  1. En la pantalla de confirmación, seleccione Ir al grupo de recursos.

    Captura de pantalla de Azure Portal en la que se muestra la confirmación de implementación de la plantilla de ARM.

  2. Confirme que el servicio y la directiva de SIM se han creado en el grupo de recursos.

    Captura de pantalla de Azure Portal en la que se muestra un grupo de recursos que contiene SIM recientemente aprovisionadas.

Pasos siguientes

Ahora puede asignar la directiva de SIM a las SIM para incorporarlas al servicio.