<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1678611822423757&amp;ev=PageView&amp;noscript=1">

Azureファイル同期を設定する方法

Adam Bertram| May 10 2019

| IT insights, PowerShell, クラウド, 自動化

how-to-set-up-azure-file-sync

Azure File Sync は、オンプレミスファイルを Azure Storage に同期することを可能にする、新しいサービスです。(Skype for Business のように) DropBox for Business と考えると理解しやすいかもしれません。ファイルをオンプレミスサーバーのフォルダにドロップするだけで、自動的に Azure にアップロードできます。

最初に、すべての前提条件を満たしていることを確認しましょう。以下が必要になります。

準備が整ったら、Azure File Sync を初めてセットアップするための手順を実行しましょう。

ステップ 1.  [IE セキュリティ強化の構成] を無効にする

最初のステップは、[IE セキュリティ強化の構成] を無効にすることです。これは初期登録のために必要であり、あとから有効にできます。GUIを介して実行できますが、それではつまらないので、簡単な PowerShell スクリプトを使って次のようにやってみましょう。

$AdminKey = 'HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}'
$UserKey = 'HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}'
Set-ItemProperty -Path $AdminKey -Name 'IsInstalled' -Value 0
Set-ItemProperty -Path $UserKey -Name 'IsInstalled' -Value 0
Stop-Process -Name Explorer

ステップ 2. Azure ファイル共有を作成する

これも Azure Portal を介して実行できますが、Webページでクリックしながら進めるより、数行のコードを実行するほうがはるかに簡単です。このコードを実行するには、ファイルを同期するストレージアカウント名とそれが存在するリソースグループ名を知っておく必要があります。ここで使うストレージアカウントは techsnips、リソースグループは TechSnipsBackEnd です。

ストレージアカウント情報を変数に格納したら、次にファイル共有を作成し、下に示すように ipswitchfileshare という名前をつけます。すべて小文字であることを確認してください。

$resourceGroup = 'TechSnipsBackEnd'
$storageAccountName = 'techsnips'

$storageAccount = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccountName
$storageKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $storageAccount.ResourceGroupName -Name $storageAccount.StorageAccountName | select -first 1).Value
$storageContext = New-AzureStorageContext -StorageAccountName $storageAccount.StorageAccountName -StorageAccountKey $storageKey
$share = New-AzureStorageShare -Name ipswitchfileshare -Context $storageContext

ステップ 3. エージェントをインストールする

次は、サーバーにエージェントをインストールします。PowerShell コンソールに入っていますから、またショートカットとして、PowerShell でダウンロードとインストールを行います。下のように、Microsoft のインストーラをダウンロードし、インストールウィザードを起動するためにそれを呼び出します。

$downloadUri = 'https://download.microsoft.com/download/1/8/D/18DC8184-E7E2-45EF-823F-F8A36B9FF240/StorageSyncAgent_V3_WS2016.EXE'
Invoke-WebRequest -Uri $downloadUri -OutFile 'C:\filesyncagent.exe'
Invoke-Item 'C:\filesyncagent.exe'

インストールウィザードが起動されるので、指示の通りに進んで、デフォルトを使ってすべてのステップをたどってください。最後に、ウィザードは開いている PowerShell コンソールを閉じるように求めてきます。PowerShell コンソールを閉じて、[インストール] をクリックするとインストールが始まります。

ステップ 4. Storage Sync サービスをデプロイする

次に、Storage Sync サービスをデプロイする必要があります。これにも PowerShell を使用することができますが、Azure サブスクリプションが複数ある場合は Azure サブスクリプションの名前を知っている必要があります。サブスクリプションの名前は Azure ポータルにあります。

また、サービスをデプロイする地域とリソースグループについても知っておく必要があります。地域はストレージアカウントと同じ地域である必要があり、ここでは、”East US 2” を使います。リソースグループは SharedLab とします。

$agentPath = 'C:\Program Files\Azure\StorageSyncAgent'
$region = 'East US 2' ## This needs to be in the same region as the storage account
$resourceGroup = 'SharedLab'
$storageSyncName = 'TechSnipsStorageSync'
Import-Module "$agentPath\StorageSync.Management.PowerShell.Cmdlets.dll"

$subscription = Get-AzureRmSubscription -SubscriptionName 'TechSnips'

Login-AzureRmStorageSync –SubscriptionId $subscription.Id -ResourceGroupName $resourceGroup -TenantId $subscription.TenantID -Location $region

New-AzureRmStorageSyncService -StorageSyncServiceName $storageSyncName

ステップ 5. Storage Sync サービスに Windows サーバーを登録する

Storage Syncサービスを作成したら、次に Storage Sync サーバーを登録する必要があります。Register-AzureRmStorageSyncServer コマンドを使用します。

$registeredServer = Register-AzureRmStorageSyncServer -StorageSyncServiceName $storageSyncName

ステップ 6. 同期グループを作成する

次のステップは同期グループを作成することです。同期グループで、一連のファイルの同期トポロジを定義します。同期グループ内のエンドポイントは互いに同期するよう設定されます。次のように、New-AzureRmStorageSyncGroup コマンドを使用してこの同期グループを作成します。

$syncGroupName = 'TechSnipsSyncGroup'
New-AzureRmStorageSyncGroup -SyncGroupName $syncGroupName -StorageSyncService $storageSyncName

ステップ 7. クラウドのエンドポイントを作成する

すべての同期グループはクラウドのエンドポイントを必要とするので、それを作成する必要があります。PowerShell で、New-AzureRmStorageSyncCloudEndpoint コマンドを使用して、これを行うことができます。前に作成したリソースの名前を再利用します。

$parameters = @{
    StorageSyncServiceName = $storageSyncName
    SyncGroupName = $syncGroupName
    StorageAccountResourceId = $storageAccount.Id
    StorageAccountShareName = 'ipswitchfileshare'
}
New-AzureRmStorageSyncCloudEndpoint @parameters

ステップ 8. サーバーのエンドポイントを作成する

クラウドのエンドポイントを作成したら、最後にサーバーのエンドポイントを作成します。これは、ファイルの同期元となる登録済みサーバー上の場所を指定するリソースです。以下では、サーバーのエンドポイントを作成するのに、これまで作成したものと同じ変数を使用しています。ファイルの同期元となるフォルダーパスを ServerLocalPath パラメータで指定します。

New-AzureRmStorageSyncServerEndpoint -StorageSyncServiceName $storageSyncName -SyncGroupName $syncGroupName -ServerId $registeredServer.Id -ServerLocalPath 'C:\FileSyncDemo'

ここまで来たら、ファイルを “C:” のフォルダに配置すると、それらのファイルは自動的に Azure Storage アカウントに同期されます。

 「ワークフロー自動化で効率と活性を引き出す5つのポイント」をダウンロード

Topics: IT insights, PowerShell, クラウド, 自動化

Default HTML block

コメントをどうぞ

メールアドレスは公開されません。アスタリスクマーク*のついたフィールドは必須項目です。

THIS POST WAS WRITTEN BY Adam Bertram

Adam Bertram is a 20-year veteran of IT. He’s currently an automation engineer, blogger, independent consultant, freelance writer, author, and trainer. Adam focuses on DevOps, system management, and automation technologies as well as various cloud platforms. He is a Microsoft Cloud and Datacenter Management MVP and efficiency nerd that enjoys teaching others a better way to leverage automation.

無料試用版

無料試用版をお気軽にお試しください。

無料試用版を試す

コンタクト

ご質問、ご意見をお寄せください。

連絡先

ブログの定期メール便

ブログを定期的にメール配信いたします。