Udostępnij za pośrednictwem


Szybki start: tworzenie usługi Azure Front Door (wersja klasyczna) przy użyciu aplikacji Bicep

Dotyczy: ✔️ Front Door (wersja klasyczna)

Ważne

Usługa Azure Front Door (klasyczna) zostanie wycofana 31 marca 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure Front Door (wersja klasyczna) do warstwy Azure Front Door Standard lub Premium do marca 2027 r. Aby uzyskać więcej informacji, zobacz Wycofywanie usługi Azure Front Door (wersja klasyczna).

W tym przewodniku Szybki start opisano, jak za pomocą aplikacji Bicep utworzyć usługę Azure Front Door (klasyczną) w celu skonfigurowania wysokiej dostępności dla internetowego punktu końcowego.

Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. Zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu. Bicep oferuje najlepsze środowisko tworzenia rozwiązań infrastruktury jako kodu na platformie Azure.

Wymagania wstępne

  • Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
  • Adres IP lub nazwa FQDN witryny internetowej lub aplikacji internetowej.

Przejrzyj plik programu Bicep

Plik Bicep używany w tym szybkim starcie pochodzi z Szablonów szybkiego startu Azure.

W tym przewodniku Szybki start utworzysz konfigurację usługi Front Door z pojedynczym zapleczem i pojedynczą ścieżką domyślną zgodną z ./*

@description('The name of the frontdoor resource.')
param frontDoorName string

@description('The hostname of the backend. Must be an IP address or FQDN.')
param backendAddress string

var frontEndEndpointName = 'frontEndEndpoint'
var loadBalancingSettingsName = 'loadBalancingSettings'
var healthProbeSettingsName = 'healthProbeSettings'
var routingRuleName = 'routingRule'
var backendPoolName = 'backendPool'

resource frontDoor 'Microsoft.Network/frontDoors@2021-06-01' = {
  name: frontDoorName
  location: 'global'
  properties: {
    enabledState: 'Enabled'

    frontendEndpoints: [
      {
        name: frontEndEndpointName
        properties: {
          hostName: '${frontDoorName}.azurefd.net'
          sessionAffinityEnabledState: 'Disabled'
        }
      }
    ]

    loadBalancingSettings: [
      {
        name: loadBalancingSettingsName
        properties: {
          sampleSize: 4
          successfulSamplesRequired: 2
        }
      }
    ]

    healthProbeSettings: [
      {
        name: healthProbeSettingsName
        properties: {
          path: '/'
          protocol: 'Http'
          intervalInSeconds: 120
        }
      }
    ]

    backendPools: [
      {
        name: backendPoolName
        properties: {
          backends: [
            {
              address: backendAddress
              backendHostHeader: backendAddress
              httpPort: 80
              httpsPort: 443
              weight: 50
              priority: 1
              enabledState: 'Enabled'
            }
          ]
          loadBalancingSettings: {
            id: resourceId('Microsoft.Network/frontDoors/loadBalancingSettings', frontDoorName, loadBalancingSettingsName)
          }
          healthProbeSettings: {
            id: resourceId('Microsoft.Network/frontDoors/healthProbeSettings', frontDoorName, healthProbeSettingsName)
          }
        }
      }
    ]

    routingRules: [
      {
        name: routingRuleName
        properties: {
          frontendEndpoints: [
            {
              id: resourceId('Microsoft.Network/frontDoors/frontEndEndpoints', frontDoorName, frontEndEndpointName)
            }
          ]
          acceptedProtocols: [
            'Http'
            'Https'
          ]
          patternsToMatch: [
            '/*'
          ]
          routeConfiguration: {
            '@odata.type': '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
            forwardingProtocol: 'MatchRequest'
            backendPool: {
              id: resourceId('Microsoft.Network/frontDoors/backEndPools', frontDoorName, backendPoolName)
            }
          }
          enabledState: 'Enabled'
        }
      }
    ]
  }
}

output name string = frontDoor.name
output resourceGroupName string = resourceGroup().name
output resourceId string = frontDoor.id

Jeden zasób platformy Azure jest zdefiniowany w pliku Bicep:

Wdróż plik Bicep

  1. Zapisz plik Bicep jako main.bicep na komputerze lokalnym.

  2. Wdróż plik Bicep przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.

    az group create --name exampleRG --location eastus
    az deployment group create --resource-group exampleRG --template-file main.bicep --parameters frontDoorName=<door-name> backendAddress=<backend-address>
    

    Uwaga / Notatka

    Zastąp <door-name> nazwą zasobu Front Door. Zastąp <adres> zaplecza nazwą hosta zaplecza. Musi to być adres IP lub nazwa FQDN.

    Po zakończeniu wdrażania powinien zostać wyświetlony komunikat informujący o pomyślnym wdrożeniu.

Weryfikowanie wdrożenia

Użyj witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby wyświetlić listę wdrożonych zasobów w grupie zasobów.

az resource list --resource-group exampleRG

Uprzątnij zasoby

Gdy usługa Front Door i grupa zasobów przestaną być potrzebne, użyj portalu Azure, interfejsu wiersza polecenia Azure CLI lub programu Azure PowerShell, aby je usunąć. Spowoduje to usunięcie usługi Front Door i wszystkich powiązanych zasobów.

az group delete --name exampleRG

Dalsze kroki

W tym przewodniku Szybki start utworzono usługę Front Door.

Aby dowiedzieć się, jak dodać domenę niestandardową do usługi Front Door, przejdź do samouczków usługi Front Door.