適用於: ✔️ Front Door Standard ✔️ Front Door Premium
在本快速入門中,您將了解如何使用 Azure PowerShell 來建立 Azure Front Door 設定檔。 您可以使用兩個 Web 應用程式做為來源,並透過 Azure Front Door 端點主機名稱驗證連線能力。
附註
對於網頁工作負載,我們強烈建議您使用 Azure DDoS 防護 及 網頁應用防火牆 ,以防範新興的 DDoS 攻擊。 另一個選擇是搭配 Azure Front Door 搭配網頁應用程式防火牆。 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 中。 |
|
| 前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 |
|
| 選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 |
|
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 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 應用程式。
若要測試立即全域故障轉移:
開啟瀏覽器,移至端點主機名稱:
contosofrontend-<hash>.z01.azurefd.net。執行 Stop-AzWebApp 以停止其中一個 Web 應用程式:
Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"重新整理您的瀏覽器。 您應該會看到相同的資訊頁面。
停止另一個 Web 應用程式:
Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"重新整理您的瀏覽器。 此時,您應該會看到一則錯誤訊息。
執行 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 教學課程。