この記事では、Azure Database for PostgreSQL フレキシブル サーバーの読み取りレプリカを作成する手順について説明します。
注
書き込み負荷の高い永続的なワークロードに対して読み取りレプリカをデプロイすると、レプリケーションのラグが増え続け、読み取りレプリカのソース サーバーに追いつくことはありません。 また、1 つのソース サーバーによって提供されるすべての読み取りレプリカが WAL ファイルを受信した後にのみ削除されるため、ソース サーバーでのストレージ使用量が増加する可能性があります。
Important
読み取りレプリカを使用する場合の 考慮事項を 確認します。
ソース サーバーで次のパラメーターの値を増やす前に、読み取りレプリカで値を増やします( max_connections、 max_prepared_transactions、 max_locks_per_transaction、 max_wal_senders、 max_worker_processes)。 また、読み取りレプリカ側でそれらを減らす前に、そのソースインスタンスで減らしてください。
これらのパラメーターのいずれかを間違った順序で変更しようとすると、エラー コード ReadReplicaServerParameterLessThanSourceServerが発生し、次のメッセージが表示されます。 Replica server parameter should be greater than or equal to source server parameter. Parameter <parameter_name> value '<parameter_value>' setting on source server <source_server> should be less than its replica server <replica_server> value '<parameter_value_on_replica>'.
Azure Database for PostgreSQLフレキシブル サーバーの読み取りレプリカを設定する前に、必要な前提条件を満たすようにソース サーバーが構成されていることを確認します。 ソース サーバー上の特定の設定は、レプリカを作成する機能に影響する可能性があります。
ストレージの自動拡張: ソース サーバーとその読み取りレプリカのストレージ自動拡張構成が、読み取りレプリカを使用した ストレージ自動拡張で提供されている特定のガイドラインに従っていることを保証する責任があります。 これらの規則により、一貫性が確保され、レプリケーションの中断が防止されます。
読み取りレプリカを作成する手順
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 のコンピューティング オプション」を参照してください。 読み取りレプリカの作成後に変更できます。 ただし、特定のレベルでのみサポートされている一部の機能を使用していて、現在のレベルをその機能がサポートされていないレベルに変更すると、機能が使用できなくなったり無効になったりします。 コンピューティング プロセッサ 複数のプロセッサの種類が使用可能なリージョンでは、使用可能な 2 つの値 (AMD または Intel) のいずれかを選択して、[ コンピューティング サイズ ] コンボ ボックスに表示される値の一覧を、選択したプロセッサの種類に一致するものにフィルター処理できます。 読み取りレプリカの作成後に変更できます。 コンピューティング サイズ 既定では、ソース サーバーに割り当てられているのと同じコンピューティング サイズに自動的に設定されます。 ただし、ソース サーバーと同じまたはより多くの仮想コアがある限り、他のコンピューティング サイズに設定できます。 サポートされている値の一覧は、リージョンごとに異なる場合があります。これは、各リージョンで使用可能なハードウェアによって異なります。 詳細については、「 Azure Database for PostgreSQL のコンピューティング オプション」を参照してください。 読み取りレプリカの作成後に変更できます。 ストレージ ストレージの種類 Premium SSD のままにします。 ストレージの種類をソース サーバーとは異なる値に設定することはサポートされていません。 このプロパティは、ソース サーバーに割り当てられているストレージの種類に合わせて自動的に設定されます。 読み取りレプリカの作成後に変更することはできません。 ストレージ サイズ 既定では、ソース サーバーのストレージ サイズと同じ値に設定されます。 ただし、任意の高い値に設定できます。 読み取りレプリカ サーバーの作成後に変更できます。 増やすことしかできません。 ストレージの手動または自動での圧縮はサポートされていません。 パフォーマンス レベル 既定では、ソース サーバーと同じ値に自動的に設定されます。 ただし、別の値に変更できます。 Premium ソリッドステート ドライブ (SSD) のパフォーマンスは、ディスクを作成するときに、パフォーマンス レベルの形式で設定されます。 ディスクのプロビジョニングされたサイズを設定すると、パフォーマンス レベルが自動的に選択されます。 このパフォーマンス レベルによって、マネージド ディスクの IOPS とスループットが決まります。 Premium SSD ディスクの場合は、デプロイ時またはその後に、ディスクのサイズを変更せずに、ダウンタイムなしで、このレベルを変更できます。 レベルを変更すると、ディスクのバースト機能を使用せずに、より高い需要に備え、対応することができます。 追加のパフォーマンスが必要な期間によっては、バーストに依存するのではなく、パフォーマンス レベルを変更する方がコスト効率が高くなります。 この変更は、一時的に一貫して高いレベルのパフォーマンスを必要とするイベントに最適です。 休日のショッピング、パフォーマンス テスト、トレーニング環境の実行などのイベント。 これらのイベントを処理するために、追加のパフォーマンスが必要な間だけ、ダウンタイムなしでディスクをより高いパフォーマンス レベルに切り替えることができます。 追加のパフォーマンスが不要になったら、ダウンタイムなしで元のレベルに戻すことができます。 サーバーの作成後に変更できます。 IOPS(秒間操作数) Premium SSD ストレージの種類のサーバーでは使用できません。 サーバーの作成後に変更できます。 スループット (MB/秒) Premium SSD ストレージの種類のサーバーでは使用できません。 サーバーの作成後に変更できます。 ソース サーバーとは異なる設定を変更する必要がある場合は、[ ネットワーク]、[ セキュリティ]、または [タグ ] タブに進みます。 新しいレプリカがニーズに合わせて構成されたら、[ 確認と作成] を選択します。
新しいデプロイのすべての構成が正しいことを確認し、[ 作成] を選択します。
新しい Azure Database for PostgreSQL フレキシブル サーバーを作成し、それをソース サーバーのリード レプリカにするために、新しいデプロイが開始されます。
デプロイが完了したら、[リソースに移動] を選択して、新しい Azure Database for PostgreSQL フレキシブル サーバーの使用を開始します。
レプリカ サーバーの [概要 ] ページに移動します。
リソース メニューの [設定] セクションで、[レプリケーション] を選択 します。 [ レプリカ] で、レプリケーション セットに準拠するサーバーの一覧と、各サーバーが受け取るロールを見つけます。
レプリケーション セットで Cascade レプリカがサポートされている場合は、中間レベルまたは第 1 レベルの読み取りレプリカのいずれかを選択し、そこから読み取りレプリカを作成できます。 カスケード レプリカを持つレプリケーション セットの場合、レプリケーション セット トポロジには、追加の入れ子レベルを持つツリーが表示されます。