Share via


Configurar um serviço e uma política do SIM usando um modelo do ARM

Os Serviços e as Políticas do SIM são os componentes fundamentais do controle de política personalizável do Azure Private 5G Core, os quais permitem que você forneça tratamento de tráfego flexível. Você pode determinar exatamente como a instância do núcleo de pacotes aplica características de QoS (Qualidade de Serviço) aos SDFs (fluxos de dados de serviço) para atender às necessidades da implantação. Para obter mais informações, confira Controle de política. Neste guia de instruções, você aprenderá a usar um modelo do ARM (Azure Resource Manager) para criar um serviço simples e uma política SIM.

Um modelo do Azure Resource Manager é um arquivo em JavaScript Object Notation (JSON) que define a infraestrutura e a configuração do seu projeto. O modelo usa a sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Se seu ambiente atender aos pré-requisitos e você estiver familiarizado com o uso de modelos ARM, selecione o botão Implantar no Azure. O modelo será aberto no portal do Azure.

Button to deploy the Resource Manager template to Azure.

Pré-requisitos

  • Verifique se você pode entrar no portal do Azure usando uma conta com acesso à assinatura ativa usada para criar sua rede móvel privada. Essa conta precisa ter a função interna Colaborador ou Proprietário no escopo da assinatura.

  • Identifique o nome do recurso de Rede Móvel correspondente à rede móvel privada e ao grupo de recursos que ele pertence.

  • Identifique a região do Azure na qual você implantou sua rede móvel privada.

  • Identifique o nome da fatia de rede à qual você quer atribuir a política do SIM.

  • Identifique o nome da rede de dados à qual você deseja atribuir a nova política.

  • O modelo do ARM é preenchido com valores para configurar um serviço padrão e uma política SIM que permite todo o tráfego em ambas as direções.

    Se você quiser criar um serviço e uma política SIM para outra finalidade, use as informações em Coletar as informações necessárias para um serviço e Coletar as informações necessárias para uma política SIM para criar um serviço e uma política SIM para cumprir seus requisitos. Você inserirá esses novos valores como parte da implantação do modelo do ARM.

Examinar o modelo

O modelo usado neste guia de instruções é proveniente dos Modelos de Início Rápido do 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'))]"
      ]
    }
  ]
}

Há dois recursos do Azure definidos no modelo.

Implantar o modelo

  1. Selecione o link a seguir para entrar no Azure e abrir um modelo.

    Button to deploy the Resource Manager template to Azure.

  2. Selecione ou insira os valores a seguir usando as informações recuperadas nos Pré-requisitos.

    • Assinatura: selecione a assinatura do Azure usada para criar a rede móvel privada.
    • Grupo de recursos: selecione o grupo de recursos que contém o recurso de Rede Móvel que representa a rede móvel privada.
    • Região: selecione a região na qual você implantou a rede móvel particular.
    • Localização: digite o codinome da região na qual você implantou a rede móvel privada.
    • Nome da Rede Móvel existente: insira o nome do recurso de Rede Móvel que representa a rede móvel privada.
    • Nome da Fatia Existente: insira o nome do recurso Fatia que representa sua fatia de rede.
    • Nome da rede de dados existente: insira o nome da rede de dados. Esse valor deve corresponder ao nome que você usou ao criar a rede de dados.
  3. Se você quiser usar o serviço e a política SIM padrões, deixe os campos restantes inalterados. Caso contrário, preencha os campos restantes para corresponder ao serviço e à política SIM que você deseja configurar, usando as informações reunidas em Coletar as informações necessárias para um serviço e Coletar as informações necessárias para uma política SIM.

  4. Selecione Examinar + criar.

  5. O Azure validará os valores de configuração inseridos. Você deverá ver uma mensagem indicando que seus valores foram aprovados na validação.

    Se a validação falhar, você verá uma mensagem de erro e as guias de Configuração contendo a configuração inválida serão sinalizadas. Selecione as guias sinalizadas e use as mensagens de erro para corrigir a configuração inválida antes de voltar à guia Examinar + criar.

  6. Após a configuração ser validada, você poderá selecionar a opção Criar para criar o serviço e a política SIM. O portal do Azure exibirá uma tela de confirmação quando a implantação for concluída.

Examinar os recursos implantados

  1. Na tela de confirmação, selecione Acessar grupo de recursos.

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

  2. Confirme se o serviço e a política SIM foram criados no grupo de recursos.

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

Próximas etapas

Agora é possível atribuir a política SIM aos SIMs para colocá-los em serviço.