ARM şablonu kullanarak hizmet ve SIM ilkesi yapılandırma

Hizmetler ve SIM ilkeleri , Azure Özel 5G Core'un esnek trafik işleme olanağı sağlayan özelleştirilebilir ilke denetiminin temel bileşenleridir. Dağıtımınızın gereksinimlerini karşılamak için paket çekirdek örneğinizin hizmet veri akışlarına (SDF) hizmet kalitesi (QoS) özelliklerini tam olarak nasıl uygulaydığını belirleyebilirsiniz. Daha fazla bilgi için bkz . İlke denetimi. Bu nasıl yapılır kılavuzunda, basit bir hizmet ve SIM ilkesi oluşturmak için Azure Resource Manager şablonu (ARM şablonu) kullanmayı öğreneceksiniz.

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.

Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalda açılır.

Button to deploy the Resource Manager template to Azure.

Önkoşullar

  • Özel mobil ağınızı oluşturmak için kullandığınız etkin aboneliğe erişimi olan bir hesap kullanarak Azure portalında oturum açabildiğinizden emin olun. Bu hesabın abonelik kapsamında yerleşik Katkıda Bulunan veya Sahip rolü olmalıdır.

  • Özel mobil ağınıza ve onu içeren kaynak grubuna karşılık gelen Mobil Ağ kaynağının adını belirleyin.

  • Özel mobil ağınızın dağıtıldığı Azure bölgesini belirleyin.

  • SIM ilkesini atamak istediğiniz ağ diliminin adını belirleyin.

  • Yeni ilkeyi atamak istediğiniz veri ağının adını belirleyin.

  • ARM şablonu, tüm trafiğe her iki yönde de izin veren bir varsayılan hizmet ve SIM ilkesi yapılandırmak için değerlerle doldurulur.

    Başka bir amaçla hizmet ve SIM ilkesi oluşturmak istiyorsanız, Gereksinimlerinizi karşılayacak bir hizmet ve SIM ilkesi tasarlamak için Bir hizmet için gerekli bilgileri toplama ve SIM ilkesi için gerekli bilgileri toplama bölümünde yer alan bilgileri kullanın. ARM şablonunu dağıtmanın bir parçası olarak bu yeni değerleri girersiniz.

Şablonu gözden geçirme

Bu nasıl yapılır kılavuzunda kullanılan şablon Azure Hızlı Başlangıç Şablonları'ndan alınmıştı.

{
  "$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'))]"
      ]
    }
  ]
}

Şablonda iki Azure kaynağı tanımlanır.

Şablonu dağıtma

  1. Azure'da oturum açmak ve bir şablon açmak için aşağıdaki bağlantıyı seçin.

    Button to deploy the Resource Manager template to Azure.

  2. Önkoşullar bölümünde aldığınız bilgileri kullanarak aşağıdaki değerleri seçin veya girin.

    • Abonelik: Özel mobil ağınızı oluşturmak için kullandığınız Azure aboneliğini seçin.
    • Kaynak grubu: Özel mobil ağınızı temsil eden Mobil Ağ kaynağını içeren kaynak grubunu seçin.
    • Bölge: Özel mobil ağı dağıtılan bölgeyi seçin.
    • Konum: Özel mobil ağı dağıtılan bölgenin kod adını girin.
    • Mevcut Mobil Ağ Adı: Özel mobil ağınızı temsil eden Mobil Ağ kaynağının adını girin.
    • Mevcut Dilim Adı: Ağ diliminizi temsil eden Dilim kaynağının adını girin.
    • Mevcut Veri Ağı Adı: Veri ağının adını girin. Bu değer, veri ağını oluştururken kullandığınız adla eşleşmelidir.
  3. Varsayılan hizmet ve SIM ilkesini kullanmak istiyorsanız, kalan alanları değiştirmeden bırakın. Aksi takdirde, hizmet için gerekli bilgileri toplama ve SIM ilkesi için gerekli bilgileri toplama bölümünden topladığınız bilgileri kullanarak yapılandırmak istediğiniz hizmet ve SIM ilkesiyle eşleşecek şekilde kalan alanları doldurun.

  4. Gözden geçir ve oluştur’u seçin.

  5. Azure artık girdiğiniz yapılandırma değerlerini doğrulayacaktır. Değerlerinizin doğrulamadan geçtiğini belirten bir ileti görmeniz gerekir.

    Doğrulama başarısız olursa bir hata iletisi görürsünüz ve geçersiz yapılandırmayı içeren Yapılandırma sekmeleri işaretlenir. Bayrak eklenmiş sekmeleri seçin ve Gözden Geçir + oluştur sekmesine dönmeden önce geçersiz yapılandırmayı düzeltmek için hata iletilerini kullanın.

  6. Yapılandırmanız doğrulandıktan sonra Oluştur'u seçerek hizmet ve SIM ilkesini oluşturabilirsiniz. Dağıtım tamamlandığında Azure portalında bir onay ekranı görüntülenir.

Dağıtılan kaynakları gözden geçirme

  1. Onay ekranında Kaynak grubuna git'i seçin.

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

  2. Hizmet ve SIM ilkenizin kaynak grubunda oluşturulduğunu onaylayın.

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

Sonraki adımlar

Artık SIM ilkesini SIM'lerinize atayarak bunları hizmete getirebilirsiniz.