Azureの冗長ストレージの特徴とアクセス層について

お疲れ様です。
毎朝ジムに通っていて、もう少しで体重が70kgに到達しそうで喜んでいる宮﨑です。

 
今回はAzureの冗長ストレージ、アクセス層について解説します。

 

冗長ストレージの種類

AZureの冗長ストレージには4つの種類があります。

 
・ローカル冗長ストレージ(LRS)

・ゾーン冗長ストレージ(ZRS)

・geo冗長ストレージ(GRS)

・geoゾーン冗長ストレージ(GZRS)

 
どの冗長性オプションを選択するかは低コストと高可用性のトレードオフです。

 

ローカル冗長ストレージ(LRS)

Azure Storageアカウントのデータは常にプライマリリージョンで3回レプリケートされます。プライマリリージョンでデータをレプリケートする2種類のうちの1つがローカル冗長ストレージ(以下LRS)になり、最もコストのかからないレプリケーションのオプションです。

 
LRSはプライマリリージョンの1つの物理的な場所内で、データを同期的に3回コピーします。

 
file

file
 
東日本リージョンにLRSで作成されたストレージアカウントです。東日本リージョンにある単一のデータセンター内にストレージアカウントが3回レプリケートされている状態になります。

 
サーバーラックとドライブの障害からデータは保護出来ますが、データセンター内で火災や洪水などの災害が発生した場合、LRSを使用しているストレージアカウントのすべてのレプリカが失われたり、回復不能になる可能性があります。

 
データを損失しまった場合に再構築が簡単なデータ、データのレプリケートが国内や地域内に制限されているアプリケーションの場合はLRSを選択しても良いですが、基本的には他の冗長ストレージを使用した方が安全です。

 

ゾーン冗長ストレージ(ZRS)

プライマリリージョンでデータをレプリケートするまではLRSと同じですが、ゾーン冗長ストレージ(以下ZRS)は3つのAzure可用性ゾーン間でストレージアカウントを同期的にレプリケートします。

 
file

 
複数のデータセンターにレプリケートするため、データが一時的に使用できなくなった場合に、データに対して優れたパフォーマンス、低待機時間、および回復性を提供します。ただし複数のゾーンが永続的に影響を受ける地域障害からデータを保護することはできません。

 
LRSと同じく特定の国内または地域へのデータのレプリケーションを制限する場合の他、高可用性を必要とする場合にはZRSを使用します。

 

geo冗長ストレージ(GRS)

LRSを使用して、プライマリリージョンの1つの物理的な場所内でデータを同期的に3回コピー、プライマリリージョンから何百キロも離れたセカンダリリージョン内の 1 つの物理的な場所にデータが非同期にレプリケートされます。

 
ストレージアカウント作成時にGRSを選択することも可能ですが、今回は先ほど作成したLRSをGRSに変更してみます。プライマリリージョンが東日本リージョンの場合、ペアのセカンダリリージョンは西日本に決定されます。各リージョンのペアについてはこちらを参考にしてください。

 
file

file
 
ストレージアカウントのメニューより冗長性を選択して、LRSからGRSの変更をして、保存します。

 
file

file

file

 
セカンダリリージョンに西日本が追加されました。プライマリリージョンの東日本リージョンにデータを3回同期的にコピーした後、何百キロも離れたセカンダリリージョンの西日本リージョンにも3回非同期にレプリケートされ、計6個のコピーが作成されています。

 
洪水や停電が発生し東日本リージョンが復旧できない状態に陥っても、アラームを設定し、実際に災害が発生した際に自動的にデータが保持されている西日本リージョンにフェイルオーバーするようにしておけば地域災害に対しての対策も可能になります。

 

geoゾーン冗長ストレージ(GZRS)

file

 
geo冗長ストレージ(GRS)とゾーン冗長ストレージ(ZRS)の合わせ技です。地域災害からの保護に対してはもちろん、最大限の一貫性、持続性、高可用性、優れたパフォーマンス、ディザスター リカバリーのための回復性を提供してくれます。

 
GZRS は、Standard 汎用 v2ストレージアカウントでのみサポートされており、Blob、File、Table、Queueのすべてのストレージにサポートされています。

 

読み取りアクセスgeo冗長ストレージ(RA-GRS)と読み取りアクセスgeoゾーン冗長ストレージ(RA‐GZRS)

通常のGRS、GZRSはフェールオーバーをしない限りセカンダリリージョンのデータへのアクセスは出来ません。RA-GRS、RA‐GZRSは最初からセカンダリ・リージョンのデータへのアクセスが(読み取り専用)可能になります。

 
障害対策というよりは、読み取りアクセスを分散させる方法だと思ってください。

 

アクセス層

Azureにあるストレージのうち、Blob(厳密にはブロックBlob)のみに設定されているのがアクセス層になります。格納するデータが急激に増えた際にコストを管理するため、適切なアクセス層を選択することは大切です。

 

アクセス層の種類

・ホット アクセス層 – 頻繁にアクセスまたは変更するデータの保存に最適なオンライン層。 ホット アクセス層はストレージ コストが最も高く、アクセス コストは最も安いです。

 
・クール アクセス層 – アクセスおよび変更の頻度が低いデータの保存に最適なオンライン層。 クール アクセス層のデータは、最低 30 日間は保存する必要があります。 クール アクセス層は、ホット アクセス層と比べてストレージ コストが安く、アクセス コストが高いです。

 
・コールド アクセス層 – めったにアクセスされたり、変更されたりしないが、それでも高速で取得できなければならないデータを格納するために最適化されたオンライン層。 コールド アクセス層のデータは、最低 90 日間は保存する必要があります。 コールド アクセス層は、クール アクセス層と比べてストレージ コストが安く、アクセス コストが高くなります。

 
・アーカイブ アクセス層 – めったにアクセスせず、数時間規模の待機時間の変動を許容できるデータ保存に最適なオフライン層。 アーカイブ アクセス層のデータは、最低 180 日間は保存する必要があります。 Microsoft BLOB データのアクセス層

 
基本的にはホット、データの保存はするがアクセスはほとんどしない場合はクールにするなど、アクセス頻度と保持期間などの使用方法で適切なアクセス層を選択すればコストを抑えることが出来ます。

 

アクセス層の設定方法

file

 
ストレージを作成する際は詳細設定のBLOBストレージにてホットかクールを選択出来ます。

 

file

 
作成後は構成メニュー内で変更することも可能です。

 
file

file

ファイル単位で切り替えることも出来ます。ファイルを選んで層の変更を選択します。こちらは4種類のアクセス層から選択が可能です。

 

まとめ

大規模になるほどコストはシビアになっていくので、適切な冗長ストレージ、アクセス層を選択してコスト削減に努めるようにします。最後まで読んでいただきありがとうございました。

Last modified: 2024-01-25

Author