Azure Storage のデータ冗長性オプションを評価する
ビジネスをするうえで、データの可用性は、ほとんどの組織にとって重要なものです。
まれにお客様が音楽ストリームにアクセスする際に問題が発生したとします。 調査を行ったときに、リージョン全体に影響を与えた停止中にこれらの問題が発生したことがわかりました。 このような状況はまれでしたが、大きな影響がありました。
会社のデータの可用性を向上させるために、Azure Storage で使用できるレプリケーション オプションを調査することにしました。
ここで、Azure Storage のさまざまなレプリケーション オプションを調べます。 そのしくみと、使用するタイミングについて学習します。 また、データの切り替えと移行の方法について学習します。
Azure Storage のレプリケーション オプション
Azure Storage には、レプリケーションに関するいくつかのオプションがあります。 選択肢は、必要な回復性のレベルによって異なります。
ローカル冗長ストレージ
ローカル冗長ストレージ (LRS) を使用すると、1 つのリージョン内のデータセンター内にあるハードウェアの別々のラックにデータが 3 回コピーされます。 ハードウェア障害が発生した場合や、データセンターでメンテナンス作業が行われた場合でも、この種のレプリケーションによりデータを確実に使用できるようになります。
LRS を使用して、データセンター全体の停止から保護することはできません。 データセンターがダウンした場合は、データが失われる可能性があります。
geo 冗長ストレージ
geo 冗長ストレージ (GRS) を使用すると、データは 1 つのリージョン内で 3 回、ペアになっているセカンダリ リージョンで 3 回コピーされます。 このようにして、プライマリ リージョンが停止した場合に、セカンダリ リージョンを使用することができます。
読み取りアクセス geo 冗長ストレージ
GRS を使用すると、プライマリ リージョンで障害が発生するまで、お使いのセカンダリ リージョンに読み取りアクセスすることはできません。 プライマリ リージョンに障害が発生していない場合でも、セカンダリ リージョンから読み取りを行う場合は、レプリケーションの種類として読み取りアクセス geo 冗長ストレージ (RA-GRS) を使います。
ゾーン冗長ストレージ
ゾーン冗長ストレージ (ZRS) を使用すると、単一のリージョン内の 3 つのストレージ クラスターにデータがコピーされます。 各クラスターは物理的に異なる場所にあり、単一の可用性ゾーンと見なされます。 各クラスターにより、ネットワークや電力など、独自の個別の設備が使用されます。 1 つのデータセンターが停止した場合は、同じ Azure リージョン内の別の可用性ゾーンから引き続きデータにアクセスできます。
すべての可用性ゾーンが単一のリージョンにあるため、ZRS を使用してリージョン レベルの停止からデータを保護することはできません。
geo ゾーン冗長ストレージ
geo ゾーン冗長ストレージ (GZRS) は、ZRS の高可用性の利点と GRS を組み合わせたものです。 この種のレプリケーションを使用すると、データは 1 つのリージョン内の 3 つの可用性ゾーン全体にコピーされます。 また、データは、ペアになっている別のセカンダリ リージョンに 3 回レプリケートされます。 このように、ゾーン冗長データもリージョン レベルの停止から保護されます。
読み取りアクセス geo ゾーン冗長ストレージ
読み取りアクセス geo ゾーン冗長ストレージ (RA-GZRS) でも GZRS と同じレプリケーション方法を使用しますが、セカンダリ リージョンから読み取ることができます。 セカンダリ リージョンにレプリケートされたデータを読み取る場合は、プライマリでダウンタイムが発生していなくても、レプリケーションの種類として RA-GZRS を使用します。
GZRS と RA-GZRS は現在、次のリージョンでご利用いただけます。
- 南アフリカ北部
- オーストラリア東部
- 東アジア
- 東日本
- 韓国中部
- 東南アジア
- インド中部
- フランス中部
- ドイツ中西部
- 北ヨーロッパ
- ノルウェー東部
- スウェーデン中部
- スイス北部
- 英国南部
- 西ヨーロッパ
- カナダ中部
- 米国中部
- 米国東部
- 米国東部 2
- 米国中南部
- 米国西部 2
- 米国西部 3
- US Gov バージニア州
- ブラジル南部
ペアになっているリージョン
ペアになっているリージョンでは、リージョンの停止から保護するために、同じ地理的な場所で 1 つの Azure リージョンが別のリージョンとペアになっています。 ペアになっているリージョンは、GRS および GZRS のレプリケーションの種類で使用されます。
以下の一覧は、ペアになっているいくつかのリージョンをまとめたものです。 完全な一覧は、「Azure のペアになっているリージョン」で入手できます。
リージョン | Region | |
---|---|---|
アジア | 東アジア | 東南アジア |
オーストラリア | オーストラリア東部 | オーストラリア南東部 |
カナダ | カナダ中部 | カナダ東部 |
中国 | 中国北部 | 中国東部 |
ヨーロッパ | 北ヨーロッパ (アイルランド) | 西ヨーロッパ (オランダ) |
日本 | 東日本 | 西日本 |
北米 | 米国東部 | 米国西部 |
南アフリカ | 南アフリカ北部 | 南アフリカ西部 |
英国 | 英国西部 | 英国南部 |
レプリケーションの種類ごとのユース ケース
次の表は、レプリケーションの種類ごとの取得するコピー数と、それを使用すべきタイミングをまとめたものです。
レプリケーションの種類 | [印刷部数] | 使用事例 |
---|---|---|
LRS | 3 | データの高可用性は維持されますが、コンプライアンス上の理由から、ローカル データセンターを離れることは許可されていません。 |
GRS | 6 | リージョン全体が停止している場合でも、アプリからデータにアクセスできます。 |
RA-GRS | 6 | アプリは複数の地理的な場所から読み取りを行うため、ユーザーにより近い場所からサービスを提供できます。 |
ZRS | 3 | 複数の物理的な場所に冗長性を持たせる必要がありますが、コンプライアンスのため、データがリージョンを離れることは許可されていません。 |
GZRS | 6 | プライマリ リージョンに停止が発生し、セカンダリ リージョンに停止しているデータセンターがある場合でも、アプリからデータにアクセスできます。ただし、プライマリ リージョンがダウンしていない限り、セカンダリ リージョンから読み取ることはできません。 |
RA-GZRS | 6 | お使いのプライマリ リージョンのデータセンターが稼働している場合でも、ユーザーにより近い場所からサービスを提供するために、お使いのセカンダリ リージョンから定期的にデータが読み取られます。 |
レプリケーション戦略を切り替える
任意のストレージ アカウントのレプリケーション戦略を切り替えることができます。 使用するプロセスは、お使いのアカウントの現在のレプリケーション戦略によって異なります。 たとえば、LRS を使用するストレージ アカウントから移行する場合は、次の 2 つのオプションがあります。
- GZRS を使用する新しいアカウントに手動でデータを移動またはコピーします。
- まずレプリケーションの種類を GRS または RA-GRS に切り替えたら、Azure サポートに対して GZRS へのライブ マイグレーションのリクエストを作成します。
アカウントを変換する
ZRS アカウントを使用している場合は、GZRS を使用するように変換することができます。 Azure portal、Azure CLI、または Azure PowerShell を使用してアカウントを変更します。
たとえば、Azure PowerShell を使用してアカウントを GZRS に変換するには、次のコマンドを使用します。
Set-AzStorageAccount -ResourceGroupName <resource-group> -AccountName <storage-account> -SkuName "Standard_GZRS"
Azure portal でレプリケーションの種類を切り替える
Azure portal でアカウントのレプリケーションの種類を切り替えることもできます。 たとえば、ZRS から GZRS に切り替えるには、ストレージ アカウントに移動し、[冗長性] を選んで、レプリケーションの種類を変更します。
ライブ マイグレーション
また、ライブ マイグレーションを使用して、ZRS、GZRS、または RA-GZRS を使用するアカウントにデータを移行することもできます。 ダウンタイムやデータ損失を回避するには、ライブ マイグレーションを使用します。 ライブ マイグレーションの期間は、通常、アカウント内のデータ量によって異なります。
ライブ マイグレーションを行うには、Azure portal で Azure サポート リクエストを作成します。
その後、ライブ マイグレーション リクエストに関する連絡がサポート担当者から入ります。
ライブ マイグレーションにはいくつかの制限があります。 次に例を示します。
- 手動アプリとは異なり、ライブ マイグレーションがいつ完了するかは正確にはわかりません。
- データは同じリージョンにのみ移行できます。
- ライブ マイグレーションは、Standard ストレージ アカウントの種類で保持されているデータに対してのみサポートされます。
- アカウントに大きいファイル共有が含まれている場合、GZRS へのライブ マイグレーションはサポートされません。
手動移行
手動移行は、ライブ マイグレーションよりも柔軟です。 たとえば、決まった日付までに完了する必要がある場合は、タイミングを制御するため、手動移行を使用できます。
手動で移行するには、AzCopy
ユーティリティ、または入手できるさまざまなサードパーティ製ツールのいずれかを使用できます。
たとえば、AzCopy
を使ってターミナルで次のコマンドを実行すると、ストレージ アカウント内のすべての BLOB、ディレクトリ、コンテナーが別のアカウントにコピーされます。
azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/?<your-SAS-token>'
'https://<destination-storage-account-name>.blob.core.windows.net/' --recursive