Azure Database for PostgreSQL - Single Server でのビジネス継続性の概要

適用対象: Azure Database for PostgreSQL - 単一サーバー

重要

Azure Database for PostgreSQL - シングル サーバーは廃止パスにあります。 Azure Database for PostgreSQL - フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for PostgreSQL - フレキシブル サーバーへの移行の詳細については、Azure Database for PostgreSQL 単一サーバーの現状に関するページを参照してください。

この概要では、Azure Database for PostgreSQL に用意されているビジネス継続性とディザスター リカバリーの機能について説明します。 また、データ損失につながる、またはデータベースやアプリケーションを使用不能状態に追い込む破壊的なイベントから復旧するためのオプションについて説明します。 ユーザーまたはアプリケーション エラーがデータ整合性に影響を及ぼすとき、Azure リージョンでシステム停止が発生したとき、あるいはアプリケーションにメンテナンスが必要なときの対処方法について説明します。

ビジネス継続性を提供するときに使用できる機能

ビジネス継続性計画を開発するときは、破壊的なイベントが発生してから、アプリケーションが完全に復旧するまでの最大許容時間について理解する必要があります。これが目標復旧時間 (RTO) です。 さらに、破壊的なイベントの発生後、復旧中にアプリケーションが損失を許容できる最大データ更新 (期間) 量についても理解しなければなりません。これは目標復旧時点 (RPO) です。

Azure Database for PostgreSQL により、geo リストアを開始し、別のリージョンに読み取りレプリカをデプロイする機能を備えた geo 冗長バックアップを含む、ビジネス継続性機能が提供されています。 それぞれ、復旧時間と潜在的なデータ損失に関する特性が異なります。 geo リストア機能を使用すると、別のリージョンからレプリケートされたバックアップ データを使用して新しいサーバーが作成されます。 復元と復旧にかかる全体的な時間は、データベースのサイズと、復旧するログの量によって異なります。 サーバーの確立にかかる全体的な時間は、数分から数時間に範囲で変化します。 読み取りレプリカを使用すると、プライマリからのトランザクション ログがレプリカに非同期にストリーミングされます。 ゾーン レベルまたはリージョン レベルの障害が原因でプライマリ データベースが停止した場合、レプリカにフェールオーバーすると RTO が短縮され、データ損失が減少します。

Note

プライマリとレプリカの間の遅延は、サイト間の待機時間、転送されるデータの量、および最も重要な要素としてプライマリ サーバーの書き込みワークロードによって異なります。 書き込み負荷の高いワークロードでは、大幅な遅延が発生する可能性があります。

読み取りレプリカに使用されるレプリケーションには非同期の性質があるため、それらは高可用性 (HA) ソリューションとして考慮すべきではありません。これは、遅延が大きいほど RTO および RPO が高くなるためです。 ワークロードのピーク時とピーク時以外の期間を通して遅延が小さいワークロードについてのみ、読み取りレプリカは HA の代替として機能します。 それ以外の場合、読み取りレプリカは、読み取り負荷の高いワークロードおよび DR (ディザスター リカバリー) シナリオに対する真の読み取りスケールを目的としています。

次の表は、一般的なワークロード シナリオでの RTO と RPO を比較したものです。

機能 Basic 汎用 メモリの最適化
バックアップからのポイントインタイム リストア リテンション期間内の任意の復元ポイント
RTO - 変動
RPO < 15 分
リテンション期間内の任意の復元ポイント
RTO - 変動
RPO < 15 分
リテンション期間内の任意の復元ポイント
RTO - 変動
RPO < 15 分
Geo レプリケーション バックアップからの geo リストア サポートされていません RTO - 変動
RPO < 1 時間
RTO - 変動
RPO < 1 時間
読み取りレプリカ RTO - 分単位*
RPO < 5 分*
RTO - 分単位*
RPO < 5 分*
RTO - 分単位*
RPO < 5 分*

* RTO と RPO は、場合により、サイト間の待機時間、転送されるデータの量、および重要な要素としてプライマリ データベースの書き込みワークロードなどのさまざまな要因によって大幅に高くなることがあります

ユーザーまたはアプリケーション エラーの後でサーバーを復旧する

サービスのバックアップを使って、さまざまな破壊的イベントからサーバーを復旧できます。 一部のデータ、重要なテーブル、そしてデータベース全体さえも、うっかり削除してしまう場合があります。 アプリケーションの欠陥などにより、正しいデータが不良データによって誤って上書きされることもあります。

ポイントインタイム リストアを実行して、正常であることがわかっている時点のサーバーのコピーを作成できます。 この時点は、サーバーに対して構成されているバックアップ リテンション期間内でなければなりません。 新しいサーバーにデータを復元した後は、元のサーバーを新しく復元したサーバーに置き換えたり、復元したサーバーから元のサーバーに必要なデータをコピーしたりできます。

Azure リソース ロックを使用して、サーバーが誤って削除されないようにすることをお勧めします。 サーバーを誤って削除してしまった場合は、削除したのが過去 5 日以内であれば復元できる可能性があります。 詳細については、「ドロップした Azure Database for PostgreSQL サーバーを復元する」を参照してください。

Azure データ センターの停止から復旧する

まれではありますが、Azure データ センターが停止することもあります。 停止が発生すると、ビジネスが中断します。この中断はわずか数分で解消されることもありますが、数時間に及ぶ場合もあります。

オプションの 1 つは、データ センターの停止が終了し、サーバーがオンラインに戻るのを待つことです。 開発環境など、サーバーがしばらくオフラインになっていてもかまわないアプリケーションの場合はこの方法が使えます。 データ センターが停止したときは、復旧までの時間を予測できないため、このオプションはしばらくサーバーが必要ない場合にのみ有効です。

geo リストア

geo リストア機能では、geo 冗長バックアップを使用してサーバーを復元します。 バックアップは、サーバーのペアになっているリージョンでホストされます。 これらのバックアップから他の任意のリージョンに復元することができます。 geo リストアでは、バックアップからのデータを使用して新しいサーバーが作成されます。 geo リストアの詳細については、バックアップと復元の概念に関する記事を参照してください。

重要

geo リストアは、geo 冗長バックアップ ストレージでサーバーをプロビジョニングした場合にのみ可能です。 既存のサーバーに対してローカル冗長を geo 冗長バックアップに切り替える場合は、既存のサーバーの pg_dump を使用してダンプを取得し、geo 冗長バックアップで構成された新しく作成したサーバーに復元する必要があります。

リージョンにまたがる読み取りレプリカ

リージョンにまたがる読み取りレプリカを使用すると、事業継続とディザスター リカバリーの計画を強化できます。 読み取りレプリカは、PostgreSQL の物理的なレプリケーション テクノロジを使用して非同期的に更新され、プライマリより遅れることがあります。 読み取りレプリカ、利用可能なリージョン、フェールオーバーする方法については、読み取りレプリカの概念に関する記事を参照してください。

よく寄せられる質問

Azure Database for PostgreSQL は顧客データをどこに格納しますか?

既定では、Azure Database for PostgreSQL によって、デプロイされているリージョン外に顧客データが移動または格納されることはありません。 ただし、顧客は必要に応じて、地理冗長バックアップを有効にするか、別のリージョンにデータを格納するためのクロスリージョン読み取りレプリカを作成することを選択できます。

次のステップ