Azureのリソースグループを複数まとめて作成・削除する

ARM Template,Azure,Resource Group

Azure上で複数個リソースグループを纏めて作成・削除することがあったのでPower Shellを使ってやってみました。

リソースグループの作成自体は、下記サイトに記載があります。

https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-azure-resource-manager-templates-overview

これを以下のように少し改変して、まとめて作れるようにしてみました。

      • CSVファイルもパラメータの指定で利用する
      • 作成、削除するリソースグループのパラメータは、CSVで指定する

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

https://github.com/Tama-negi/Li-akb-branch-office/tree/PowerShell_Azure/ResourceGroup_Deploy_20200421

スポンサーリンク

リソースグループを作成する為のパラメータCSVファイルを作成する

リソースグループを作成する為にCSVから読み込むパラメータは以下の2つになります。この2つを指定するCSVを作成します。

      • リソースグループ名
      • ロケーション

ResourceGroup作成.csv

resourceGroupName,location
RG-01,japaneast,
RG-02,eastus2,

複数のリソースグループをPower Shell使ってまとめて作成する

先ほど作成したCSVファイルのパスを指定してデプロイします。

リソースグループを複数個一括してデプロイする_外部ファイルを読み込む .ps1

#Resource Group Deploy
#RGを複数個纏めて作成します。設定値はCSVファイルを読み込みます。

#初期設定値
$ImportCSVPath = “CSVファイルのパス"

# Inclued Configure Entries
$csv = Import-Csv -path $ImportCSVPath

#Deploy Command
foreach( $c in $csv ){

New-AzResourceGroup `
-Name $c.resourceGroupName `
-Location $c.location
}

パラメータ用CSVファイル内で指定したパラメータでリソースグループが作成されます。

複数のリソースグループをまとめて削除するPower Shell

先ほど作成したCSVファイルのパスを指定してリソースグループを削除します。

今回は、確認無しで削除する為、最後に-forceをつけてます。確認メッセージを出す場合は、-forceを削除してください。

リソースグループを複数個一括して削除する_外部ファイルを読み込む .ps1

#Resource Group Delete

#RGを複数個纏めて削除します。設定値はCSVファイルを読み込みます。

#初期設定値
$ImportCSVPath = “CSVファイルのパス"

# Inclued Configure Entries
$csv = Import-Csv -path $ImportCSVPath 

#Delete Command
foreach( $c in $csv ){

New-AzResourceGroup `
  -Name $c.resourceGroupName `
  -Location $c.location
}

先ほど指定した、パラメータのリソースグループが削除されます。

※リソースグループが削除されますので、中のアイテムが削除されても問題ないか、事前に十分確認のの上、実行して下さい。

Terraformを利用したリソースグループのデプロイはこちら。