BLOGAzureブログ

Azure Storageの冗長オプションの違いとは?新オプション「GZRS」をふまえて解説 -後編- ~Azureブログ~

2020.08.04

クラウドサーバーご検討中の方必見 お役立ち資料一覧

皆さまこんにちは。SB C&Sの井上です。
先日、Azure Storageの新たなデータ冗長オプションである、「GZRS」と「RA-GZRS」がGAされました。

前回の記事では、仮想マシンのディスクやログデータの保存先、WVD(Windows Virtual Desktop)のユーザープロファイル保存先としてなど非常に幅広く利用されているサービスであるAzure Storageについて、提供されるストレージサービスの種類と用途や、Azure Storageを利用するために必要なリソースであるストレージアカウントの種類ごとに利用できるサービスと冗長オプションについてご紹介しました。

後編となる今回の記事では、ストレージアカウントで選択可能な冗長オプションについてと、それぞれどこに・どのようにデータが冗長されるのかについて詳しく解説していきます。
本記事を通してAzure Storageと冗長オプションについて知っていただき、最適なストレージサービスと冗長オプションを選択する一助になれば幸いです。

今回は以下の流れで、ストレージアカウントで選択可能な冗長オプションについて詳しくご紹介いたします。

1.ストレージアカウントの冗長オプション(前回のおさらい)

ストレージアカウントの冗長オプションは以下4種類があります。

表3(1).jpg

表1: ストレージアカウントの冗長オプション

表の下の冗長オプションになるにつれ利用コストは高くなりますが、可用性と持続性も高くなります。
例えばLRSの場合、データセンター全体が停止するような障害発生時にはデータが消失する可能性がありますが、ZRSであれば他のデータセンターに保存されたデータにアクセスすることができます。

また、リージョン内のデータセンター全体が利用不可能になるような大災害に備えてGRSやGZRSを利用しておくことで、災害時でもセカンダリリージョンでデータが保護され、自動的にセカンダリリージョンのエンドポイントへのフェールオーバーが開始されるため、保存したデータの持続性と事業継続性を保つことができます。

ではそれぞれの冗長オプションについて詳しくご紹介します。

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

LRSはストレージアカウントの冗長オプションの中で最も低コストでシンプルな冗長オプションです。

LRSでは1つのデータセンター内でストレージアカウント内のデータが同期的に3重化され、年間99.999999999%(イレブンナイン)以上の持続性が提供されます。これにより、データセンター内の特定のラック(同一の電源、スイッチなどを共用するサーバー群)に何かしらの障害が発生した場合でも他のラックにデータを保持しているため、データ損失が起きません。

しかし、火災や洪水などのデータセンターレベルの災害発生時には3重化されたデータ全てが失われる可能性がある点に注意が必要です。

また、後述するGRSやGZRSではペアリージョンにデータが冗長されます。日本の場合は東日本リージョンと西日本リージョンがリージョンペアとして設定されているので、今回ご紹介するどの冗長オプションを選択してもデータが国外リージョンに保存されることはありません。

ちなみに、国内に1つのリージョンしかない国では、他国のリージョンがペアリージョンに設定されている場合があります。 1つのリージョンしかない国で、国内利用のみ可能なデータを保存する場合は、LRSを選択することでデータが国を超えて冗長化されるのを防ぐことができます。

図1 LRSの冗長方法-min.png

図1: LRSの冗長方式

LRSは他の冗長オプションと比較して最も利用コストの低いオプションですが、同時にデータ持続性も最も低くなります。
データ損失時の再構築が簡単なデータを低コストで保存したい場合にはLRSを利用可能ですが、損失したくない重要なデータを保存する場合はより持続性の高いZRS、GRS、GZRSを選択することをMicrosoftは推奨しています。

冗長オプションとしてLRSを選択可能なストレージアカウントは以下となります。

  • 汎用 v1
  • 汎用 v2
  • Block Blob Storage
  • File Storage
  • Blob Storage

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

ZRSは、LRSよりもコスト、可用性、持続性の高いオプションです。

