Freigeben über


Schnellstart: Erstellen einer Azure Front Door-Instanz (klassisch) mit einer ARM-Vorlage

Gilt für: ✔️ Front Door (klassisch)

Von Bedeutung

Azure Front Door (klassisch) wird am 31. März 2027 eingestellt. Um Dienstunterbrechungen zu vermeiden, ist es wichtig, dass Sie Ihre klassischen Azure Front Door-Profile bis März 2027 auf Azure Front Door Standard oder Premium migrieren. Weitere Informationen finden Sie unter Außerbetriebnahme von Azure Front Door (klassisch).

In diesem Schnellstart wird beschrieben, wie Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage) zum Erstellen einer Azure Front Door-Instanz (klassisch) verwenden, um Hochverfügbarkeit für einen Webendpunkt einzurichten.

Eine Azure Resource Manager-Vorlage ist eine JSON (JavaScript Object Notation)-Datei, welche die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zu schreiben, mit denen die Bereitstellung erstellt wird.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, wählen Sie die Schaltfläche Deploy to Azure aus. Die Vorlage wird im Azure-Portal geöffnet.

Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

Voraussetzungen

  • Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
  • Die IP-Adresse oder der vollqualifizierter Domänenname (FQDN) einer Website oder Webanwendung

Überprüfen der Vorlage

Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen.

