Azure portal から Azure Database for PostgreSQL - 単一サーバーの読み取りレプリカを作成および管理する
適用対象: Azure Database for PostgreSQL - 単一サーバー
この記事では、Azure Portal から Azure Database for PostgreSQL の読み取りレプリカを作成および管理する方法について説明します。 読み取りレプリカの詳細については、概要を参照してください。
前提条件
プライマリ サーバーになる Azure Database for PostgreSQL サーバー。
Azure レプリケーション サポート
読み取りレプリカと論理デコードはどちらも、情報を Postgres 書き込み先行ログ (WAL) に依存しています。 これらの 2 つの機能には、Postgres とは異なるレベルのログが必要です。 論理デコードには、読み取りレプリカよりも高いレベルのログが必要です。
適切なレベルのログを構成するには、Azure レプリケーション サポート パラメーターを使用します。 Azure レプリケーション サポートには、次の 3 つの設定オプションがあります。
- オフ - 最小限の情報を WAL に格納します。 この設定は、ほとんどの Azure Database for PostgreSQL サーバーでは使用できません。
- レプリカ - [オフ] よりも冗長です。 これは、読み取りレプリカを機能させるために必要な最小レベルのログです。 ほとんどのサーバーでは、この設定が既定値です。
- 論理 - [レプリカ] よりも冗長です。 これは、論理デコードを機能させるための最小レベルのログです。 読み取りレプリカはこの設定でも機能します。
Note
書き込み集中型の永続的で大量のプライマリのワークロードのために読み取りレプリカをデプロイする場合、レプリケーションの遅延が増加し続け、プライマリに追いつくことができない可能性があります。 これにより、レプリカで受信されるまで WAL ファイルが削除されないため、プライマリでのストレージの使用量も増加する可能性があります。
プライマリ サーバーを準備する
Azure portal で、プライマリとして使う既存の Azure Database for PostgreSQL サーバーを選びます。
サーバーのメニューから [レプリケーション] を選択します。 Azure レプリケーション サポートが少なくとも [レプリカ] に設定されていれば、読み取りレプリカを作成できます。
Azure レプリケーション サポートが少なくとも [レプリカ] に設定されていない場合は、設定します。 [保存] を選択します。
サーバーを再起動して変更を適用するには、 [はい] を選択します。
操作が完了すると、Azure portal の通知を 2 つ受け取ります。 1 つの通知は、サーバー パラメーターの更新に関するものです。 もう 1 つの通知は、すぐ後のサーバーの再起動に関するものです。
Azure portal のページを最新の情報に更新して、レプリケーション ツール バーを更新します。 このサーバーの読み取りレプリカを作成できるようになります。
読み取りレプリカを作成します
読み取りレプリカを作成するには、次の手順に従います。
プライマリ サーバーとして使用する既存の Azure Database for PostgreSQL サーバーを選択します。
サーバー サイドバーで、 [設定] の [レプリケーション] を選択します。
[レプリカの追加] を選択します。
読み取りレプリカの名前を入力します。
レプリカの場所を選択します。 既定の場所は、プライマリ サーバーの場所と同じです。
Note
レプリカを作成できるリージョンの詳細については、読み取りレプリカの概念に関する記事を参照してください。
[OK] を選択して、レプリカの作成を確認します。
読み取りレプリカが作成されたら、それを [レプリケーション] ウィンドウから表示できます。
重要
読み取りレプリカの概要に関するページの考慮事項セクションを確認してください。
プライマリ サーバーの設定が新しい値に更新される前に、レプリカの設定をそれと同等以上の値に更新します。 このアクションにより、プライマリに対して行われたすべての変更がレプリカに反映されるようになります。
レプリケーションの停止
プライマリ サーバーと読み取りレプリカの間のレプリケーションを停止できます。
重要
プライマリ サーバーと読み取りレプリカへのレプリケーションを停止した後、それを元に戻すことはできません。 読み取りレプリカは、読み取りと書き込みの両方をサポートするスタンドアロン サーバーになります。 スタンドアロン サーバーをもう一度レプリカにすることはできません。
Azure portal からプライマリ サーバーと読み取りレプリカの間のレプリケーションを停止するには、次の手順に従います。
Azure portal で、ご利用の プライマリ Azure Database for PostgreSQL サーバーを選択します。
サーバー メニューで、 [設定] の [レプリケーション] を選択します。
レプリケーションを停止するレプリカ サーバーを選択します。
[レプリケーションを停止する] を選択します。
[OK] を選択して、レプリケーションを停止します。
プライマリ サーバーの削除
プライマリ サーバーを削除するには、スタンドアロンの Azure Database for PostgreSQL サーバーの削除と同じ手順を使用します。
重要
プライマリ サーバーを削除すると、すべての読み取りレプリカへのレプリケーションが停止されます。 読み取りレプリカは、読み取りと書き込みの両方をサポートするようになったスタンドアロン サーバーになります。
Azure Portal からサーバーを削除するには、次の手順に従います。
Azure portal で、ご利用の プライマリ Azure Database for PostgreSQL サーバーを選択します。
サーバーの [概要] ページを開きます。 [削除] を選択します。
削除するプライマリ サーバーの名前を入力します。 [削除] を選択して、プライマリ サーバーの削除を確認します。
レプリカの削除
プライマリ サーバーの削除と同様の方法で読み取りレプリカを削除できます。
Azure Portal で、読み取りレプリカの [概要] ページを開きます。 [削除] を選択します。
次の手順に従って、 [レプリケーション] ウィンドウから読み取りレプリカを削除することもできます。
Azure portal で、ご利用の プライマリ Azure Database for PostgreSQL サーバーを選択します。
サーバー メニューで、 [設定] の [レプリケーション] を選択します。
削除する読み取りレプリカを選択します。
[レプリカの削除] を選択します。
削除するレプリカの名前を入力します。 [削除] を選択して、レプリカの削除を確認します。
レプリカの監視
読み取りレプリカを監視するには 2 つのメトリックを使用できます。
Max Lag Across Replicas (レプリカ間の最大ラグ) メトリック
Max Lag Across Replicas (レプリカ間の最大ラグ) メトリックは、プライマリ サーバーと最も遅れているレプリカの間のラグ (バイト単位) を示します。
Azure portal で、プライマリ Azure Database for PostgreSQL サーバーを選択します。
[メトリック] を選びます。 [メトリック] ウィンドウで、 [Max Lag Across Replicas] (レプリカ間の最大ラグ) を選択します。
[集計] で [Max] (最大) を選択します。
Replica Lag (レプリカ ラグ) メトリック
Replica Lag (レプリカ ラグ) メトリックは、レプリカで最後に再生されたトランザクションからの経過時間を示します。 プライマリでトランザクションが発生していない場合、メトリックにはこのタイム ラグが反映されます。
Azure Portal で、Azure Database for PostgreSQL の読み取りレプリカを選択します。
[メトリック] を選びます。 [メトリック] ウィンドウで、 [Replica Lag] (レプリカ ラグ) を選択します。
[集計] で [Max] (最大) を選択します。
次のステップ
- Azure Database for PostgreSQL の読み取りレプリカについて確認してください。
- Azure CLI と REST API で読み取りレプリカの作成と管理を行う方法について確認してください。