Erstellen eines Standorts mithilfe einer ARM-Vorlage

Private Mobilnetzwerke von Azure Private 5G Core (Vorschauversion) enthalten mindestens einen Standort. Jeder Standort stellt einen physischen Unternehmensstandort dar (z. B. die Fabrik in Chicago der der Contoso Corporation), der ein Azure Stack Edge-Gerät enthält, das eine Paketkerninstanz hostet. In dieser Anleitung erfahren Sie, wie Sie mithilfe einer ARM (Azure Resource Manager)-Vorlage einen Standort in Ihrem privaten Mobilnetzwerk erstellen können.

Eine ARM-Vorlage ist eine JSON-Datei (JavaScript Object Notation), in der die Infrastruktur und die Konfiguration für Ihr Projekt definiert sind. Die Vorlage verwendet eine deklarative Syntax. In deklarativer Syntax beschreiben Sie Ihre beabsichtigte Bereitstellung, ohne die Reihenfolge der Programmierbefehle zur Erstellung der Bereitstellung zu schreiben.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, klicken Sie auf die Schaltfläche In Azure bereitstellen. Die Vorlage wird im Azure-Portal geöffnet.

Bereitstellen in Azure

Voraussetzungen

Überprüfen der Vorlage

Die in dieser Anleitung verwendete Vorlage stammt aus den Azure-Schnellstartvorlagen.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.10.61.36676",
      "templateHash": "14356933457535812520"
    }
  },
  "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 which you are adding a site"
      }
    },
    "existingDataNetworkName": {
      "type": "string",
      "metadata": {
        "description": "Name of the existing data network to which the mobile network connects"
      }
    },
    "siteName": {
      "type": "string",
      "defaultValue": "myExampleSite",
      "metadata": {
        "description": "The name for the site"
      }
    },
    "platformType": {
      "type": "string",
      "defaultValue": "AKS-HCI",
      "allowedValues": [
        "AKS-HCI",
        "BaseVM"
      ],
      "metadata": {
        "description": "The platform type where packet core is deployed."
      }
    },
    "controlPlaneAccessInterfaceName": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The name of the control plane interface on the access network. In 5G networks this is called the N2 interface whereas in 4G networks this is called the S1-MME interface. This should match one of the interfaces configured on your Azure Stack Edge machine."
      }
    },
    "controlPlaneAccessIpAddress": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The IP address of the control plane interface on the access network. In 5G networks this is called the N2 interface whereas in 4G networks this is called the S1-MME interface."
      }
    },
    "userPlaneAccessInterfaceName": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The logical name of the user plane interface on the access network. In 5G networks this is called the N3 interface whereas in 4G networks this is called the S1-U interface. This should match one of the interfaces configured on your Azure Stack Edge machine."
      }
    },
    "userPlaneAccessInterfaceIpAddress": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The IP address of the user plane interface on the access network. In 5G networks this is called the N3 interface whereas in 4G networks this is called the S1-U interface. Not required for AKS-HCI."
      }
    },
    "accessSubnet": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The network address of the access subnet in CIDR notation"
      }
    },
    "accessGateway": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The access subnet default gateway"
      }
    },
    "userPlaneDataInterfaceName": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The logical name of the user plane interface on the data network. In 5G networks this is called the N6 interface whereas in 4G networks this is called the SGi interface. This should match one of the interfaces configured on your Azure Stack Edge machine."
      }
    },
    "userPlaneDataInterfaceIpAddress": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The IP address of the user plane interface on the data network. In 5G networks this is called the N6 interface whereas in 4G networks this is called the SGi interface. Not required for AKS-HCI."
      }
    },
    "userPlaneDataInterfaceSubnet": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The network address of the data subnet in CIDR notation"
      }
    },
    "userPlaneDataInterfaceGateway": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The data subnet default gateway"
      }
    },
    "userEquipmentAddressPoolPrefix": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The network address of the subnet from which dynamic IP addresses must be allocated to UEs, given in CIDR notation. Optional if userEquipmentStaticAddressPoolPrefix is specified. If both are specified, they must be the same size and not overlap."
      }
    },
    "userEquipmentStaticAddressPoolPrefix": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The network address of the subnet from which static IP addresses must be allocated to UEs, given in CIDR notation. Optional if userEquipmentAddressPoolPrefix is specified. If both are specified, they must be the same size and not overlap."
      }
    },
    "coreNetworkTechnology": {
      "type": "string",
      "defaultValue": "5GC",
      "allowedValues": [
        "EPC",
        "5GC"
      ],
      "metadata": {
        "description": "The mode in which the packet core instance will run"
      }
    },
    "naptEnabled": {
      "type": "string",
      "allowedValues": [
        "Enabled",
        "Disabled"
      ],
      "metadata": {
        "description": "Whether or not Network Address and Port Translation (NAPT) should be enabled for this data network"
      }
    },
    "dnsAddresses": {
      "type": "array",
      "metadata": {
        "description": "A list of DNS servers that UEs on this data network will use"
      }
    },
    "customLocation": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The resource ID of the custom location that targets the Azure Kubernetes Service on Azure Stack HCI (AKS-HCI) cluster on the Azure Stack Edge Pro device in the site. If this parameter is not specified, the packet core instance will be created but will not be deployed to an ASE. [Collect custom location information](https://docs.microsoft.com/en-gb/azure/private-5g-core/collect-required-information-for-a-site#collect-custom-location-information) explains which value to specify here."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.MobileNetwork/mobileNetworks/sites",
      "apiVersion": "2022-04-01-preview",
      "name": "[format('{0}/{1}', parameters('existingMobileNetworkName'), parameters('siteName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "networkFunctions": [
          {
            "id": "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes', parameters('siteName'))]"
          },
          {
            "id": "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes', parameters('siteName'), parameters('siteName'))]"
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes', parameters('siteName'))]",
        "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes', parameters('siteName'), parameters('siteName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks",
      "apiVersion": "2022-04-01-preview",
      "name": "[format('{0}/{1}/{2}', parameters('siteName'), parameters('siteName'), parameters('existingDataNetworkName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "userPlaneDataInterface": {
          "ipv4Address": "[parameters('userPlaneDataInterfaceIpAddress')]",
          "ipv4Subnet": "[parameters('userPlaneDataInterfaceSubnet')]",
          "ipv4Gateway": "[parameters('userPlaneDataInterfaceGateway')]",
          "name": "[parameters('userPlaneDataInterfaceName')]"
        },
        "userEquipmentAddressPoolPrefix": "[if(empty(parameters('userEquipmentAddressPoolPrefix')), null(), createArray(parameters('userEquipmentAddressPoolPrefix')))]",
        "userEquipmentStaticAddressPoolPrefix": "[if(empty(parameters('userEquipmentStaticAddressPoolPrefix')), null(), createArray(parameters('userEquipmentStaticAddressPoolPrefix')))]",
        "naptConfiguration": {
          "enabled": "[parameters('naptEnabled')]"
        },
        "dnsAddresses": "[parameters('dnsAddresses')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes', parameters('siteName'), parameters('siteName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes/packetCoreDataPlanes",
      "apiVersion": "2022-04-01-preview",
      "name": "[format('{0}/{1}', parameters('siteName'), parameters('siteName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "userPlaneAccessInterface": {
          "ipv4Address": "[parameters('userPlaneAccessInterfaceIpAddress')]",
          "ipv4Subnet": "[parameters('accessSubnet')]",
          "ipv4Gateway": "[parameters('accessGateway')]",
          "name": "[parameters('userPlaneAccessInterfaceName')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.MobileNetwork/packetCoreControlPlanes', parameters('siteName'))]"
      ]
    },
    {
      "type": "Microsoft.MobileNetwork/packetCoreControlPlanes",
      "apiVersion": "2022-04-01-preview",
      "name": "[parameters('siteName')]",
      "location": "[parameters('location')]",
      "properties": {
        "mobileNetwork": {
          "id": "[resourceId('Microsoft.MobileNetwork/mobileNetworks', parameters('existingMobileNetworkName'))]"
        },
        "sku": "EvaluationPackage",
        "coreNetworkTechnology": "[parameters('coreNetworkTechnology')]",
        "platform": {
          "type": "[parameters('platformType')]",
          "customLocation": "[if(empty(parameters('customLocation')), null(), createObject('id', parameters('customLocation')))]"
        },
        "controlPlaneAccessInterface": {
          "ipv4Address": "[parameters('controlPlaneAccessIpAddress')]",
          "ipv4Subnet": "[parameters('accessSubnet')]",
          "ipv4Gateway": "[parameters('accessGateway')]",
          "name": "[parameters('controlPlaneAccessInterfaceName')]"
        }
      }
    }
  ]
}

