Aracılığıyla paylaş


Hızlı Başlangıç: ARM şablonu kullanarak Azure Front Door (klasik) oluşturmaQuickstart: Create an Azure Front Door (classic) using an ARM template

Şunlar için geçerlidir: ✔️ Front Door (klasik)

Önemli

Azure Front Door (klasik) 31 Mart 2027'de kullanımdan kaldırılacaktır. Hizmet kesintisini önlemek için, Mart 2027'ye kadar Azure Front Door (klasik) profilleriniziAzure Front Door Standard veya Premium katmanına geçirmenizönemlidir. Daha fazla bilgi için Azure Front Door (klasik) kullanımdan kaldırılması bölümüne bakın.

Bu hızlı başlangıçta, bir web uç noktası için yüksek kullanılabilirlik ayarlamak üzere bir Azure Front Door (klasik) oluşturmak için Azure Resource Manager şablonunun (ARM Şablonu) nasıl kullanılacağı açıklanır.

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Şablon deklaratif sözdizimi kullanı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 portalında açılır.

Azure'a Resource Manager şablonunu konuşlandırmak için buton.

Önkoşullar

  • Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
  • Bir web sitesinin veya web uygulamasının IP veya FQDN'sini.

Şablonu gözden geçir

Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.

Bu hızlı başlangıçta, tek bir back-end ve tek bir varsayılan yolun eşleşmesiyle /* bir Front Door yapılandırması oluşturacaksınız.

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

Şablonda bir Azure kaynağı tanımlanmıştır:

Şablonu dağıt

  1. Azure Cloud Shell'i açmak için aşağıdaki kod bloğundan Deneyin'i seçin ve ardından Yönergeleri izleyerek Azure'da oturum açın.

    $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 ..."
    

    Konsoldan istemi görene kadar bekleyin.

  2. PowerShell betiğini kopyalamak için önceki kod bloğundan Kopyala'yı seçin.

  3. Shell konsolu bölmesine sağ tıklayın ve Yapıştır'ı seçin.

  4. Değerleri girin.

    Şablon dağıtımı, tek bir arka uca sahip bir Front Door oluşturur. Bu örnekte microsoft.combackendAddress olarak kullanılır.

    Kaynak grubu adı, rg'nin eklendiği proje adıdır.

    Uyarı

    Şablonun başarıyla dağıtılması için frontDoorName'in genel olarak benzersiz bir ad olması gerekir. Dağıtım başarısız olursa 1. Adım ile baştan başlayın.

    Şablonun dağıtılması birkaç dakika sürer. Tamamlandığında, çıkış şuna benzer:

    Front Door Resource Manager şablonu PowerShell dağıtım sonucu

Azure PowerShell, şablonu dağıtmak için kullanılır. Azure PowerShell'e ek olarak Azure portalı, Azure CLI ve REST API'yi de kullanabilirsiniz. Diğer dağıtım yöntemlerini öğrenmek için bkz . Şablonları dağıtma.

Dağıtımı doğrulayın.

  1. Azure portalınaoturum açın.

  2. Sol bölmeden Kaynak grupları'nı seçin.

  3. Önceki bölümde oluşturduğunuz kaynak grubunu seçin. Varsayılan kaynak grubu adı, rg'nin eklendiği proje adıdır.

  4. Daha önce oluşturduğunuz Front Door'u seçin ve Frontend sunucu bağlantısına tıklayın. Bağlantı, sizi oluşturma sırasında tanımladığınız arka uç FQDN'nize yönlendiren bir web tarayıcısı açar.

    Front Door portalına genel bakış

Kaynakları temizle

Artık Front Door hizmetine ihtiyacınız kalmadığında kaynak grubunu silin. Böylece Front Door ve ilgili tüm kaynaklar kaldırılır.

Kaynak grubunu silmek için cmdlet'ini çağırın Remove-AzResourceGroup :

Remove-AzResourceGroup -Name <your resource group name>

Sonraki Adımlar

Bu hızlı başlangıçta bir Front Door oluşturdunuz.

Front Door'unuza özel etki alanı eklemeyi öğrenmek için Front Door öğreticilerine bakabilirsiniz.