通常Azureリージョン内には複数のデータセンターが存在しますが、ZRSでは同一リージョン内の3つのデータセンター間で同期的に3重化され、年間99.9999999999%(トゥエルブナイン)以上の持続性が提供されます。

LRSのようにデータセンターレベルの障害発生時にデータが失われることはありませんが、リージョン内の全てのデータセンターが利用不可能になるようなリージョンレベルの災害(例: 大地震、大規模停電など)発生時にはデータが失われる可能性があるため、地域災害からデータを保護する目的で利用する場合は、後述するGRS、GZRSのように地理的に離れた場所にデータを冗長化する冗長オプションの方が適しています。

また、ZRSは比較的新しく提供された冗長オプションなので、利用可能なリージョンはまだ限られています。
日本の場合は、東日本リージョンでは汎用v2ストレージアカウントの冗長オプションとしてZRSを選択可能ですが、西日本リージョンではまだサポートされていません。

しかし、今後ZRSのサポートリージョンを増やしていくことが公表されているので、将来的には西日本リージョンでもZRSを利用できるようになるかと思います。

図2 ZRSの冗長方法-min.png

図2: ZRSの冗長方法

冗長オプションとしてZRSを選択可能なストレージアカウントは以下となります。

  • 汎用v2 (※日本国内では東日本リージョンのみサポート)
  • Block Blob Storage (※日本国内リージョンでは未サポート)
  • File Storage (※日本国内リージョンでは未サポート)

4.geo 冗長ストレージ(GRS)

GRSは地理的に数百キロ離れた別のリージョンにデータを冗長できます。そのため、LRSやZRSよりもコストと可用性、そして持続性の高いオプションです。

まずはLRSと同様にプライマリリージョンの1つのデータセンター内で同期的に3重化した後、セカンダリリージョン (東日本リージョンを選択した場合のセカンダリリージョンは西日本リージョン)の1つのデータセンター内で非同期的に3重化することで、年間99.99999999999999%(シックスティーンナイン)以上の持続性が提供されます。LRSやZRSのように、データセンターレベル、リージョンレベルの災害発生時でもデータを保持することができる、非常に持続性の高いサービスです。

また、通常GRSで非同期コピーされたセカンダリリージョンのデータは平時にはアクセスすることができず、プライマリリージョン(選択したリージョン)が使用できなくなった場合に自動でフェールオーバーが実行されてアクセス可能になりますが、読み取りアクセスgeo冗長ストレージ(RA-GRS)を利用することで、平時でもセカンダリリージョン(選択したリージョンとリージョンペアに設定されたリージョン)のデータの読み取りが可能になります。

RA-GRSはGRSよりも利用コストが高くなりますが、プライマリリージョンが使用できなくなりセカンダリリージョンへのフェールオーバーが実行されている間のデータ読み取りダウンタイムを回避することができます。

例えばRA-GRSを利用することで、プライマリリージョンが使用できなくなった場合でもフェールオーバー完了を待たずに、セカンダリリージョンからデータを読み取るようにシームレスに変更できるアプリケーションの設計も可能になるので、アプリケーション自体のダウンタイムを避けることができます。

図3 GRSの冗長方法-min.png

図3: GRSの冗長方法

冗長オプションとしてGRSを選択可能なストレージアカウントは以下となります。※現在は汎用v2を利用することが推奨されています

  • 汎用v1
  • 汎用v2
  • Blob Storage

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

2020年6月にGAされたばかりの新たな冗長オプションで、LRS、ZRS、GRSよりもコスト、可用性、持続性の高いオプションです。

まずはZRSと同様にプライマリリージョン内の3つのデータセンター間で同期的に3重化した後、セカンダリリージョンの1つのデータセンター内で非同期的に3重化することで、年間99.99999999999999%(シックスティーンナイン)以上の持続性を確保するように設計されています。

GRS同様に、データセンターレベル、リージョンレベルの災害発生時でもデータを保持することができる、非常に持続性の高いサービスとなっております。

