ペアになっていないリージョンのリージョン間レプリケーションのソリューション
一部の Azure サービスでは、事業継続を確実にするとともにデータ損失を防ぐために、リージョン間レプリケーションがサポートされています。 これらのサービスでは、"リージョン間レプリケーション" を使用する別のセカンダリ リージョンが利用されます。 プライマリ リージョンとセカンダリ リージョンの両方が一緒になってリージョン ペアを形成します。
ただし、ペアになっていないリージョンもあるため、geo レプリケーションを実現するための代替方法が必要です。
このドキュメントでは、ペアのリージョンを必要とせずに geo レプリケーション方法をサポートするサービスのうち主なもののリストを示すとともに、考えられるソリューションを紹介します。
Azure API Management
Azure API Management には、実際のリージョン間レプリケーション機能は用意されていません。 ただし、バックアップと復元機能を使用して、あるリージョンの API Management サービス インスタンスの構成をエクスポートし、別のリージョンにインポートすることができます。 バックアップに使用されるストレージ アカウントがターゲット リージョンからアクセスできる限り、ペアになっているリージョンに依存しません。 運用ガイダンスについては、こちらの記事を参照してください。
Azure App Service
App Service のカスタム バックアップは、選択されたストレージ アカウントに格納されます。 そのため、リージョン間復元に関しては GRS と、ペアになったリージョンへの依存があります。 バックアップの種類が自動の場合は、リージョンをまたがるバックアップ/復元はできません。 回避策として、保存済みデータ セットのカスタム ファイル コピー メカニズムを実装して、ペアになっていないリージョン間および異なるストレージ アカウント間で、手動でコピーできます。
Azure Cache for Redis
Azure Cache for Redis には、アクティブ geo レプリケーションとパッシブ geo レプリケーション の 2 つの異なるリージョン間レプリケーション オプションが用意されています。 どちらの場合も、リージョン ペアに対する明示的な依存関係はありません。
Azure Container Registry
geo レプリケーションにより、Azure コンテナー レジストリが単一のレジストリとして機能することが可能になり、マルチプライマリ リージョン レジストリで複数のリージョンに対応できます。 この機能には、リージョン ペアによって規定される制限はありません。 詳細については、「Azure Container Registry の geo レプリケーション」を参照してください。
Azure Cosmos DB
リージョンの停止中でもソリューションに継続的なアップタイムが必要な場合は、複数のリージョン間でデータをレプリケートし、必要に応じて運用中のリージョンに透過的にフェールオーバーするように Azure Cosmos DB を構成できます。 Azure Cosmos DB では、複数リージョン書き込みがサポートされており、データをグローバルに分散して、ペアリング制限なしで任意のリージョンからデータへの低待機時間アクセスを提供できます。
Azure Database for MySQL
Azure Database for MySQL を利用できる任意の Azure リージョンを選択して読み取りレプリカをスピンアップします。
Azure Database for PostgreSQL
Azure Database for PostgreSQL で、ペアになっていないリージョンでの geo レプリケーションを実現するには、次の方法を使用できます。
geo レプリケーションが可能なマネージド サービス: Azure PostgreSQL マネージド サービスではアクティブ geo レプリケーションがサポートされているため、プライマリ サーバーの継続的読み取り可能セカンダリ レプリカを作成できます。 この読み取り可能なセカンダリは、プライマリと同じ Azure リージョンに配置される場合もありますが、一般的には別のリージョンに配置されます。 この種の読み取り可能セカンダリ レプリカは "geo レプリカ" と呼ばれることもあります。
また、次に示す 2 つのカスタマー マネージドのデータ移行方法のいずれかを利用して、ペアになっていないリージョンにデータをレプリケートすることもできます。
Azure Data Factory
ペアになっていないリージョンでの geo レプリケーションを実現するには、Azure Data Factory (ADF) では、ADF パイプラインのコードとしてのインフラストラクチャ プロビジョニングと ADF のソース管理の組み合わせがサポートされています。
Azure Event Grid
ペアになっていないリージョンでの Event Grid トピックの geo レプリケーションを実現するには、クライアント側フェールオーバーを実装できます。
Azure IoT Hub
ペアになっていないリージョンでの geo レプリケーショ実現するには、セカンダリ IoT Hub へのルーティングにコンシェルジェ パターンを使用します。
Azure Kubernetes Service (AKS)
Azure Backup を利用すると AKS クラスターの保護が可能であり、これにはリージョン間復元 (CRR) 機能も含まれています。これは現在プレビュー段階であり、サポートされるのは Azure ディスクのみです。 この CRR 機能は GRS ペア リージョン レプリカに依存していますが、CRR への依存は回避可能です。ただし、AKS クラスターのデータが外部ストレージにのみ格納されていることと、"クラスター内" ソリューションの使用を回避することが条件となります。
Azure Monitor ログ
Azure Monitor ログの Log Analytics ワークスペースでは、ペアになっているリージョンは使用されません。 事業継続を確実にするとともにデータ損失を防ぐには、リージョン間ワークスペース レプリケーションを有効にしてください。 詳細については、「リージョン間で Log Analytics ワークスペースをレプリケートして回復性を強化する」を参照してください。
Azure Service Bus
Azure Service Bus では、geo レプリケーション機能または geo ディザスター リカバリー機能を使用すると、リージョン ペアに依存することなくリージョンの回復性を提供できます。
Azure SQL データベース
Azure SQL データベースで、ペアになっていないリージョンでの geo レプリケーションを実現するには、次の方法を使用できます。
フェールオーバー グループ機能。基になるストレージ GRS への依存は一切なく、任意の組み合わせの Azure リージョン間でレプリケートを行います。
アクティブ geo レプリケーション機能。プライマリ データベースに対して、継続的に同期される読み取り可能セカンダリ データベースを作成します。 この読み取り可能なセカンダリ データベースは、プライマリと同じ Azure リージョンに配置される場合もありますが、一般的には別のリージョンに配置されます。 この種の読み取り可能セカンダリ データベースは、"geo セカンダリ" または "geo レプリカ" と呼ばれることもあります。
Azure SQL Managed Instance
Azure SQL Managed Instance で、ペアになっていないリージョンでの geo レプリケーションを実現するには、次の方法を使用できます。
- フェールオーバー グループ機能。基になるストレージ GRS への依存は一切なく、任意の組み合わせの Azure リージョン間でレプリケートを行います。
Azure Storage
ペアになっていないリージョンでの geo レプリケーションを実現するには、次の方法を使用できます。
Azure Object Storage の場合:
BLOB ストレージと Azure Data Lake Storage の場合は、AZCopy や Azure Data Factory などのツールを使用できます。
汎用 v2 ストレージ アカウントとプレミアム ブロック BLOB アカウントの場合は、Azure Storage オブジェクト レプリケーションを使用できます。
Note
オブジェクト レプリケーションは、Azure Data Lake Storage に対してはサポートされていません。
Azure NetApp Files (ANF) の場合は、Azure リージョン ペア以外に、非標準ペアのセットにもレプリケートできます。 Azure NetApp Files (ANF) リージョン間レプリケーションに関するページを参照してください。
Azure Files の場合:
ファイルを他のリージョン内の別のストレージ アカウントにコピーするには、次のようなツールを使用します。
サンプル スクリプトについては、バックアップとディザスター リカバリーを目的とする 2 つの Azure ファイル共有間の同期に関するページを参照してください。
Azure ファイル共有 (クラウド エンドポイント)、オンプレミスの Windows ファイル サーバー、および別の Azure リージョン内の仮想マシンで実行されているマウントされたファイル共有 (ディザスター リカバリー目的のサーバー エンドポイント) の間で同期を行うには、Azure File Sync を使用します。
重要
すべてのデータが確実にローカルに存在する状態にするために、"クラウドを使った階層化" を無効にする必要があります。また、データセット全体を保持するために十分なストレージを Azure 仮想マシン上でプロビジョニングする必要があります。 変更が速やかにセカンダリ リージョンにレプリケートされるようにするには、ファイルのアクセスと変更が Azure の中ではなくサーバー エンドポイントでのみ行われるようにしてください。
Azure Virtual Machines
ペアになっていないリージョンでの geo レプリケーションを実現するには、Azure Site Recovery サービスを使用します。 Azure Site Recovery は Azure のディザスター リカバリー サービスであり、ワークロードをプライマリの場所からセカンダリの場所にレプリケートするという方法で事業継続とディザスター リカバリーを実現します。 Azure Site Recovery でサポートされている場合は、セカンダリの場所を、ペアになっていないリージョンにすることができます。