In diesem Schnellstart erstellen Sie eine Front Door-Konfiguration mit einem einzelnen Back-End und einem einzelnen Standardpfad, der mit /* übereinstimmt.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "3725740582931828211"
    }
  },
  "parameters": {
    "frontDoorName": {
      "type": "string",
      "metadata": {
        "description": "The name of the frontdoor resource."
      }
    },
    "backendAddress": {
      "type": "string",
      "metadata": {
        "description": "The hostname of the backend. Must be an IP address or FQDN."
      }
    }
  },
  "variables": {
    "frontEndEndpointName": "frontEndEndpoint",
    "loadBalancingSettingsName": "loadBalancingSettings",
    "healthProbeSettingsName": "healthProbeSettings",
    "routingRuleName": "routingRule",
    "backendPoolName": "backendPool"
  },
  "resources": [
    {
      "type": "Microsoft.Network/frontDoors",
      "apiVersion": "2021-06-01",
      "name": "[parameters('frontDoorName')]",
      "location": "global",
      "properties": {
        "enabledState": "Enabled",
        "frontendEndpoints": [
          {
            "name": "[variables('frontEndEndpointName')]",
            "properties": {
              "hostName": "[format('{0}.azurefd.net', parameters('frontDoorName'))]",
              "sessionAffinityEnabledState": "Disabled"
            }
          }
        ],
        "loadBalancingSettings": [
          {
            "name": "[variables('loadBalancingSettingsName')]",
            "properties": {
              "sampleSize": 4,
              "successfulSamplesRequired": 2
            }
          }
        ],
        "healthProbeSettings": [
          {
            "name": "[variables('healthProbeSettingsName')]",
            "properties": {
              "path": "/",
              "protocol": "Http",
              "intervalInSeconds": 120
            }
          }
        ],
        "backendPools": [
          {
            "name": "[variables('backendPoolName')]",
            "properties": {
              "backends": [
                {
                  "address": "[parameters('backendAddress')]",
                  "backendHostHeader": "[parameters('backendAddress')]",
                  "httpPort": 80,
                  "httpsPort": 443,
                  "weight": 50,
                  "priority": 1,
                  "enabledState": "Enabled"
                }
              ],
              "loadBalancingSettings": {
                "id": "[resourceId('Microsoft.Network/frontDoors/loadBalancingSettings', parameters('frontDoorName'), variables('loadBalancingSettingsName'))]"
              },
              "healthProbeSettings": {
                "id": "[resourceId('Microsoft.Network/frontDoors/healthProbeSettings', parameters('frontDoorName'), variables('healthProbeSettingsName'))]"
              }
            }
          }
        ],
        "routingRules": [
          {
            "name": "[variables('routingRuleName')]",
            "properties": {
              "frontendEndpoints": [
                {
                  "id": "[resourceId('Microsoft.Network/frontDoors/frontEndEndpoints', parameters('frontDoorName'), variables('frontEndEndpointName'))]"
                }
              ],
              "acceptedProtocols": [
                "Http",
                "Https"
              ],
              "patternsToMatch": [
                "/*"
              ],
              "routeConfiguration": {
                "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
                "forwardingProtocol": "MatchRequest",
                "backendPool": {
                  "id": "[resourceId('Microsoft.Network/frontDoors/backEndPools', parameters('frontDoorName'), variables('backendPoolName'))]"
                }
              },
              "enabledState": "Enabled"
            }
          }
        ]
      }
    }
  ],
  "outputs": {
    "name": {
      "type": "string",
      "value": "[parameters('frontDoorName')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Network/frontDoors', parameters('frontDoorName'))]"
    }
  }
}

In der Vorlage ist eine einzelne Azure-Ressource definiert:

Implementieren der Vorlage

  1. Wählen Sie Try it (Ausprobieren) im folgenden Codeblock aus, um Azure Cloud Shell zu öffnen. Folgen Sie dann den Anweisungen, um sich bei Azure anzumelden.

    $projectName = Read-Host -Prompt "Enter a project name that is used for generating resource names"
    $location = Read-Host -Prompt "Enter the location (i.e. centralus)"
    $templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.network/front-door-create-basic/azuredeploy.json"
    
    $resourceGroupName = "${projectName}rg"
    
    New-AzResourceGroup -Name $resourceGroupName -Location "$location"
    New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri
    
    Read-Host -Prompt "Press [ENTER] to continue ..."
    

    Warten Sie, bis die Aufforderung in der Konsole angezeigt wird.

  2. Wählen Sie Copy (Kopieren) im vorherigen Codeblock aus, um das PowerShell-Skript zu kopieren.

  3. Klicken Sie mit der rechten Maustaste auf den Shellkonsolenbereich, und wählen Sie Einfügen aus.

  4. Gehen Sie die Werte ein.

    Bei der Vorlagenbereitstellung wird eine Front Door-Instanz mit einem einzelnen Back-End erstellt. In diesem Beispiel wird microsoft.com für backendAddress verwendet.

    Der Ressourcengruppenname ist der Projektname mit dem Zusatz rg.

    Hinweis

    frontDoorName muss ein global eindeutiger Name sein, damit die Vorlage erfolgreich bereitgestellt werden kann. Tritt bei der Bereitstellung ein Fehler auf, beginnen Sie erneut mit Schritt 1.

    Die Bereitstellung der Vorlage dauert einige Minuten. Nach Abschluss des Vorgangs sieht die Ausgabe in etwa wie folgt aus:

    PowerShell-Bereitstellungsausgabe für die Front Door-Instanz mit Resource Manager-Vorlage

Azure PowerShell wird verwendet, um die Vorlage bereitzustellen. Neben Azure PowerShell können Sie auch das Azure-Portal, die Azure-CLI und die REST-API verwenden. Informationen zu anderen Bereitstellungsmethoden finden Sie unter Bereitstellen von Vorlagen.

Validierung der Bereitstellung

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie im linken Bereich Ressourcengruppen aus.

  3. Wählen Sie die Ressourcengruppe aus, die Sie im vorherigen Abschnitt erstellt haben. Der Ressourcengruppenname entspricht standardmäßig dem Projektnamen mit dem Zusatz rg.

  4. Wählen Sie die zuvor erstellte Front Door-Instanz aus, und wählen Sie den Link Front-End-Host aus. Dadurch wird ein Webbrowser geöffnet, der Sie an den Back-End-FQDN weiterleitet, den Sie bei der Erstellung definiert haben.

    Übersicht über das Front Door-Portal

Bereinigen von Ressourcen

Wenn Sie den Front Door-Dienst nicht mehr benötigen, löschen Sie die Ressourcengruppe. Dadurch werden die Front Door-Instanz und alle zugehörigen Ressourcen gelöscht.

Rufen Sie zum Löschen der Ressourcengruppe das Cmdlet Remove-AzResourceGroup auf:

Remove-AzResourceGroup -Name <your resource group name>

Nächste Schritte

In diesem Schnellstart haben Sie eine Front Door-Instanz erstellt.

Fahren Sie mit den Front Door-Tutorials fort, um zu erfahren, wie Sie Ihrer Front Door-Instanz eine benutzerdefinierte Domäne hinzufügen.