PowerShell(Export-AzResourceGroup)を使ってARMテンプレートをエクスポート
PowerShellでARMテンプレートのエクスポートをやってみました。
アプリケーションゲートウェイ(Azure Application Gateway)を例に試しています。
Export-AzResourceGroupコマンドレットでリソースIDを指定してARMテンプレートのエクスポートをしています。
エクスポートされたARMテンプレートはjson形式のファイルとして保管します。
PowerShellを使ったARMテンプレートエクスポート
テンプレートのエクスポートはExport-AzResourceGroup
ARMテンプレートのエクスポートにはExport -AzResourceGroupコマンドレットを使います。
リソースグループ単位やリソース単位でARMテンプレートをエクスポートする事が出来ます。
エクスポートされたARMテンプレートはJson形式でファイル保管する事が出来ます。
リソース単位のエクスポート
リソース単位でエクスポートする場合はExport -AzResourceGroupコマンドレットでリソースIDを指定します。
アプリケーションゲートウェイ(Azure Application Gateway)でリソースIDを取得する場合はGet-AzApplicationGatewayを利用します。
-
- サンプル
- アプリケーションゲートウェイ名:agw-test-01
- アプリケーションゲートウェイのリソースグループ:RG-AGW-TEST-01
- サンプル
PS C:> $rg = “アプリケーションゲートウェイのリソースグループ名" Name : agw-test-01 |
この取得したリソースIDを利用してPowerShellを作ってみます。
Export-AzResourceGroupコマンドレットでは保管先のディレクトリを指定します。
-Resourceのパラメータでエクスポート対象のリソースIDを指定します。
今回はGet-AzApplicationGatewayで取得したリソースIDを利用します。
#ARM Template Export(アプリケーションゲートウェイ) #ARM Template保管先ディレクトリ #Getコマンドで情報取得 #テンプレートをエクスポートする |
適当な名前を付けてPowerShellを保管します。
これを実行するとARMテンプレートをエクスポート出来ます。
テンプレートエクスポート結果
ARMテンプレートファイルは指定した保管先ディレクトリパスにリソースグループ名.jsonと言うファイル名で出力されます。
出力例
パラメータを含む場合
デフォルトではエクスポートされたARMテンプレートにはパラメータは含まれません。
パラメータも一緒にエクスポートする場合は、Export-AzResourceGroupコマンドレットに-IncludeParameterDefaultValueパラメータを追加します。
#ARM Template Export(アプリケーションゲートウェイ) #ARM Template保管先ディレクトリ #Getコマンドで情報取得 #テンプレートをエクスポートする |
最後に
今回はPowerShellでARMテンプレートのエクスポートを、アプリケーションゲートウェイ(Azure Application Gateway)例にやってみました。
Export-AzResourceGroupコマンドレットでARMテンプレートをエクスポートする事が出来ました。
リソースによってはすべての情報がエクスポート出来る訳ではありませんが、設定のバックアップや確認等で利用出来るので便利かと思いました。
ARMテンプレートのダウンロードからカスタムデプロイまでについてはこちらに纏めています。
仮想マシン(Azure VM)を例に試しています。
Logic Apps使ったARMテンプレートエクスポートについてはこちらに纏めています。
アプリケーションゲートウェイ(Azure Application Gateway)の構築手順纏めはこちら。