In der Vorlage sind vier Azure-Ressourcen definiert.

Bereitstellen der Vorlage

  1. Wählen Sie den folgenden Link aus, um sich bei Azure anzumelden und eine Vorlage zu öffnen.

    Bereitstellen in Azure

  2. Wählen Sie die folgenden Werte aus oder geben Sie sie ein, wobei Sie die Informationen verwenden, die Sie unter Voraussetzungen abgerufen haben.

    Feld Wert
    Abonnement Wählen Sie das Azure-Abonnement aus, das Sie zum Erstellen Ihres privaten Mobilnetzwerks verwendet haben.
    Ressourcengruppe Wählen Sie in der angezeigten Ressourcengruppe die Mobilnetzwerk-Ressource aus, die Ihr privates Mobilnetzwerk darstellt.
    Region Wählen Sie USA, Osten aus.
    Location Geben Sie eastus ein.
    Name des bestehenden Mobilnetzwerks Geben Sie den Namen der Mobilnetzwerk-Ressource ein, die Ihr privates Mobilnetzwerk repräsentiert.
    Name des bestehenden Datennetzwerks Wählen Sie den Namen des Datennetzwerks aus, mit dem sich Ihr privates Mobilnetzwerk verbindet.
    Standortname Geben Sie einen Namen für Ihren Standort ein.
    Standortplan Geben Sie den Abrechnungsplan für Ihren Standort ein. Dies kann einer dieser Werte sein: G1, G2, G3, G4 oder G5.
    Plattformtyp Vergewissern Sie sich, dass AKS-HCI ausgewählt ist.
    Name der Zugriffsschnittstelle für die Steuerungsebene Geben Sie den Namen der Control Plane-Schnittstelle im Zugriffsnetzwerk ein. Dieser muss mit dem entsprechenden Namen des virtuellen Netzwerks an Port 5 auf Ihrem Azure Stack Edge Pro-Gerät übereinstimmen.
    Zugriffs-IP-Adresse der Steuerungsebene Geben Sie die IP-Adresse für die Steuerungsebenenschnittstelle im Zugangsnetzwerk ein.
    Name der Zugriffsschnittstelle für die Benutzerebene Geben Sie den Namen der Benutzerebenenschnittstelle im Zugangsnetzwerk ein. Dieser muss mit dem entsprechenden Namen des virtuellen Netzwerks an Port 5 auf Ihrem Azure Stack Edge Pro-Gerät übereinstimmen.
    IP-Adresse der Zugriffsschnittstelle für die Benutzerebene Lassen Sie dieses Feld leer.
    Zugangssubnetz Geben Sie die Netzwerkadresse des Zugangssubnetzes in der CIDR (Classless Inter-Domain Routing)-Notation an.
    Zugangs-Gateway Geben Sie das Standardgateway für das Zugangssubnetz an.
    Name der Datenschnittstelle der Benutzerebene Geben Sie den Namen der Benutzerebenenschnittstelle im Datennetzwerk ein. Dieser muss mit dem entsprechenden Namen des virtuellen Netzwerks an Port 6 auf Ihrem Azure Stack Edge Pro-Gerät übereinstimmen.
    IP-Adresse der Datenschnittstelle für die Benutzerebene Lassen Sie dieses Feld leer.
    Subnetz der Datenschnittstelle der Benutzerebene Geben Sie die Netzwerkadresse des Datensubnetzes in der CIDR-Notation an.
    Gateway der Datenschnittstelle der Benutzerebene Geben Sie das Standardgateway für das Datensubnetz an.
    Präfix des Adressenpools der Benutzergeräte Geben Sie die Netzwerkadresse des Subnetzes an, aus dem IP-Adressen den Benutzergeräten (User Equipment, UEs) zugeteilt werden müssen (angegeben in der CIDR-Notation). Sie können dies auslassen, wenn Sie die dynamische IP-Adresszuteilung nicht unterstützen möchten.
    Präfix des Pools mit statischen Adressen der Benutzergeräte Geben Sie die Netzwerkadresse des Subnetzes an, aus dem statische IP-Adressen den Benutzergeräten (User Equipment, UEs) zugeteilt werden müssen (angegeben in der CIDR-Notation). Sie können dies auslassen, wenn Sie die statische IP-Adresszuteilung nicht unterstützen möchten.
    Kernnetzwerktechnologie Geben Sie 5GC für 5G oder EPC für 4G ein.
    Napt aktiviert Setzen Sie dieses Feld, je nachdem, ob Netzwerkadress- und Portübersetzung (NAPT) für dieses Datennetzwerk aktiviert werden sollen.
    DNS-Adressen Geben Sie die Adresse des DNS-Servers ein. Sie sollten dies nur auslassen, wenn die UEs in diesem Datennetzwerk nicht auf das öffentliche Internet zugreifen müssen.
    Benutzerdefinierter Speicherort Geben Sie den Namen des benutzerdefinierten Standorts an, der auf den AKS-HCI-Cluster (Azure Kubernetes Service auf Azure Stack HCI) auf dem Azure Stack Edge Pro-Gerät am Standort ausgerichtet ist.
  3. Klicken Sie auf Überprüfen + erstellen.

  4. Die von Ihnen eingegebenen Konfigurationswerte werden daraufhin von Azure überprüft. Es sollte eine Meldung mit dem Hinweis angezeigt werden, dass die Überprüfung Ihrer Werte erfolgreich war.

    Schlägt die Überprüfung fehl, wird eine Fehlermeldung angezeigt, und die Registerkarte(n) Konfiguration mit ungültiger Konfiguration werden gekennzeichnet. Wählen Sie die gekennzeichneten Registerkarten aus, und verwenden Sie die Fehlermeldungen, um die ungültige Konfiguration zu korrigieren. Kehren Sie dann zur Registerkarte Überprüfen + erstellen zurück.

  5. Nachdem Ihre Konfiguration überprüft wurde, können Sie Erstellen auswählen, um den Standort zu erstellen. Wenn der Standort erstellt wurde, wird im Azure-Portal der folgende Bestätigungsbildschirm angezeigt.

