共用方式為


快速入門:使用 Azure PowerShell 建立 Azure Front Door

在本快速入門中,您將瞭解如何使用 Azure PowerShell 建立 Azure Front Door 配置檔。 您會使用兩個 Web Apps 作為來源,並透過 Azure Front Door 端點主機名驗證連線能力。

使用 Azure PowerShell 的 Azure Front Door 部署環境圖表。

注意

針對 Web 工作負載,強烈建議使用 Azure DDoS 保護Web 應用程式防火牆來防範新興的 DDoS 攻擊。 另一個選項是運用 Azure Front Door 和 Web 應用程式防火牆。 Azure Front Door 提供平台層級保護來防範網路層級 DDoS 攻擊。 如需詳細資訊,請參閱 Azure 服務的安全性基準

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶
  • 已在本地安裝 Azure PowerShell 或 Azure Cloud Shell。

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

建立資源群組

使用 New-AzResourceGroup 建立資源群組:

New-AzResourceGroup -Name myRGFD -Location centralus

建立兩個 Web 應用程式實例

使用 New-AzWebApp 在不同的 Azure 區域中建立兩個 Web 應用程式實例:

# Create first web app in Central US region.
$webapp1 = New-AzWebApp `
    -Name "WebAppContoso-01" `
    -Location centralus `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanCentralUS

# Create second web app in East US region.
$webapp2 = New-AzWebApp `
    -Name "WebAppContoso-02" `
    -Location EastUS `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanEastUS

建立 Azure Front Door

建立 Azure Front Door 設定檔

執行 New-AzFrontDoorCdnProfile 以建立 Azure Front Door 配置文件:

$fdprofile = New-AzFrontDoorCdnProfile `
    -ResourceGroupName myRGFD `
    -Name contosoAFD `
    -SkuName Premium_AzureFrontDoor `
    -Location Global

新增端點

執行 New-AzFrontDoorCdnEndpoint 以在設定文件中建立端點:

$FDendpoint = New-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -Location Global

新增來源群組

建立健康情況探查和負載平衡設定,然後使用 New-AzFrontDoorCdnOriginGroup 建立原始群組

# Create health probe settings
$HealthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
    -ProbeIntervalInSecond 60 `
    -ProbePath "/" `
    -ProbeRequestType GET `
    -ProbeProtocol Http

# Create load balancing settings
$LoadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
    -AdditionalLatencyInMillisecond 50 `
    -SampleSize 4 `
    -SuccessfulSamplesRequired 3

# Create origin group
$originpool = New-AzFrontDoorCdnOriginGroup `
    -OriginGroupName og `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HealthProbeSetting $HealthProbeSetting `
    -LoadBalancingSetting $LoadBalancingSetting

將來源新增至群組

使用 New-AzFrontDoorCdnOrigin 將 Web 應用程式來源新增至原始群組:

# Add first web app origin to origin group.
$origin1 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso1 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-01.azurewebsites.net `
    -OriginHostHeader webappcontoso-01.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

# Add second web app origin to origin group.
$origin2 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso2 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-02.azurewebsites.net `
    -OriginHostHeader webappcontoso-02.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

新增路由

使用 New-AzFrontDoorCdnRoute 將您的端點對應至源群組:

$Route = New-AzFrontDoorCdnRoute `
    -EndpointName contosofrontend `
    -Name defaultroute `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -ForwardingProtocol MatchRequest `
    -HttpsRedirect Enabled `
    -LinkToDefaultDomain Enabled `
    -OriginGroupId $originpool.Id `
    -SupportedProtocol Http,Https

測試 Azure Front Door

建立 Azure Front Door 配置文件之後,需要幾分鐘的時間才能全域部署設定。 完成後,請存取您建立的前端主機。

執行 Get-AzFrontDoorCdnEndpoint 以取得 Azure Front Door 端點的主機名:

$fd = Get-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoafd `
    -ResourceGroupName myRGFD

$fd.hostname

在瀏覽器中,移至端點主機名稱:contosofrontend-<hash>.z01.azurefd.net。 您的要求會路由傳送至原始群組中延遲最低的 Web 應用程式。

訊息的螢幕擷取畫面:您的 Web 應用程式正在執行,且正在等待您的同意。

若要測試立即全域故障轉移:

  1. 開啟瀏覽器,移至端點主機名稱:contosofrontend-<hash>.z01.azurefd.net

  2. 執行 Stop-AzWebApp 以停止其中一個 Web Apps:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    
  3. 重新整理您的瀏覽器。 您應該會看到相同的資訊頁面。

  4. 停止其他 Web 應用程式:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"
    
  5. 重新整理您的瀏覽器。 此時,您應該會看到一則錯誤訊息。

    訊息的螢幕擷取畫面:已停止 Web 應用程式的兩個執行個體。

  6. 執行 Start-AzWebApp 以重新啟動其中一個 Web 應用程式。 重新整理您的瀏覽器,而頁面會回到正常狀態:

    Start-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    

清除資源

當您不再需要使用 Azure Front Door 建立的資源時,請刪除資源群組。 此動作會刪除 Azure Front Door 及其所有相關資源。 執行 Remove-AzResourceGroup

Remove-AzResourceGroup -Name myRGFD

下一步

若要瞭解如何將自定義網域新增至 Azure Front Door,請繼續進行 Azure Front Door 教學課程。