Azure Application Gatewayの起動停止方法纏め(停止で課金を止める)

2020-01-19Application Gateway,Azure

アプリケーションゲートウェイ(Azure Application Gateway)は停止させる事で課金を止める事が出来ます。
Azure Portalでは停止する事が出来ずCLIで実施する必要があります。

アプリケーションゲートウェイ(Azure Application Gateway)のステータス確認から起動停止コマンドを纏めてみました。
Azure CLIとAzure PowerShellについて纏めています。

Azure CLIやAzure PowerShellのインストールについてはこちらを参照ください。

Azure Cloud Shellの使い方についてはこちらを参照願います。

※2023年9月に加筆修正しました。
※Azure CLIやAzure PowerShellについては公式サイトの情報も併せて参照願います。

Azure CLI
Azure PowerShell

スポンサーリンク

アプリケーションゲートウェイ(Azure Application Gateway)を停止すると課金も止まる

課金について

Application Gateway の価格

アプリケーションゲートウェイ(Azure Application Gateway)は、デプロイされている時間に応じて課金が発生します。
容量ユニット数関わらず固定で$0.29/ゲートウェイ時間(東日本リージョン)(V2の場合)の課金が発生します。
Web アプリケーション ファイアウォール利用時は$0.522/ゲートウェイ時間発生し(東日本リージョン)(V2の場合)の課金が発生します。
検証環境など夜間使わない場合でもデプロイしておくだけで課金が発生してしまいます。

1時間未満は1時間に切り上げられる

1 時間に満たない時間は、1 時間分として課金されます。
短時間でデプロイを繰り返すとその分課金額も上がっていきます。
例えば1時間に3回デプロイすると3時間分の課金となります。

停止させると課金も止まる

アプリケーションゲートウェイ(Azure Application Gateway)が停止状態の場合は課金が発生しません。

Azure Application Gateway を停止して開始する方法は?

※アタッチされているパブリックIPの課金は停止しません。

Azure Portalでは起動停止できない

アプリケーションゲートウェイ(Azure Application Gateway)の停止はAzure Portalでは提供されていません。
Azure PowerShellやAzure CLIを使って停止する必要があります。

設定変更で起動される

正常性プローブやリスナーなどを設定変更をするとアプリケーションゲートウェイ(Azure Application Gateway)は起動します。
リソースの設定変更時はステータスを確認して起動状況を確認します。

※設定変更自体は起動状況によらず実行されます。

リスト、ステータス取得、起動停止時に使うAzure CLIとAzure PowerShell

リストや詳細情報(ステータス)を取得

アプリケーションゲートウェイ(Azure Application Gateway)のリストや情報取得時に使うAzure CLI、Azure PowerShellについて纏めています。
起動停止状態はOperationalStateで確認出来ます。

  Azure CLI Azure PowerShell
リソースのリストを取得 az network application-gateway list –output table

Get-AzApplicationGateway | ft Name,Location,ResourceGroupName,OperationalState,ProvisioningState

リソースのリストを取得
(リソースグループ指定)
az network application-gateway list –resource-group “リソースグループ名" –output table

Get-AzApplicationGateway -ResourceGroupName “リソースグループ名" | ft Name,Location,ResourceGroupName,OperationalState,ProvisioningState

詳細情報(ステータス)を取得

サブスクリプション内すべて
az network application-gateway list

リソースグループ内すべて
az network application-gateway list –resource-group “リソースグループ名"

個別のリソース
az network application-gateway show –resource-group “リソースグループ名" –name “アプリケーションゲートウェイ名"

サブスクリプション内すべて
Get-AzApplicationGateway

リソースグループ内すべて
Get-AzApplicationGateway -ResourceGroupName “リソースグループ名"

個別のリソース
Get-AzApplicationGateway -ResourceGroupName “リソースグループ名" -name “アプリケーションゲートウェイ名"

※Azure PowerShellの場合は詳細情報が表示されます。項目を指定して表形式で表示しています。
※Azure CLIの–resource-groupは-g、–nameは-nと省略して表記できます。
※Azure CLIで詳細情報取得時も–output tableを付与する事でリソース名、ステータスを表形式で取得できます。

Azureテナントへのログイン方法はこちらに纏めています。

起動停止時に使うコマンド(Azure CLI、PowerShell)

アプリケーションゲートウェイ(Azure Application Gateway)の起動停止時に使うコマンド(Azure CLI、Azure PowerShell)です。

  Azure CLI Azure PowerShell
起動 az network application-gateway start –name “アプリケーションゲートウェイ名"

$AppGw = Get-AzApplicationGateway -ResourceGroupName “リソースグループ名" -name “アプリケーションゲートウェイ名"
Start-AzApplicationGateway -ApplicationGateway $AppGw

