為應用程式閘道 v2 排程自動調整
概觀
對於遇到可預測的每日流量模式,以及對應用程式閘道所需容量有可靠估計的人員,可以選擇預先排程最小容量,以更符合流量需求。
雖然經常使用自動調整,但請務必注意,應用程式閘道目前不支援原生預先排程的容量調整。
目標是使用 Azure 自動化來建立執行 Runbook 的排程,以調整應用程式閘道的最小自動調整容量,以符合尖峰與非尖峰時段的流量需求。
設定排程的自動調整
實作排程的自動調整:
- 在與應用程式閘道相同的租用戶中建立 Azure 自動化帳戶資源。
- 注意 Azure 自動化帳戶的系統指派受控識別。
- 建立 PowerShell Runbook,以增加和減少應用程式閘道資源的最小自動調整容量。
- 建立需要實作 Runbook 的排程。
- 將 Runbook 與其各自的排程產生關聯。
- 將步驟 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 相關警示。
下一步
- 深入了解調整應用程式閘道 v2 和 WAF v2
- 深入了解使用度量警示來監視 Azure 自動化 Runbook
- 深入了解 Azure 自動化