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