この記事では、Azure Database for PostgreSQL フレキシブル サーバー インスタンスの読み取りレプリカを作成する手順について説明します。
注
書き込み集中型の永続的なプライマリ ワークロードに対して読み取りレプリカをデプロイする場合、レプリケーションの遅延が増加し続け、プライマリに追いつくことはありません。 また、WAL ファイルはレプリカで受信した 1 回だけ削除されるため、プライマリでのストレージ使用量が増加する可能性があります。
Important
読み取りレプリカの概要記事にある考慮事項セクションを確認してください。
プライマリ サーバーで次のサーバー パラメーターの値を変更する前に、まず読み取りレプリカで値を変更します。 これにより、読み取りレプリカをプライマリに昇格する際の問題 ( max_connections、 max_prepared_transactions、 max_locks_per_transaction、 max_wal_senders、 max_worker_processes) を回避できます。
Azure Database for PostgreSQL フレキシブル サーバー インスタンスの読み取りレプリカを設定する前に、必要な前提条件を満たすようにプライマリ サーバーが構成されていることを確認します。 プライマリ サーバー上の特定の設定は、レプリカを作成する機能に影響する可能性があります。
ストレージの自動拡張: プライマリ サーバーとその読み取りレプリカのストレージ自動拡張設定は、一貫性を確保し、レプリケーションの中断を防ぐために、特定のガイドラインに従う必要があります。 詳細なルールと設定については、 ストレージの自動拡張 を参照してください。
ストレージの種類: 読み取りレプリカは、Premium SSD ストレージの種類を使用するように構成されているサーバーでのみ作成できます。 ワークロードで読み取りレプリカが必要な場合は、そのストレージの種類でプライマリ サーバーが作成されていることを確認します。
読み取りレプリカを作成する手順
Azure portal を使用して以下を実行します。
プライマリ サーバーとして使用する Azure Database for PostgreSQL フレキシブル サーバー インスタンスを選択します。
リソース メニューの [設定] セクションで、[レプリケーション] を選択 します。
[ サーバー ] セクションで、[ レプリカの作成] を選択します。
Azure Database for PostgreSQL への読み取りレプリカの追加ウィザードにリダイレクトされます。そこから、作成される新しい読み取りレプリカの設定を構成できます。
次の表を使用して、[ 基本 ] ページで使用できるさまざまなフィールドの意味を理解し、ページに入力するためのガイダンスとして使用します。
セクション Setting 推奨値 Description インスタンス作成後に変更可能 プロジェクトの詳細 Subscription リソースを作成するサブスクリプションの名前。 サブスクリプションは、1 つ以上の Microsoft クラウド プラットフォームまたはサービスを使用するための Microsoft との契約であり、料金はユーザーごとのライセンス料金またはクラウドベースのリソース使用量に基づいて発生します。 既存の Azure Database for PostgreSQL フレキシブル サーバー インスタンスは、最初に作成されたものとは別のサブスクリプションに移動できます。 詳細については、「Azure リソースを新しいリソース グループまたはサブスクリプションに移動する」を参照してください。 リソース グループ 選択したサブスクリプション内の、リソースを作成するリソース グループ。 既存のリソース グループにすることも、[新規作成] を選択して、そのサブスクリプション内で既存のリソース グループ名と重複しない名前を指定することもできます。 リソース グループは、Azure ソリューションの関連するリソースを保持するコンテナーです。 リソース グループには、ソリューションのすべてのリソースか、グループとして管理したいリソースのみを含めることができます。 組織にとって最も意味のある内容に基づいて、リソースをリソース グループに割り当てる方法を決定します。 通常は、同じライフサイクルを共有するリソースを同じリソース グループに追加すると、グループとして簡単にデプロイ、更新、削除できるようになります 既存の Azure Database for PostgreSQL フレキシブル サーバー インスタンスは、最初に作成されたものとは別のサブスクリプションに移動できます。 詳細については、「Azure リソースを新しいリソース グループまたはサブスクリプションに移動する」を参照してください。 サーバーの詳細 プライマリ サーバー名 読み取りレプリカを作成しようとしているプライマリ サーバーの名前。 Azure Database for PostgreSQL フレキシブル サーバー インスタンスを識別する一意の名前。 ドメイン名 postgres.database.azure.comは、ドメイン ネーミング システム サーバーを使用してインスタンスの IP アドレスを解決するための完全修飾ホスト名に適合するように、指定したサーバ名に付加されます。サーバー名 新しい読み取りレプリカに割り当てる名前。 Azure Database for PostgreSQL フレキシブル サーバー インスタンスを識別する一意の名前。 ドメイン名 postgres.database.azure.comは、ドメイン ネーミング システム サーバーを使用してインスタンスの IP アドレスを解決するための完全修飾ホスト名に適合するように、指定したサーバ名に付加されます。サーバーの作成後にサーバー名を変更することはできませんが、ポイントインタイム リカバリ機能を使用して、別の名前でサーバーを復元できます。 既存のサーバーを引き続き使用しつつ、別のサーバー名で参照できるようにする代替手法として、仮想エンドポイントを使用して、新しい希望する名前でライター エンドポイントを作成する方法があります。 この方法では、元の名前、または書き込み仮想エンドポイントに割り当てられた名前でインスタンスを参照できます。 場所 サービスがサポートされているリージョンの 1 つの名前。 ポイントインタイム リストアでは、ソース サーバーが存在する同じリージョン内の新しいサーバーのデプロイのみがサポートされます。 コンプライアンス、データ所在地、価格、ユーザーとの近接性、同じリージョン内の他のサービスの可用性などは、リージョンを選択する際に考慮すべき要件の一部です。 このサービスでは、インスタンスを別のリージョンに自動的かつ透過的に再配置する機能は提供されていません。 コンピューティングとストレージ バックアップの復元時にソース サーバーによって使用されるものと同じ種類とサイズのコンピューティングと同じストレージ サイズを割り当てます。 ただし、 [サーバーの構成] リンクを選択した場合は、新しいサーバーに割り当てるストレージの種類と、geo 冗長バックアップを使用してプロビジョニングするかどうかを変更できます。 新しいサーバーがデプロイされたら、そのコンピューティング オプションをスケールアップまたはスケールダウンできます。 可用性ゾーン あなたの希望の可用性ゾーン。 サーバーを展開する可用性ゾーンを選択できます。 インスタンスをデプロイする可用性ゾーンを選択できることは、アプリケーションと併置する場合に便利です。 [優先設定なし] を選択すると、インスタンスの作成時に既定の可用性ゾーンが自動的に割り当てられます。 インスタンスがデプロイされる可用性ゾーンは、作成後に変更することはできませんが、ポイントインタイム リカバリ機能を使用して、別の可用性ゾーンで別の名前でサーバーを復元できます。 認証 これらの設定は情報提供のみを行います。 読み取りレプリカで使用される認証に関連するすべての設定は、プライマリ サーバーから継承されます。 プライマリ サーバーで変更でき、その変更はプライマリ サーバーと既存のすべての読み取りレプリカに適用されます。 新しいサーバーに自動的に割り当てられているコンピューティング レベル、プロセッサ、またはサイズを変更する場合、または読み取りレプリカのストレージ設定の一部を変更する場合は、[ サーバーの構成] を選択します。
コンピューティング + ストレージが開き、新しいサーバーのコンピューティングとストレージのオプションが表示されます。
次の表を使用して、[ コンピューティングとストレージ ] ページで使用できるさまざまなフィールドの意味を理解し、ページに入力するためのガイダンスとして使用します。
セクション Setting 推奨値 Description 読み取りレプリカを作成した後で変更できます 計算する コンピューティング レベル 既定では、プライマリ サーバーに割り当てられているのと同じレベルに自動的に設定されます。 ただし、読み取りレプリカがサポートされている他のコンピューティング レベルに設定できます。 使用可能な値は 、General Purpose (通常、最も一般的なワークロードを含む運用環境で使用されます)、 およびメモリ最適化 (通常は、高いメモリ対 CPU 比を必要とするワークロードを実行する運用環境で使用されます) です。 詳細については、「 Azure Database for PostgreSQL のコンピューティング オプション」を参照してください。 読み取りレプリカの作成後に変更できます。 ただし、特定のレベルでのみサポートされている一部の機能を使用していて、現在のレベルをその機能がサポートされていないレベルに変更すると、その機能は使用できなくなるか、無効になります。 コンピューティング サイズ 既定では、プライマリ サーバーに割り当てられているのと同じコンピューティング サイズに自動的に設定されます。 ただし、プライマリ サーバーと同じまたはより多くの仮想コアがある限り、その他のコンピューティング サイズをオンに設定できます。 サポートされている値の一覧は、各リージョンで使用可能なハードウェアによって異なる場合があることに注意してください。 詳細については、「 Azure Database for PostgreSQL のコンピューティング オプション」を参照してください。 読み取りレプリカの作成後に変更できます。 ストレージ ストレージの種類 Premium SSD の設定をそのままにしておいてください。 ストレージの種類をプライマリ サーバーとは異なる値に設定することはサポートされていません。 このプロパティは、プライマリ サーバーに割り当てられているストレージの種類と一致するように自動的に設定されます。 読み取りレプリカの作成後に変更することはできません。 ストレージ サイズ 既定では、プライマリ サーバーのストレージ サイズと同じ値に設定されます。 ただし、任意の高い値に設定できます。 読み取りレプリカ インスタンスの作成後に変更できます。 増加のみ可能です。 ストレージの手動または自動での圧縮はサポートされていません。 パフォーマンス レベル 既定では、プライマリ サーバーと同じ値に自動的に設定されます。 ただし、別の値に変更できます。 Premium ソリッドステート ドライブ (SSD) のパフォーマンスは、ディスクを作成するときに、パフォーマンス レベルの形式で設定されます。 ディスクのプロビジョニングされたサイズを設定すると、パフォーマンス レベルが自動的に選択されます。 このパフォーマンス レベルによって、マネージド ディスクの IOPS とスループットが決まります。 Premium SSD ディスクの場合、このレベルは、ディスクのサイズを変更したりダウンタイムを発生させたりすることなく、デプロイ時またはデプロイ後に変更できます。 レベルを変更すると、ディスクのバースト機能を使用せずに、より高い需要に備え、対応することができます。 追加のパフォーマンスが必要な期間によっては、バーストに頼るよりもパフォーマンス レベルを変更する方がコスト効率が高くなる場合があります。 これは、一時的に一貫して高いレベルのパフォーマンスを必要とするイベントに最適です。 休日のショッピング、パフォーマンス テスト、トレーニング環境の実行などのイベント。 これらのイベントを処理するために、追加のパフォーマンスが必要な間だけ、ダウンタイムなしでディスクをより高いパフォーマンス レベルに切り替えることができます。 追加のパフォーマンスが不要になったら、ダウンタイムなしで元のレベルに戻すことができます。 インスタンスの作成後に変更できます。 ストレージの自動拡張 変更することはできません。ソース サーバーと同じ値に自動的に設定されます。 このオプションは、一部のストレージの種類ではサポートされない場合があり、特定のストレージ サイズでは適用されない場合があることに注意してください。 詳細については、「 ストレージ自動拡張の構成」を参照してください。 ストレージの種類でこの機能がサポートされている限り、インスタンスの作成後に変更できます。 プライマリ サーバーと異なる設定を変更する必要がある場合は、[ ネットワーク]、[ セキュリティ]、または [タグ ] タブに進みます。 すべての新しいレプリカがニーズに合わせて構成されたら、[ 確認と作成] を選択します。
新しいデプロイのすべての構成が正しく設定されていることを確認し、[作成] を選択します。
新しいデプロイが起動され、新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスが作成され、プライマリ サーバーの読み取りレプリカになります。
デプロイが完了したら、[ リソースに移動] を選択して、新しい Azure Database for PostgreSQL フレキシブル サーバー インスタンスの使用を開始できます。
レプリカ サーバーの [概要 ] ページに移動します。
リソース メニューの [設定] セクションで、[レプリケーション] を選択 します。 [ サーバー] で、レプリケーション セットに準拠しているサーバーの一覧と、それぞれの役割を見つけます。