1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WindowsサーバのドライブにAzureストレージアカウントをマウントさせる

Posted at

AzureにWindowsサーバを建てて、ドライブにAzureのストレージアカウントをマウントさせる機会が先日ありました。
サーバ構築はともかくストレージアカウントをマウントさせるのが思いの外めんどくさかったので備忘録がてらやり方をまとめてみる。Microsoftのページ読み返すのめんどくさいので...

#Azure PowerShellモジュールのインストール

まずはAzure PowerShellモジュールが必要らしいのでインストール。
Azure PowerShellモジュールはWindows環境からコマンドラインでAzureリソースを管理できるツールみたいです。

最初にPowerShellを立ち上げて以下のコマンドを実行
実行したらインストールするかしないか聞かれるのでyを入力しましょう。

Powershell

Install-Module -Name Az -AllowClobber -Scope AllUsers

次にAzure PowerShellを使用して作業を開始するために、以下のコマンドを実行。
サインインするための画面が出てくるので後は自身のアカウントとパスワードを入れてサインインしましょう。

Powershell

Connect-AzAccount

#ストレージアカウントに接続できるか確認

以下のコマンドを実行。変数regourceGroupNameとstorageAccountNameはマウントしたいストレージアカウントの情報を入力

Powershell

$resourceGroupName = "<your-resource-group-name>"
$storageAccountName = "<your-storage-account-name>"
# This command requires you to be logged into your Azure account, run Login-AzAccount if you haven't
# already logged in.
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName
# The ComputerName, or host, is <storage-account>.file.core.windows.net for Azure Public Regions.
# $storageAccount.Context.FileEndpoint is used because non-Public Azure regions, such as sovereign clouds
# or Azure Stack deployments, will have different hosts for Azure file shares (and other storage resources).
Test-NetConnection -ComputerName ([System.Uri]::new($storageAccount.Context.FileEndPoint).Host) -Port 445

接続に成功したら以下のような出力結果が表示される

ComputerName : <storage-account-host-name>
RemoteAddress : <storage-account-ip-address>
RemotePort : 445
InterfaceAlias : <your-network-interface>
SourceAddress : <your-ip-address>
TcpTestSucceeded : True

#Azureファイル共有の資格情報をWindowsで保持
ストレージアカウントの資格情報をcmdkeyを使ってWindowsに保持するために以下のコマンドを実行。
変数regourceGroupNameとstorageAccountNameはマウントしたいストレージアカウントの情報を入力

Powershell

$resourceGroupName = "<your-resource-group-name>"
$storageAccountName = "<your-storage-account-name>"
# These commands require you to be logged into your Azure account, run Login-AzAccount if you haven't
# already logged in.
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName
$storageAccountKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName
# The cmdkey utility is a command-line (rather than PowerShell) tool. We use Invoke-Expression to allow us to 
# consume the appropriate values from the storage account variables. The value given to the add parameter of the
# cmdkey utility is the host address for the storage account, <storage-account>.file.core.windows.net for Azure 
# Public Regions. $storageAccount.Context.FileEndpoint is used because non-Public Azure regions, such as sovereign 
# clouds or Azure Stack deployments, will have different hosts for Azure file shares (and other storage resources).
Invoke-Expression -Command ("cmdkey /add:$([System.Uri]::new($storageAccount.Context.FileEndPoint).Host) " + `
    "/user:AZURE\$($storageAccount.StorageAccountName) /pass:$($storageAccountKeys[0].Value)")

ストレージアカウントの資格情報がcmdkeyによって保存されたことを以下のコマンドで確認

Powershell

cmdkey /list

資格情報が保存されている場合以下のような出力結果が表示される

Target: Domain:target=<storage-account-host-name>
Type: Domain Password
User: AZURE<your-storage-account-name>

#マウント作業

以下のコマンドを入力するとWindowsサーバのZドライブにストレージアカウントteststorageのdataディレクトリ配下がマウントされる。

Powershell

net use Z: \\teststorage.file.core.windows.net\data /persistent:Yes

正常にマウントされているかエクスプローラーから確認出来たらおしまい。

#余談
マウントのやり方は他にもエクスプローラーを起動→PCを選択→ネットワークドライブの割り当てをクリック...のようなコマンド打たないやり方もあるみたいですが何故か自分の環境は出来ませんでした。解せない...

#参照サイト
https://docs.microsoft.com/ja-jp/powershell/azure/install-az-ps?view=azps-3.5.0
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-how-to-use-files-windows

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?