Azure Application Gatewayをコマンドで起動停止(課金を止める)

2020-01-19Application Gateway,Azure

アプリケーションゲートウェイ(Azure Application Gateway)の起動停止(課金停止)やステータス確認方法のご紹介です。
Azure CLIとAzure PowerShellそれぞれについて、起動、停止、ステータス確認までを一覧表にまとめてます。
課金の考え方やAzure Portalでのステータス確認についても紹介しています。

アプリケーションゲートウェイを停止させる事で課金を止める事が出来ます。
ただしAzure Portalでは停止する事が出来ずコマンド(コマンドレット)で実施する必要があります。
Azure CLIとAzure PowerShellのコマンド(コマンドレット)について確認してみました。

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

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

※2023年9月に加筆修正しました。

スポンサーリンク

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

課金について

Application Gateway の価格

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

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

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

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

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

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

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

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

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

設定変更すると起動する

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

※リソースの起動状況に関わらず設定変更はできます。

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

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

アプリケーションゲートウェイのリストや情報取得時に使う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 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 CLIを使って起動停止

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

    • アプリケーションゲートウェイ
      • アプリケーションゲートウェイ名: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を使ったアプリケーションゲートウェイの停止から起動までの流れです。
それぞれの状態でのステータスも確認しています。
OperationalStateが起動停止状態を表します。停止状態の場合はStopped、起動状態の場合はRunningとなります。

    • アプリケーションゲートウェイ
      • アプリケーションゲートウェイ名: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 Portalで確認出来ます。
停止している場合は動作状態が停止済みとなります。
起動停止実行中はプロビジョニング状態が更新中になります。

起動状態 停止中 停止状態

最後に

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

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

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

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

スポンサーリンク