Azure Files Share Snapshot (preview) について

スポンサーリンク

前回同様、少し前の話になりますが、2017/10/09 (現地時間) に Azure Files Share Snaphot がパブリック プレビューになった旨のアナウンスがありました。

Azure Files Share Snapshot (preview) について

Azure Files Share 内に格納されたデータの破損や、誤った削除/意図しない変更から保護するために読み取り専用コピーとしてのスナップショット取得が追加されました。

スナップショット操作は、主に以下の方法で可能となっていますが、現状では Azure ポータルもしくは Azure CLI のほうが操作できる項目は多くなっています (スナップショット取得などの操作は Azure ポータル上で確認)。

  • Azure ポータル
  • Azure PowerShell
  • Azure CLI

Azure Files Share の上限は 5TB (5120GB) ですが、スナップショット容量の上限はありません。ただし、取得できるスナップショット数の上限は 200 までとなっており、上限に達した場合に古いスナップショットを自動的に削除する機能は現時点 (2017/11/24) では保持していません。手動ないし自分たちでスクリプトなどを組み込む必要があります。

また、スナップショットについては増分バックアップのような保存方法となり、最新のスナップショットから変更されたデータのみが追加で保存される形となります。そのため、スナップショット容量の上限はないといいつつも、ストレージ コストを抑えることができ、かつスナップショットの作成時間を抑えることが可能となっています。

なお、取得したスナップショットの整合性は、アプリケーション整合性ではなくファイル整合性となります。そのため、SQL Server などのアプリケーションに対するオンライン バックアップ用途には向いてません。

Azure Files Share Snapshot の取得

対象の Azure Files Share から [スナップショット] – [スナップショットの作成] を選択、クリックすることで、スナップショットが採取できます。

スナップショットの取得が完了すると、以下の通知が表示されます。

Azure Files Share Snapshot の一覧表示

対象の Azure Files Share から [スナップショット] – [スナップショットの表示] を選択、クリックすることで、スナップショットの一覧を表示することが可能です。

スナップショットを選択すると、取得した内容を確認することができます。ここからスナップショットの回復を行うことが可能です。

Azure Files Share Snapshot からの回復

スナップショットからの回復は以下の 2通り存在します。

  • コンピューターに Azure Files Share をネットワーク ドライブとしてマウント、スナップショット全体の回復、もしくはファイル単位での回復
  • Azure ポータルを用いて、スナップショットからファイル単位での回復

コンピューターに Azure Files Share をマウントして回復する方法

回復するスナップショットを選択し、[接続] をクリックします。

接続するためのコマンドが表示されるので、マウントするドライブ文字を選択した後、どちらかのコマンドをコピーします (違いとしては、アクセス キー先頭にスラッシュが入っているかどうか)。

コピーしたコマンドを実行することで、スナップショットの内容を確認、プロンプト上からファイル操作を行うことが可能です。

コマンドを実行した後、エクスプローラー上にマウントされた Azure Files Share を確認することもできます。ただし、このままアクセスしても、スナップショットのものではなく、Azure Files Share そのものに格納されている内容が表示されます。スナップショットの内容を表示するには、マウントした Azure Files Share のプロパティ画面から行う必要があります。

マウントした Azure Files Share のプロパティ画面の [以前のバージョン] タブから取得したスナップショットの内容をエクスプローラーから開くことも、Azure Files Share に復元することが可能となっています。

スナップショットをエクスプローラーから開いた場合には、以下のように表示されます。

Azure ポータルを用いて回復する方法

スナップショット内の回復したいファイルをクリックすると、プロパティ画面が表示されます。プロパティ画面からファイルを直接ダウンロードすることも、元の Azure Files Share に回復することが可能です。

ファイルを直接ダウンロードする場合は、[ダウンロード] をクリック、元の Azure Files Share に回復する場合は [復元] をクリックします。

元の Azure Files Share に回復する場合、別のファイル名として回復することも可能になっています。

Azure Files Share Snapshot の削除

スナップショットの一覧画面で、削除したいスナップショットを選択、[削除] をクリックします。

スナップショットの削除が完了すると、以下の通知が表示されます。

スナップショットの一覧を見ると、指定したスナップショットが削除されていることが確認できます。

おまけ

Azure PowerShell を用いた Azure Files Share Snapshot の操作

Azure PowerShell を用いて Azure Files Share Snapshot を操作することも可能ですが、現時点 (2017/11/24) では回復操作を実施することはできないようです。

また、スナップショットの内容についても、用意されているコマンドからでは確認することはできませんでした。Azure ポータル、Azure CLI では可能な操作であるため、GA のタイミングでは Azure PowerShell からも実施できるようになるとうれしいかなと。

Azure Files Share Snapshot の取得

以下の一連のコマンドを使用して、スナップショットを取得します。

$connectionstring = "DefaultEndpointsProtocol=https;AccountName=<ストレージ アカウント名>;AccountKey=<ストレージ アカウント アクセス キー>;EndpointSuffix=core.windows.net"
$sharename = "afs-share"

$ctx = New-AzureStorageContext -ConnectionString $connectionstring

$share = Get-AzureStorageShare -Context $ctx -Name $sharename
$share.Properties.LastModified
$share.IsSnapshot
$snapshot = $share.Snapshot()
echo $snapshot | Format-Table -AutoSize

Azure Files Share Snapshot の一覧表示

以下の一連のコマンドを使用して、スナップショット一覧を表示します。

$connectionstring = "DefaultEndpointsProtocol=https;AccountName=<ストレージ アカウント名>;AccountKey=<ストレージ アカウント アクセス キー>;EndpointSuffix=core.windows.net"
$sharename = "afs-share"

$ctx = New-AzureStorageContext -ConnectionString $connectionstring

Get-AzureStorageShare -Context $ctx -Prefix $sharename | Format-Table -AutoSize

Azure Files Share Snapshot の削除

以下の一連のコマンドを使用して、指定したスナップショットを削除します。

$connectionstring = "DefaultEndpointsProtocol=https;AccountName=<ストレージ アカウント名>;AccountKey=<ストレージ アカウント アクセス キー>;EndpointSuffix=core.windows.net"
$sharename = "afs-share"

$ctx = New-AzureStorageContext -ConnectionString $connectionstring

$rmshare = Get-AzureStorageShare -Context $ctx -Name $sharename -SnapshotTime "<採取したスナップショットに日付>"
Remove-AzureStorageShare -Share $rmshare

上記コマンド実行後、指定したスナップショットが削除されていることが確認できます。

Azure Files Share Snapshot の制限について

Azure Files Share Snapshot の制限については、以下の Azure ドキュメント内の [Storage] – [Azure Files limits] の項を参照してください。

その他 Azure Files Share Snapshot の動作について

Azure Files Share Snapshot の動作については、以下 Azure ドキュメントの「Share snapshots」の項にまとめられています。

参考