AzureCLIでリソースのテンプレートをダウンロードしてみた

Azure AzureCLI
この記事は約4分で読めます。

AzureCLIでリソースのテンプレートをダウンロードしてみました。

広告

AzureCLIでリソースのテンプレートをダウンロードする

テンプレートのダウンロードには az group export コマンドを利用します。

仮想マシン(VirtualMachine)のテンプレートDL

今回はダウンロードした情報をカレントディレクトリのjsonファイルに書き込みます。

# 変数を定義(仮想マシン)
$rg_name = "Test-RG"
$resource_name = "test-vm"
$resource_type = "Microsoft.Compute/virtualMachines"

# 対象のリソースのIDを取得
$resource_id = $(az resource show `
 --resource-group $rg_name `
 --name $resource_name `
 --resource-type $resource_type `
 --query id `
 --output tsv)

# リソースのテンプレートをカレントディレクトリにダウンロード
az group export --resource-group $rg_name --resource-ids $resource_id > $resource_name".json"

仮想ネットワーク(VirtualNetwork)のテンプレートDL

以下のコマンドで仮想ネットワークのテンプレートをダウンロードできます。

# 変数を定義(仮想ネットワーク)
$rg_name = "Test-RG"
$resource_name = "vnet-test"
$resource_type = "Microsoft.Network/virtualNetworks"

# 対象のリソースのIDを取得
$resource_id = $(az resource show `
 --resource-group $rg_name `
 --name $resource_name `
 --resource-type $resource_type `
 --query id `
 --output tsv)

# リソースのテンプレートをカレントディレクトリにダウンロード
az group export --resource-group $rg_name --resource-ids $resource_id > $resource_name".json"

AzureFirewallのテンプレートDL

以下のコマンドでAzureFirewallのテンプレートをダウンロードできます。

# 変数を定義(AzureFirewall)
$rg_name = "Test-RG"
$resource_name = "afw-test"
$resource_type = "Microsoft.Network/azureFirewalls"

# 対象のリソースのIDを取得
$resource_id = $(az resource show `
 --resource-group $rg_name `
 --name $resource_name `
 --resource-type $resource_type `
 --query id `
 --output tsv)

# リソースのテンプレートをカレントディレクトリにダウンロード
az group export --resource-group $rg_name --resource-ids $resource_id > $resource_name".json"

[参考] リソースグループ自体のテンプレートを取得

リソースグループ自体のテンプレートを取得することもできます。

$rg_name = "Test-RG"
az group export --resource-group $rg_name > $rg_name".json"

タイトルとURLをコピーしました