最終回となる今回は、Azureのストレージによるデータの冗長化、仮想マシン(VM)のバックアップ、災害発生時の復旧について解説する。Azureのストレージサービスについては本連載第1回で取り上げたが、四つある冗長化レベルの一部を割愛した。今回は全て取り上げる。
Azureのストレージサービスは複雑なので改めて説明し、冗長化レベルを解説する。さらに、Azureのバックアップサービス「Azure Backup」と、DR(Disaster Recovery)のサービス「Azure Site Recovery」を紹介する。
BLOBと汎用というストレージアカウント
まずはAzureのストレージについて復習しておこう。
Azureのストレージサービスを利用するには基本的にストレージアカウントが必要で、ユーザーに割り当てられるストレージはこれにひも付く。ストレージアカウント名は世界中でユニークでなければならない。3文字から24文字で、英小文字と数字のみが利用できる。
ストレージアカウントには「BLOB」と「汎用」があり、ストレージアカウントの作成時に選択する(表1)。
BLOBストレージアカウントと汎用ストレージアカウントでは利用できる機能が違う。
BLOBストレージアカウントでは、シーケンシャルアクセスに向く「ブロックBLOB」とそれを追記専用にした「追記BLOB」を利用できる。仮想マシンのディスクとなる「ページBLOB」は利用できない。
データ保存料金は、容量単価が比較的安く設定されている。アクセスレベルを指定することでコストを低減できるのも、BLOBストレージアカウントの特徴の一つだ。アクセスレベルには「クール」「ホット」があり、海外の一部リージョンでは「アーカイブ」も選択可能だ(現在はプレビューとして提供)。このうち一般に利用するのはホット。クールは利用頻度の低いファイル向き、アーカイブはその名の通りアーカイブ用である(表2)。
クールとアーカイブはバックアップに適しているが、現状のAzure Backupではアクセスレベルを指定できない。Azure Backupのバックエンドで汎用ストレージアカウントのブロックBLOBを使っているからだ。サードパーティーのバックアップソフトには、バックアップ先としてBLOBストレージを使い、クールのアクセスレベルに対応しているものがある。Azure Backupでもクールやアーカイブを使えるようになることを期待する。
一方、汎用ストレージアカウントには、ブロックBLOBや追記BLOBに加え、ページBLOBも利用できる。ページBLOBは512バイト単位のランダムアクセスに最適化されており、VHD形式のファイルを保存することで仮想ディスクとして利用する(容量固定形式のみ)。VHD形式は、Hyper-Vで使われる仮想ディスクフォーマットだ。
ただしストレージアカウント1個当たりのスループットに制限があり、ページBLOBなど多数のBLOBストレージを作成すると性能が出ないといった問題が生じる。この問題を解決するサービスとして「Managed Disk(管理ディスク)」が登場した。内部でページBLOBを使っているもののストレージアカウントにひも付かないので、ストレージアカウント当たりのスループット制限が無い。
ブロックBLOBと追記BLOBを使う場合、BLOBストレージと汎用ストレージアカウントで機能は変わらないが、料金体系が異なる。汎用ストレージアカウントのほうが容量単価が高い半面、データ操作の回数によって課金されるトランザクション料金は比較的安価だ。
汎用ストレージアカウントでは、「File」「Table」「Queue」のストレージも利用できる。FileはSMB 3.0ベースの共有フォルダーを提供する。アクセス制御にAzure Active Directoryが必要で、一般的なファイルサーバーとして使うのは難しい。Windows ServerのWebサーバー「IIS(Internet Information Services)」のコンテンツを配置するなどの使い方が多いだろう。フェイルオーバークラスターの監視用ディスクにもAzure Fileを指定できる。
Queueはメッセージキューイング、Tableはキーバリュー型のNoSQLデータベースである。