データベースシステムがアプリケーションからの多数の読み取り要求を処理する場合、読み取り専用のApsaraDB RDS for PostgreSQLインスタンスを作成して、データベースシステムの読み取り機能とアプリケーションのスループットを向上させることができます。 物理レプリケーションは、プライマリRDSインスタンスから読み取り専用RDSインスタンスにデータをリアルタイムで同期するために実装されます。 これにより、プライマリRDSインスタンスと読み取り専用RDSインスタンス間のデータの一貫性を確保できます。
読み取り専用RDSインスタンスの詳細については、「読み取り専用ApsaraDB RDS For PostgreSQLインスタンスの概要」をご参照ください。
前提条件
次の要件を満たすプライマリRDSインスタンスが作成されます。
プライマリRDSインスタンスは、利用可能なデータベースエンジンバージョンを使用します。 段階的に廃止されたデータベースエンジンバージョンを使用するプライマリRDSインスタンスに対して、読み取り専用RDSインスタンスを作成することはできません。 詳細については、「段階的廃止バージョン」をご参照ください。
プライマリRDSインスタンスは、RDS High-availability Editionを実行します。
プライマリRDSインスタンスのインスタンスタイプは、次の要件を満たしています。
プライマリRDSインスタンスがクラウドディスクを使用している場合、インスタンスタイプに制限はありません。
プライマリRDSインスタンスがローカルディスクを使用する場合、インスタンスは、少なくとも8 CPUコアと32 GBのメモリを提供する専用インスタンスタイプを使用する必要があります。
プライマリRDSインスタンスは、サブスクリプションまたは従量課金の課金方法を使用します。 サーバーレスRDSインスタンスには、読み取り専用RDSインスタンスを作成できません。
読み取り専用RDSインスタンスを作成する前に、ApsaraDB RDSコンソールの [基本情報] ページでプライマリRDSインスタンスのRDSエディションとインスタンスタイプを確認する必要があります。 プライマリRDSインスタンスのRDSエディションとインスタンスタイプが要件を満たしていない場合は、[仕様の変更] をクリックして、プライマリRDSインスタンスをRDS Basic editionからRDS High-availability Editionにアップグレードし、読み取り専用RDSインスタンスを作成します。 詳細は、「インスタンス仕様の変更」をご参照ください。
使用上の注意
読み取り専用RDSインスタンスを作成するときは、読み取り専用インスタンスのプライマリRDSインスタンスが存在する仮想プライベートクラウド (VPC) を選択する必要があります。 それ以外の場合、インスタンスの作成に失敗し、払い戻しが発行されます。
プライマリRDSインスタンス用に読み取り専用RDSインスタンスを作成できますが、既存のRDSインスタンスを読み取り専用RDSインスタンスに変換することはできません。
読み取り専用RDSインスタンスを作成すると、システムはセカンダリRDSインスタンスから読み取り専用RDSインスタンスにデータをレプリケートします。 これにより、プライマリRDSインスタンスで実行されるワークロードの中断が防止されます。
読み取り専用RDSインスタンスは、プライマリRDSインスタンスのパラメーター設定を継承しません。 デフォルトのパラメーター設定は、読み取り専用RDSインスタンスに対して生成されます。 ApsaraDB RDSコンソールでデフォルトのパラメーター設定を変更できます。
重要新しい汎用インスタンスタイプのプライマリRDSインスタンスにアタッチされている読み取り専用RDSインスタンスは、プライマリRDSインスタンスのパラメーター設定を継承します。 新しい汎用インスタンスタイプを使用する読み取り専用RDSインスタンスの詳細については、「読み取り専用ApsaraDB RDS For PostgreSQLインスタンスのインスタンスタイプ」をご参照ください。
読み取り専用RDSインスタンスのストレージタイプは、プライマリRDSインスタンスのストレージタイプと同じです。
プライマリRDSインスタンスがローカルディスクを使用している場合、読み取り専用RDSインスタンスの仕様とストレージ容量は、プライマリRDSインスタンスの仕様とストレージ容量を下回ることはできません。
プライマリRDSインスタンスがクラウドディスクを使用している場合、読み取り専用RDSインスタンスの仕様がプライマリRDSインスタンスの仕様と同じか、プライマリRDSインスタンスの仕様以上であることを確認する50% を推奨します。 これにより、プライマリRDSインスタンスと読み取り専用RDSインスタンスのパフォーマンスに大きな違いが原因で発生するレプリケーション遅延やメモリ不足 (OOM) エラーを防ぐことができます。
プライマリRDSインスタンスがクラウドディスクを使用している場合、読み取り専用RDSインスタンスのストレージ容量がプライマリRDSインスタンスのストレージ容量以上であることを確認する必要があります。 プライマリRDSインスタンスのメモリ容量が読み取り専用RDSインスタンスのメモリ容量よりも大きく、プライマリRDSインスタンスの仕様を変更した場合、読み取り専用RDSインスタンスが再起動されます。
読み取り専用RDSインスタンスのメモリ容量は、次の表の要件を満たしている必要があります。
プライマリRDSインスタンスのメモリ容量
読み取り専用RDSインスタンスのメモリ容量
64 GB以下
プライマリRDSインスタンスのメモリ容量の少なくとも1/4
64 GBより大きく、256 GB以下
プライマリRDSインスタンスのメモリ容量の少なくとも1/6
256 GBより大きく、9,999 GB以下
プライマリRDSインスタンスのメモリ容量の少なくとも1/8
プライマリRDSインスタンスがローカルディスクを使用している場合、最大5つの読み取り専用RDSインスタンスを作成できます。 プライマリRDSインスタンスがクラウドディスクを使用している場合、最大32の読み取り専用RDSインスタンスを作成できます。
プライマリRDSインスタンスがローカルディスクを使用している場合、読み取り専用RDSインスタンスは高可用性アーキテクチャに基づいて実行されます。 プライマリRDSインスタンスがクラウドディスクを使用している場合、読み取り専用RDSインスタンスはシングルノードアーキテクチャに基づいて実行されます。
説明スタンドアロンアーキテクチャでは、セカンダリRDSインスタンスはプロビジョニングされず、可用性を確保できません。 複数の読み取り専用RDSインスタンスを購入し、libpqまたはJava Database Connectivity (JDBC) を使用して自動フェールオーバーを実装することを推奨します。 データベースプロキシ機能を使用して、自動読み書き分離を実装することもできます。 詳細については、「自動フェールオーバーと読み書き分離の設定」および「データベースプロキシとは」をご参照ください。
サブスクリプション課金方法または従量課金方法に基づいて作成した読み取り専用RDSインスタンスに対して課金されます。 サブスクリプション読み取り専用RDSインスタンスの料金の詳細については、ApsaraDB RDS購入ページをご覧ください。 従量課金の読み取り専用RDSインスタンスの料金の詳細については、「読み取り専用ApsaraDB RDSインスタンスのインスタンスタイプ」をご参照ください。
読み取り専用RDSインスタンスの作成
ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。
表示されるページの [インスタンスの配布] セクションで、[読み取り専用インスタンス] の右側にある [追加] をクリックします。
説明元のApsaraDB RDSコンソールを使用している場合は、[基本情報] ページの [インスタンス別分散] セクションで [読み取り専用インスタンスの作成] をクリックします。
以下のパラメーターを設定します。
パラメーター
説明
課金方法
サブスクリプション: サブスクリプションインスタンスは、前払い料金を支払うインスタンスです。 読み取り専用RDSインスタンスを長期間使用する場合は、サブスクリプションの課金方法を選択することを推奨します。 サブスクリプションの課金方法を選択した場合は、サブスクリプション期間を指定する必要があります。
従量課金: 従量課金インスタンスは、リソース使用量に基づいて1時間ごとに課金されるインスタンスです。 読み取り専用RDSインスタンスを短期間使用する場合は、従量課金を選択することを推奨します。 従量課金の読み取り専用RDSインスタンスを作成できます。 作成された読み取り専用RDSインスタンスがビジネス要件を満たしていることを確認した後、読み取り専用RDSインスタンスの課金方法を従量課金からサブスクリプションに変更できます。
製品タイプ
YiTianプロダクトタイプは、プライマリRDSインスタンスのストレージタイプパラメーターがESSDまたは一般ESSDに設定されている場合にのみ使用できます。
StandardおよびYiTian製品タイプの詳細については、「製品タイプ」をご参照ください。
ゾーン
各ゾーンは、領域内の独立した物理的位置である。 同じリージョンのゾーンには大きな違いはありません。 マルチゾーン展開方法は、ゾーン災害復旧をサポートします。
[インスタンスタイプ]
汎用インスタンスタイプ: 汎用インスタンスタイプを選択できます。 汎用RDSインスタンスは、割り当てられたメモリとI/Oリソースのみを占有します。 同じホストにデプロイされている他の汎用インスタンスとCPUおよびストレージリソースを共有します。
専用インスタンスタイプ: 専用インスタンスタイプまたは専用ホストインスタンスタイプを選択できます。 専用RDSインスタンスは、割り当てられたCPU、メモリ、ストレージ、およびI/Oリソースのみを占有します。 専用ホストインスタンスタイプは、専用インスタンスファミリーで最も高い仕様を提供します。 専用ホストRDSインスタンスは、RDSインスタンスがデプロイされている物理ホスト上のすべてのCPU、メモリ、ストレージ、およびI/Oリソースを占有します。
説明各インスタンスタイプは、特定のCPUコア数、メモリ容量、最大接続数、および最大IOPSをサポートします。 プライマリRDSインスタンスがローカルディスクを使用する場合、読み取り専用RDSインスタンスの仕様は、プライマリRDSインスタンスの仕様以上である必要があります。 インスタンスタイプの詳細については、「読み取り専用ApsaraDB RDS For PostgreSQLインスタンスのインスタンスタイプ」をご参照ください。
ストレージ容量
読み取り専用RDSインスタンスにデータファイル、システムファイル、WALファイル、およびトランザクションファイルを格納するためにプロビジョニングされるストレージの最大容量。 5 GBのステップサイズでストレージ容量を変更できます。
説明各インスタンスタイプでサポートされているストレージ容量の範囲の詳細については、「読み取り専用ApsaraDB RDS For PostgreSQLインスタンスのインスタンスタイプ」をご参照ください。
プライマリRDSインスタンスがクラウドディスクを使用している場合、読み取り専用RDSインスタンスのストレージ容量がプライマリRDSインスタンスのストレージ容量以上であることを確認する必要があります。 プライマリRDSインスタンスのメモリ容量が読み取り専用RDSインスタンスのメモリ容量よりも大きく、プライマリRDSインスタンスの仕様を変更した場合、読み取り専用RDSインスタンスが再起動されます。
プライマリRDSインスタンスがローカルディスクを使用する場合、読み取り専用RDSインスタンスのストレージ容量は、プライマリRDSインスタンスのストレージ容量以上である必要があります。
[次へ: インスタンス設定] をクリックし、次のパラメーターを設定します。
パラメーター
説明
ネットワークタイプ
読み取り専用RDSインスタンスのネットワークタイプ。プライマリRDSインスタンスのネットワークタイプと同じです。 プライマリRDSインスタンスがVPCネットワークタイプを使用している場合、プライマリRDSインスタンスと読み取り専用RDSインスタンスが同じVPCで同じvSwitchを使用していることを確認します。
リリース保護
リリース保護を有効にするかどうかを指定します。 [課金方法] パラメーターを [従量課金] に設定した場合、[保護のリリース] を選択できます。 これにより、RDSインスタンスが誤ってリリースされるのを防ぎます。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのリリース保護機能の有効化または無効化」をご参照ください。
タイムゾーン
読み取り専用RDSインスタンスのタイムゾーン。プライマリRDSインスタンスのタイムゾーンと同じです。
SLR権限付与
このパラメーターを設定する必要はありません。 権限は、プライマリRDSインスタンスの購入時に付与されます。 SLR権限付与の詳細については、「 [製品の変更 /機能の変更] SLR権限付与は、2022年10月10日からApsaraDB RDS For PostgreSQLインスタンスを作成するために必要です」をご参照ください。
インスタンスの説明
インスタンス管理を容易にするための読み取り専用RDSインスタンスの説明。
タグ
RDSインスタンスを作成するときに、インスタンスにタグをバインドできます。 インスタンスの作成後、タグでインスタンスをフィルタリングできます。 詳細については、「タグを使用したApsaraDB RDS For PostgreSQLインスタンスのフィルタリング」をご参照ください。
[次へ:注文の確認] をクリックします。
利用規約を読んで選択し、[今すぐ支払う] をクリックして、支払いを完了します。
読み取り専用RDSインスタンスの作成に必要な時間は、プライマリRDSインスタンスのストレージタイプとストレージ容量によって異なります。
プライマリRDSインスタンスが標準SSDを使用している場合、読み取り専用RDSインスタンスの作成に必要な時間は、約20分に完全バックアップに必要な時間を加えたものです。
プライマリRDSインスタンスがエンタープライズSSD (ESSD) を使用している場合、読み取り専用RDSインスタンスの作成に必要な時間は約20分です。
読み取り専用RDSインスタンスを作成する場合、プライマリRDSインスタンスは影響を受けません。 読み取り専用RDSインスタンスが作成されると、プライマリRDSインスタンスでWAL Senderプロセスが生成され、WALファイルを読み取り専用RDSインスタンスに送信するために使用されます。
ApsaraDB RDS for PostgreSQLでは、データ量に関係なく、スナップショットを使用して読み取り専用RDSインスタンスを作成します。
読み取り専用RDSインスタンスの表示
プライマリRDSインスタンスの [インスタンス] ページで読み取り専用RDSインスタンスを表示するには、次の手順を実行します。
ApsaraDB for RDS コンソールにログインします。 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。
インスタンスリストでプライマリインスタンスを見つけ、プライマリインスタンスのドロップダウンリストを展開します。
読み取り専用RDSインスタンスを検索し、インスタンスIDをクリックします。
プライマリRDSインスタンスの [基本情報] ページで読み取り専用RDSインスタンスを表示するには、次の手順を実行します。
ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。
[基本情報] ページで、読み取り専用RDSインスタンスの数にポインターを移動し、表示する読み取り専用RDSインスタンスのIDをクリックします。
読み取り専用RDSインスタンスのデータ複製待ち時間の表示
読み取り専用RDSインスタンスは、特定のレイテンシでプライマリRDSインスタンスのデータを同期できます。 読み取り専用RDSインスタンスの [基本情報] ページに移動して、インスタンスへのデータレプリケーションのレイテンシを表示できます。
関連する API 操作
API 操作 | 説明 |
読み取り専用インスタンスを作成します。 |
よくある質問
読み取り専用RDSインスタンスの課金方法を変更できますか。
はい。読み取り専用RDSインスタンスの課金方法を変更できます。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスを従量課金からサブスクリプションに切り替える」または「ApsaraDB RDSインスタンスの課金方法をサブスクリプションから従量課金に変更する」をご参照ください。
読み取り専用RDSインスタンスの設定を変更した場合、読み取り専用RDSインスタンスをリリースした場合、または読み取り専用RDSインスタンスの課金方法を変更した場合、読み取り専用RDSインスタンスがアタッチされているプライマリRDSインスタンスは影響を受けますか。
いいえ、プライマリRDSインスタンスは影響を受けません。
プライマリRDSインスタンスにアカウントを作成した後、プライマリRDSインスタンスの読み取り専用RDSインスタンスのアカウントを管理できますか。
いいえ、読み取り専用RDSインスタンスのアカウントを管理することはできません。 プライマリRDSインスタンスに作成されたアカウントは、読み取り専用RDSインスタンスと同期され、読み取り専用RDSインスタンスに対する読み取り権限のみを持ちます。
読み取り専用RDSインスタンスを、ディザスタリカバリRDSインスタンスなどの通常のRDSインスタンスに変換できますか。
読み取り専用RDSインスタンスを通常のRDSインスタンスに変換することはできません。
読み取り専用RDSインスタンスのデータをバックアップできますか。 読み取り専用RDSインスタンスは自動バックアップをサポートしていますか?
読み取り専用RDSインスタンスをバックアップする必要はありません。 バックアップは、プライマリRDSインスタンスで実行されます。 ApsaraDB RDS for PostgreSQLでは、スナップショットバックアップが使用され、プライマリRDSインスタンスでパフォーマンスのオーバーヘッドは発生しません。
読み取り専用RDSインスタンスは並列レプリケーションをサポートしていますか?
ApsaraDB RDS for PostgreSQLでは、物理レプリケーションを使用してデータを同期します。 物理レプリケーションは、データの同期と再生にWALファイルを使用します。これは、並列レプリケーションよりも効率的です。
トランザクションログはどのように削除されますか?
RDSインスタンスのWALファイルがバックアップされた後、AliPGはチェックポインティング中にトランザクションログをクリアします。
読み取り専用RDSインスタンスのデータレプリケーションのレイテンシに基づいて、レプリケーションが正常かどうかを判断するにはどうすればよいですか。
ほとんどの場合、読み取り専用RDSインスタンスのデータレプリケーションのレイテンシが1秒以下の場合、データレプリケーションは期待どおりに実装されます。 読み取り専用RDSインスタンスのデータレプリケーションのレイテンシが1秒を超える場合、データは特定のレイテンシでレプリケートされ、切断が発生する可能性があります。
プライマリRDSインスタンスと読み取り専用RDSインスタンス間のレプリケーション遅延の原因は何ですか。
次のセクションでは、一般的な原因と解決策について説明します。
原因: プライマリRDSインスタンスの仕様が、読み取り専用RDSインスタンスの仕様よりも高いこと。
解決策: 読み取り専用RDSインスタンスの仕様をアップグレードします。 詳細については、「インスタンス仕様の変更」をご参照ください。
原因:
max_standby_streaming_delay
パラメーターが不適切に設定されています。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのパラメーターの変更」をご参照ください。解決方法:
max_standby_streaming_delay
パラメーターの値を変更します。このパラメーターを小さな値に設定すると、読み取り専用RDSインスタンスがプライマリRDSインスタンスからデータをレプリケートする際の待ち時間が短縮されます。 ただし、パラメーターの値が小さすぎると、読み取り専用RDSインスタンスで実行されたトランザクションがキャンセルされる可能性があります。
値が大きすぎると、レプリケーションレイテンシが発生する可能性があります。