I often makes demo setups in my Azure subscription that has spending limits, so I have to gracefully shutdown all “hungry” resources to save some money such as VMs , Application Gateways and etc. To stop VMs, you can simply use the Azure Portal start/stop buttons, however, Azure Portal doesn’t allow you to stop application gateway. In such cases, Azure PowerShell helps.
Open the Azure Cloud Shell or local PowerShell with Az module installed and use the following:
# Get Azure Application Gateway
$appgw=Get-AzApplicationGateway -Name <appgw_name> -ResourceGroupName <rg_name>
# Stop the Azure Application Gateway
Stop-AzApplicationGateway -ApplicationGateway $appgw
# Start the Azure Application Gateway (optional)
Start-AzApplicationGateway -ApplicationGateway $appgw
Azure Portal updates the Application Gateway:

Verify the application gateway has stopped state. You will only billed for the public IP assigned to the stopped Application Gateway (saves money significantly):

Start the application gateway (optional):

Application Gateways are unexpectedly high $$-consuming.
I am thinking about using a small linux vm setup with a reverse proxy instead of this what do you think?
I am trying to lower consumption by using v1 instead of v2 for now.
what are you trying to publish? required features? (ssl offload and etc.)
If you want to use with azure automation you can use this https://github.com/mironalessandro/AZApplicationGateway
thanks for sharing. useful!