Überprüfen der bereitgestellten Ressourcen

  1. Wählen Sie auf dem Bestätigungsbildschirm die Option Zur Ressourcengruppe wechseln aus.

    Screenshot des Microsoft Azure-Portals mit einer Bereitstellungsbestätigung für die ARM-Vorlage.

  2. Vergewissern Sie sich, dass die Ressourcengruppe die folgenden neuen Ressourcen enthält:

    • Eine Ressource für denmobilen Netzwerkstandort, die den Standort als Ganzes darstellt.
    • Eine Ressource der Paketkern-Steuerungsebene, die die Steuerungsebenenfunktion der Paketkerninstanz am Standort darstellt.
    • Eine Ressource der Paketkern-Datenebene, die die Datenebenenfunktion der Paketkerninstanz am Standort darstellt.
    • Eine angefügte Datennetzwerkressource, die die Standortansicht des Datennetzwerks darstellt.

    Screenshot des Microsoft Azure-Portals mit einer Ressourcengruppe, die eine Website und die zugehörigen Ressourcen enthält.

Nächste Schritte

Jetzt sollten Sie die Richtliniensteuerungskonfiguration Ihres privaten mobilen Netzwerks entwerfen, falls dies noch nicht geschehen ist. So können Sie anpassen, wie Ihre Paketkerninstanz QoS-Merkmale (Quality of Service) auf den Datenverkehr anwendet. Sie können auch bestimmte Flows blockieren oder einschränken.