Azure Application GatewayのARMテンプレートをPower Shell使ってエクスポートする

 

検証でAzure Application Gatewayの設定を行っていたのですが、設定項目が多く、いろいろな所の設定変更していくと、どこを変更した分からなくなる事が多々ありました。恥ずかしながらその結果、元に戻せてなくて設定がうまく行かないケースがありました。

Azure PortalでARMテンプレートのエクスポートするようにしたのですが、何度も繰り返しているのが面倒になってきたので、Power Shellでエクスポートをという事を試してみました。併せてGet-AzApplicationGatewayで設定情報を取得も実施してみました。

実施にあたっては以下のサイトを参考に進めました。

https://docs.microsoft.com/en-us/powershell/module/az.resources/export-azresourcegroup?view=azps-3.8.0
https://docs.microsoft.com/en-us/powershell/module/az.network/get-azapplicationgatewayhttplistener?view=azps-3.8.0

今回作成したものは GitHub上に公開しています。

https://github.com/Tama-negi/Li-akb-branch-office/tree/PowerShell_Azure/ApllicationGateway-Template-Export-20200422

1.Azure Application Gatewayのテンプレートエクスポート+情報取得

今回は、Get-AzApplicationGateway でApplication Gatewayの情報を取得しています。

また、Export-AzResourceGroupで、テンプレートのエクスポートを行います。Application Gateway名を指定することで、Application Gatewayのみのテンプレートをエクスポートします。

#Application Gateway Template Export

#取得するApplication Gatewayのパラメータ

$SubscriptionId = “サブスクリプションID”
$RG = “リソースグループ名”
$APGW = “Application Gateway名”
$TemplatePath =“テンプレートのパス(例:C:\temp)”

#Getコマンドで情報取得
Get-AzApplicationGateway -Name $APGW -ResourceGroupName $RG

#テンプレートをエクスポートする
Export-AzResourceGroup `
-ResourceGroupName $RG `
-Resource “/subscriptions/$SubscriptionId/resourceGroups/$RG/providers/Microsoft.Network/applicationGateways/$APGW”`
-Path $TemplatePath

 

なお、上記サンプルのように、Get-AzApplicationGatewayだけでそのまま情報を取得した場合、子に入っているSKUの情報等が取得出来ません。適時必要に応じて表示するようにして下さい。注意願います。