停止

az network application-gateway stop –name “アプリケーションゲートウェイ名"

$AppGw = Get-AzApplicationGateway -ResourceGroupName “リソースグループ名" -name “アプリケーションゲートウェイ名"
Stop-AzApplicationGateway -ApplicationGateway $AppGw

※Azure CLIの–resource-groupは-g、–nameは-nと省略して表記できます。

アプリケーションゲートウェイ(Azure Application Gateway)を起動停止

Azure CLIを使って起動停止

Azure CLIを使ったアプリケーションゲートウェイ(Azure Application Gateway)の停止から起動までの流れです。
それぞれの状態でのステータスも確認しています。
OperationalStateが起動停止状態を表します。停止状態の場合はStopped、起動状態の場合はRunningとなります。

    • アプリケーションゲートウェイ(Azure Application Gateway)
      • アプリケーションゲートウェイ名:agw-test-01
      • リソースグループ名:RG-AGW-TEST-01
状態 コマンド実行内容
 停止

PS C:>az network application-gateway stop –resource-group “RG-AGW-TEST-01" –name “agw-test-01"

停止時のステータス

PS C:>az network application-gateway show –resource-group “RG-AGW-TEST-01" –name “agw-test-01" –output table

EnableHttp2 Location Name OperationalState ProvisioningState ResourceGroup ResourceGuid
————- ———- ———– —————— ——————- ————— ————————————
False eastus2 agw-test-01 Stopped Succeeded RG-AGW-TEST-01 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

 起動

PS C:>az network application-gateway start –resource-group “RG-AGW-TEST-01" –name “agw-test-01"

起動時のステータス

PS C:>az network application-gateway show –resource-group “RG-AGW-TEST-01" –name “agw-test-01" –output table

EnableHttp2 Location Name OperationalState ProvisioningState ResourceGroup ResourceGuid
————- ———- ———– —————— ——————- ————— ————————————
False eastus2 agw-test-01 Running Succeeded RG-AGW-TEST-01 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

Azure PowerShell使って起動停止

Azure PowerShellを使ったアプリケーションゲートウェイ(Azure Application Gateway)の停止から起動までの流れです。
それぞれの状態でのステータスも確認しています。
OperationalStateが起動停止状態を表します。停止状態の場合はStopped、起動状態の場合はRunningとなります。

    • アプリケーションゲートウェイ(Azure Application Gateway)
      • アプリケーションゲートウェイ名:agw-test-01
      • リソースグループ名:RG-AGW-TEST-01
状態 コマンド実行内容
 停止

PS C:>$AppGw = Get-AzApplicationGateway -Name “agw-test-01" -ResourceGroupName “RG-AGW-TEST-01"
PS C:>Stop-AzApplicationGateway -ApplicationGateway $AppGw

停止時のステータス

PS C:>Get-AzApplicationGateway -Name “agw-test-01" -ResourceGroupName “RG-AGW-TEST-01″| ft Name,Location,ResourceGroupName,OperationalState,ProvisioningState

Name Location ResourceGroupName OperationalState ProvisioningState
—- ——– —————– —————- —————–
agw-test-01 eastus2 RG-AGW-TEST-01 Stopped Succeeded

 起動

PS C:>$AppGw = Get-AzApplicationGateway -Name “agw-test-01" -ResourceGroupName “RG-AGW-TEST-01"
PS C:>Start-AzApplicationGateway -ApplicationGateway $AppGw

起動時のステータス

PS C:>Get-AzApplicationGateway -Name “agw-test-01" -ResourceGroupName “RG-AGW-TEST-01″| ft Name,Location,ResourceGroupName,OperationalState,ProvisioningState

Name Location ResourceGroupName OperationalState ProvisioningState
—- ——– —————– —————- —————–
agw-test-01 eastus2 RG-AGW-TEST-01 Running Succeeded

Azure Portal上でステータスを確認

アプリケーションゲートウェイ(Azure Application Gateway)の起動提示状態はAzure Portalで確認出来ます。
停止している場合は動作状態が停止済みとなります。
起動停止実行中はプロビジョニング状態が更新中になります。

起動状態 停止中 停止状態

最後に

CLIでアプリケーションゲートウェイ(Azure Application Gateway)の起動停止する方法を中心に纏めてみました。
リソースの起動停止には約5分程度かかる事もありますが停止する事で課金が止まるのは大変メリットかと思います。
検証環境等でのコスト削減に活用する事も出来ます。

引き続き色々試してみたいと思います。

ファイアウォール(Azure Firewall)の起動停止についてはこちらに纏めています。

アプリケーションゲートウェイ(Azure Application Gateway)の構築手順についてはこちらに纏めています。