تكوين خدمة ونهج SIM باستخدام قالب ARM

الخدمات ونهج SIM هي المكونات الرئيسية للتحكم في نهج Azure Private 5G Core القابل للتخصيص، والذي يسمح لك بتوفير معالجة مرنة لنسبة استخدام الشبكة. يمكنك تحديد كيفية تطبيق مثيل الحزمة الأساسي لخصائص جودة الخدمة (QoS) على تدفقات بيانات الخدمة (SDFs) لتلبية احتياجات النشر. لمزيد من المعلومات، راجع التحكم في النهج. في هذا الدليل الإرشادي، ستتعلم كيفية استخدام قالب Azure Resource Manager (قالب ARM) لإنشاء خدمة بسيطة ونهج SIM.

قالب Azure Resource Manager هو ملف JavaScript Object Notation (JSON) الذي يحدد البنية الأساسية والتكوين لمشروعك. يستخدم القالب عبارات توضيحية. يمكنك وصف النشر المقصود دون كتابة تسلسل أوامر البرمجة لإنشاء النشر.

إذا كانت بيئتك تلبي المتطلبات الأساسية وكنت معتاداً على استخدام قوالب "ARM"، فحدد زر "Deploy to Azure". سيتم فتح القالب في مدخل Azure.

Button to deploy the Resource Manager template to Azure.

المتطلبات الأساسية

  • تأكد من أنه يمكنك تسجيل الدخول إلى مدخل Microsoft Azure باستخدام حساب مع الوصول إلى الاشتراك النشط الذي استخدمته لإنشاء شبكة الجوال الخاصة بك. يجب أن يكون لهذا الحساب دور المساهم أو المالك المضمن في نطاق الاشتراك.

  • حدد اسم مورد شبكة الجوال المطابقة لشبكة الجوال الخاصة بك ومجموعة الموارد التي تحتوي عليها.

  • حدد منطقة Azure التي قمت بنشر شبكة الجوال الخاصة بك فيها.

  • حدد اسم شريحة الشبكة التي تريد تعيين نهج SIM إليها.

  • حدد اسم شبكة البيانات التي تريد تعيين النهج الجديد إليها.

  • يتم ملء قالب ARM بقيم لتكوين خدمة افتراضية ونهج SIM يسمح لجميع نسبة استخدام الشبكة في كلا الاتجاهين.

    إذا كنت ترغب في إنشاء خدمة ونهج SIM لغرض آخر، فاستخدم المعلومات الموجودة في تجميع المعلومات المطلوبة لخدمة ما وجمع المعلومات المطلوبة لنهج SIM لتصميم خدمة ونهج SIM لتلبية متطلباتك. ستقوم بإدخال هذه القيم الجديدة كجزء من نشر قالب ARM.

مراجعة القالب

القالب المستخدم في هذا الدليل الإرشادي هو من قوالب Azure Quickstart.

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

يتم تعريف موردين من موارد Azure في القالب.

نشر القالب

  1. حدد الرابط التالي لتسجيل الدخول إلى Azure وفتح قالب.

    Button to deploy the Resource Manager template to Azure.

  2. حدد القيم التالية أو أدخلها، باستخدام المعلومات التي قمت باستردادها في المتطلبات الأساسية.

    • الاشتراك: حدد اشتراك Azure الذي استخدمته لإنشاء شبكة الجوال الخاصة بك.
    • مجموعة الموارد: حدد مجموعة الموارد التي تحتوي على مورد شبكة الجوال الذي يمثل شبكة الجوال الخاصة بك.
    • المنطقة: حدد المنطقة التي قمت بنشر شبكة الجوال الخاصة فيها.
    • الموقع: أدخل اسم التعليمات البرمجية للمنطقة التي قمت بنشر شبكة الجوال الخاصة فيها.
    • اسم شبكة الجوال الموجودة: أدخل اسم مورد شبكة الجوال الذي يمثل شبكة الجوال الخاصة بك.
    • اسم الشريحة الموجود: أدخل اسم مورد الشريحة الذي يمثل شريحة الشبكة.
    • اسم شبكة البيانات الموجودة: أدخل اسم شبكة البيانات. يجب أن تتطابق هذه القيمة مع الاسم الذي استخدمته عند إنشاء شبكة البيانات.
  3. إذا كنت تريد استخدام الخدمة الافتراضية ونهج SIM، فاترك الحقول المتبقية دون تغيير. وإلا، املأ الحقول المتبقية لمطابقة الخدمة ونهج SIM الذي تريد تكوينه، باستخدام المعلومات التي جمعتها من تجميع المعلومات المطلوبة لخدمة ما وجمع المعلومات المطلوبة لنهج SIM.

  4. حدد "Review + create".

  5. سيقوم Azure الآن بالتحقق من صحة قيم التكوين التي أدخلتها. يجب أن تشاهد رسالة تشير إلى أن قيمك قد اجتازت التحقق من الصحة.

    إذا فشل التحقق من الصحة، فسترى رسالة خطأ وسيتم وضع علامة تبويب التكوين (علامات) التكوين التي تحتوي على التكوين غير الصالح. حدد علامة التبويب (علامات) المعلمة واستخدم رسائل الخطأ لتصحيح التكوين غير الصالح قبل العودة إلى علامة التبويب مراجعة + إنشاء .

  6. بمجرد التحقق من صحة التكوين الخاص بك، يمكنك تحديد Create لإنشاء الخدمة ونهج SIM. سيعرض مدخل Microsoft Azure شاشة تأكيد عند اكتمال النشر.

مراجعة الموارد الموزعة

  1. في شاشة التأكيد، حدد Go to resource group.

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

  2. تأكد من إنشاء الخدمة ونهج SIM في مجموعة الموارد.

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

الخطوات التالية

يمكنك الآن تعيين نهج SIM إلى SIMs الخاصة بك لتقديمها إلى الخدمة.