また、GRS同様、読み取りアクセスgeoゾーン冗長ストレージ(RA-GZRS)を利用することで、平時でもセカンダリリージョンのデータの読み取りが可能になり、プライマリリージョンが使用できなくなった場合のフェールオーバー(プライマリリージョンが利用不可になった場合に自動でセカンダリリージョンに切り替える動作)を待たずにセカンダリリージョンからデータを読み取るようにシームレスに変更できるアプリケーションの設計も可能です。

RA-GZRSの利用コストはGZRSよりも高くなってしまいますが、フェールオーバーによるわずかなダウンタイムも許されないような場合はRA-GZRSを利用するのがおすすめです。

図4 GZRSの冗長方法-min.png

図4: GZRSの冗長方法

冗長オプションとしてGZRSを選択可能なストレージアカウントは以下となります。

  • 汎用v2 (※日本国内では東日本リージョンのみサポート)

6.GRSとGZRSの違い

GRSとGZRSの違いは、プライマリリージョンでの冗長方法のみです。

GRSではプライマリリージョンでLRSと同様に1つのデータセンターで3重化され、GZRSではプライマリリージョンでZRSと同様に3つのデータセンターで3重化されます。その後のセカンダリリージョンでの非同期コピーは、両者とも1つのデータセンターに対して行われます。

図5 GRSとGZRSの冗長方法の違い-min.png

図5: GRSとGZRSの冗長方法の違い

したがって、GZRSの方がプライマリリージョンに保存したデータの持続性が高くなります。
また、GZRSはプライマリリージョンでZRSと同様の冗長方法をとるため、ZRSをサポートしているリージョンでのみGZRS冗長オプションを選択可能です。

4.まとめ

今回はAzure Storageサービスとストレージアカウントの種類について紹介し、ストレージアカウントの冗長オプションの特徴について詳しく解説しました。
また、今回紹介した4つの冗長オプションがどのような災害に対して持続性があるのかをまとめました。

表2 障害発生時のデータ持続性比較-min.png

表2: 障害発生時のデータ持続性比較

各障害の発生時でもデータ持続性が担保される冗長オプションが「〇」となっています。要件やデータ損失時の事業影響度の大きさ、どのレベルの障害発生時までデータ持続性が担保される必要があるかなどと利用コストを考慮し、万が一の事態に備えて最適な冗長オプションを選択することをおすすめします。

※各冗長オプションの利用価格は、選択するストレージアカウントの種類やリージョンによって異なるため、こちらのページからご確認ください。

また、今回GAされたGZRSとRA-GZRSが利用可能なストレージアカウントは「汎用 v2」のみ、日本国内だと東日本リージョンのみサポートしているので、利用したい場合は注意が必要です。汎用v2ストレージアカウントは他の種類のストレージアカウントの機能を包括しているので、特別な事情がない限りは汎用v2を選択することをおすすめします。

 

最後までお読みいただき、ありがとうございます。

利用方法やユースケースなど、Azure に関してご不明な点がございましたら、ぜひお気軽に Azure相談センター までお問い合わせください。
Azure に精通したスタッフが丁寧にご回答いたします。

著者紹介:SB C&S 井上 雄貴

  
  【 著者紹介 】
  井上 雄貴 | JDLA Deep Lerning for ENGINEER 2019 #1
  SB C&S株式会社 技術統括部 第1技術部 2課

 
 
 

クラウドサーバーご検討中の方必見
お役立ち資料一覧

クラウドサーバーご検討中の方必見 お役立ち資料一覧
  • クラウドサーバーの導入を検討しているがオンプレミスとどう違うのか
  • AWSとAzureの違いについて知りたい
  • そもそもAzureについて基礎から知りたい
  • 今、話題の「WVD」って何?

そのようなお悩みはありませんか?
Azure相談センターでは、上記のようなお悩みを解決する
ダウンロード資料を豊富にご用意しています。
是非、ご覧ください。

Azureのことなら、
SB C&Sにご相談を!

導入から活用まで専門スタッフが回答いたします。
お気軽にお問い合わせください。