分享方式:


為應用程式閘道 v2 排程自動調整

概觀

對於遇到可預測的每日流量模式,以及對應用程式閘道所需容量有可靠估計的人員,可以選擇預先排程最小容量,以更符合流量需求。

雖然經常使用自動調整,但請務必注意,應用程式閘道目前不支援原生預先排程的容量調整。

目標是使用 Azure 自動化來建立執行 Runbook 的排程,以調整應用程式閘道的最小自動調整容量,以符合尖峰與非尖峰時段的流量需求。

設定排程的自動調整

實作排程的自動調整:

  1. 在與應用程式閘道相同的租用戶中建立 Azure 自動化帳戶資源。
  2. 注意 Azure 自動化帳戶的系統指派受控識別。
  3. 建立 PowerShell Runbook,以增加和減少應用程式閘道資源的最小自動調整容量。
  4. 建立需要實作 Runbook 的排程。
  5. 將 Runbook 與其各自的排程產生關聯。
  6. 將步驟 2 中所述的系統指派受控識別與應用程式閘道和應用程式閘道 VNET 資源建立關聯。

設定自動化

假如要求是在上班時間將最小計數增加到 4,並將非上班時間的最小計數減少為 2。

系統會建立兩個 Runbook:

  • IncreaseMin - 將自動調整組態的最小計數設定設為 4
  • DecreaseMin - 將自動調整組態的最小計數設定設為 2

使用下列 PowerShell Runbook 來調整容量:

# Get the context of the managed identity 
$context = (Connect-AzAccount -Identity).Context 
# Import the Az module 
Import-Module Az 
# Adjust the min count of your Application Gateway 
$gw = Get-AzApplicationGateway -Name “<AppGwName>” -ResourceGroupName “<ResourceGroupName>”
$gw = Set-AzApplicationGatewayAutoscaleConfiguration -ApplicationGateway $gw -MinCapacity <NumberOfRequiredInstances>
$gw = Set-AzApplicationGateway -ApplicationGateway $gw 

接下來,建立下列兩個排程:

  • WeekdayMorning - 從週一到週五於上午 5:00 PST 執行 IncreaseMin Runbook
  • WeekdayEvening – 從週一到週五於下午 9:00 PST 執行 DecreaseMin Runbook

常見問題集

  • 即時作業執行的 SLA 為何?

    Azure 自動化有 99.9% 的 SLA,可及時啟動作業。

  • 如果作業在執行期間中斷,會發生什麼事?

    • 如果作業已在中斷之前將要求傳送至 AppGW,則要求會通過。
    • 如果在將要求傳送至應用程式閘道之前中斷作業,則這將是下一節所述的其中一個案例。
  • 如果作業工作未發生,會發生什麼事?

    工作不存在 影響
    IncreaseMin 回復原生自動調整。 下一次執行 DecreaseMin 應該為 no-op,因為不需要調整計數。
    DecreaseMin 針對為這些時數佈建的 (非預期) 容量,客戶的額外成本。 下一次執行 IncreaseMin 應該為 no-op,因為不需要調整計數。
  • 自動調整組態是否可以每天變更多次?

    不建議經常調整自動調整組態。 為了達到最佳平衡,請考慮每天排程更新兩次,以配合尖峰和非尖峰使用模式。

注意

如果您有問題或需要協助設定部署的受控和排程自動調整,請傳送電子郵件至 agschedule-autoscale@microsoft.com。 如果您在設定 Runbook 時遇到一些問題,請參閱 針對 Runbook 問題進行疑難解答。 您可以遵循使用計量警示監視 Azure 自動化 Runbook 來設定 Runbook 相關警示

下一步