Azure Files のファイル共有を作成する際、ひとつふたつくらいならGUIで作成したほうが早いかもしれませんが、大量に作成するような場合はPowerShellで作成する選択肢もあるとよいですよね。ということでPowerShellで作成する手順を紹介します。後半ではCSVを読み込んで作成するスクリプトも紹介します。
その前にストレージアカウントをPowerShellで作成する手順は以下をご覧ください。
-
【Azure】ストレージアカウントをPowerShellで作成する。連番で大量作成も可能!
ストレージアカウントをPowerShellで作成する手順を紹介します。 ひとつふたつであればポータル(GUI)で作成してもよいですが、複数作成する場合は効率を考えてPowerShellを使用したいです ...
ファイル共有をPowerShellで作成する
基本構文
以下のコマンドで Azure Files のファイル共有を作成することができます。
1 2 3 4 5 |
New-AzRmStorageShare ` -ResourceGroupName $resourceGroupName ` # リソースグループ名 -StorageAccountName $storageAccountName ` # ストレージアカウント名 -Name $shareName ` # ファイル共有名 -AccessTier $AccessTier # アクセス層(トランザクション最適化とかホットとかクールとか) |
参考:https://learn.microsoft.com/en-us/powershell/module/az.storage/new-azrmstorageshare?view=azps-9.1.0
単体で作成するのであればGUIからでOK!ということで、CSVのリストを読みこんで作成する手順を以下に紹介します。大量に作成する場合などを想定したもので、リストを作成してforeachを使用してループ処理をまわします。
CSVを読み込んでファイル共有を作成する
まずは作成するファイル共有の一覧をCSVで作成します。
1行目はCSVファイルのヘッダーです。リソースグループ名、ストレージアカウント名、ファイル共有名、アクセス層 の4つをカンマ区切りで記述したファイルを用意します。
1 2 3 4 5 6 |
PS C:\work> Get-Content .\list.csv resourceGroupName,storageAccountName,shareName,accessTier pig-rg,stpig0000,share101,TransactionOptimized pig-rg,stpig0000,share102,Hot pig-rg,stpig0001,share101,Hot pig-rg,stpig0001,share102,Cool |
アクセス層は以下の4つから選択
TransactionOptimized/Hot/Cool/Premium ※PremiumはFileStorageのみ
CSVとして読み込んだものとしては以下。
1 2 3 4 5 6 7 8 |
PS C:\work> Import-Csv .\list.csv resourceGroupName storageAccountName shareName accessTier ----------------- ------------------ --------- ---------- pig-rg stpig0000 share101 TransactionOptimized pig-rg stpig0000 share102 Hot pig-rg stpig0001 share101 Hot pig-rg stpig0001 share102 Cool |
このファイル内容をもとに以下のPowerShellスクリプトを使用して作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# CSVファイルパス定義 $csv = "C:\work\list.csv" # CSVファイル読み込み $datas = Import-Csv $csv -Encoding Default # 繰り返し処理 foreach ($data in $datas){ #ファイル共有作成 New-AzRmStorageShare ` -ResourceGroupName $data.resourceGroupName ` -StorageAccountName $data.storageAccountName ` -Name $data.shareName ` -AccessTier $data.accessTier } |
以下のような実行結果(標準出力)が返ってくれば正常にAzureFilesのファイル共有を作成できています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
ResourceGroupName: pig-rg, StorageAccountName: stpig0000 Name QuotaGiB EnabledProtocols AccessTier Deleted Version ShareUsageBytes snapshotTime ---- -------- ---------------- ---------- ------- ------- --------------- ------------ share101 TransactionOptimized share102 TransactionOptimized ResourceGroupName: pig-rg, StorageAccountName: stpig0001 Name QuotaGiB EnabledProtocols AccessTier Deleted Version ShareUsageBytes snapshotTime ---- -------- ---------------- ---------- ------- ------- --------------- ------------ share101 TransactionOptimized share102 TransactionOptimized |
まとめ
PowerShellでAzure Filesのファイル共有を作成する手順を紹介しました。オンプレサーバからの移行案件などの際に大量作成する必要がある場合はCSVのリストを用意しておいてスクリプトを流すことで工数削減できるのではないでしょうか?!
また、共有のアクセス権をPowerShellで設定する手順を以下にまとめています。
-
【Azure Files】ファイル共有の共有レベルのアクセス権設定をPowerShellで行う
Azure Files で構築したファイル共有の共有レベルのアクセス権設定をPowerShellで行う手順を紹介します。 共有のアクセス権設定といっても実態はロールの割り当てです。ロール割り当ての基本 ...
では。