データベースシステムがアプリケーションから大量の読み取りリクエストを処理する場合、読み取り専用 ApsaraDB RDS for PostgreSQL インスタンスを作成して、データベースシステムの読み取り機能とアプリケーションのスループットを向上させることができます。物理レプリケーションを実装して、プライマリ RDS インスタンスから読み取り専用 RDS インスタンスにデータをリアルタイムで同期します。これにより、プライマリ RDS インスタンスと読み取り専用 RDS インスタンス間でデータの整合性が確保されます。
読み取り専用 RDS インスタンスの詳細については、「読み取り専用 RDS インスタンス」をご参照ください。
前提条件
以下の要件を満たすプライマリ RDS インスタンスが作成されていること:
プライマリ RDS インスタンスは、利用可能なデータベースエンジンのバージョンを使用していること。段階的に廃止されたデータベースエンジンのバージョンを使用しているプライマリ RDS インスタンスに対しては、読み取り専用 RDS インスタンスを作成できません。詳細については、「AliPG マイナーバージョン (PostgreSQL 14-17) のリリースノート」をご参照ください。
プライマリ RDS インスタンスが RDS High-availability Edition を実行していること。
プライマリ RDS インスタンスのインスタンスタイプが以下の要件を満たしていること:
プライマリ RDS インスタンスがクラウドディスクを使用している場合、インスタンスタイプに制限はありません。
プライマリ RDS インスタンスが Premium Local SSD を使用している場合、インスタンスは 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 インスタンスが Premium Local SSD を使用している場合、その読み取り専用 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 インスタンスが Premium Local SSD を使用している場合は、最大 5 つの読み取り専用 RDS インスタンスを作成できます。プライマリ RDS インスタンスがクラウドディスクを使用している場合は、最大 32 の読み取り専用 RDS インスタンスを作成できます。
プライマリ RDS インスタンスが Premium Local SSD を使用している場合、その読み取り専用 RDS インスタンスは高可用性アーキテクチャに基づいて実行されます。プライマリ RDS インスタンスがクラウドディスクを使用している場合、その読み取り専用 RDS インスタンスは単一ノードアーキテクチャに基づいて実行されます。
説明スタンドアロンアーキテクチャでは、セカンダリ RDS インスタンスはプロビジョニングされず、可用性は保証されません。複数の読み取り専用 RDS インスタンスを購入し、libpq または Java Database Connectivity (JDBC) を使用して自動フェールオーバーを実装することをお勧めします。また、データベースプロキシ機能を使用して、自動読み書き分離を実装することもできます。詳細については、「自動フェールオーバーと読み書き分離の構成」および「データベースプロキシとは」をご参照ください。
サブスクリプション課金方法または従量課金方法に基づいて作成した読み取り専用 RDS インスタンスに対して課金されます。サブスクリプション読み取り専用 RDS インスタンスの料金の詳細については、ApsaraDB RDS の購入ページをご覧ください。
読み取り専用 RDS インスタンスの作成
ApsaraDB RDS コンソールにログインし、インスタンス ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンス ID をクリックします。
表示されるページの [インスタンス配布] セクションで、[読み取り専用インスタンス] の右側にある [追加] をクリックします。
説明元の ApsaraDB RDS コンソールを使用している場合は、[基本情報] ページの [インスタンスロール別に配布] セクションで [読み取り専用インスタンスの作成] をクリックします。
以下のパラメータを構成します。
パラメータ
説明
課金方法
サブスクリプション: 読み取り専用 RDS インスタンスを長期間使用する場合、サブスクリプション課金方法を選択することをお勧めします。
従量課金: 読み取り専用 RDS インスタンスを短期間使用する場合、従量課金方法を選択することをお勧めします。最初に従量課金読み取り専用 RDS インスタンスを作成できます。作成した読み取り専用 RDS インスタンスがビジネス要件を満たしていることを確認した後、読み取り専用 RDS インスタンスの課金方法を従量課金からサブスクリプションに変更できます。
プロダクトタイプ
YiTian プロダクトタイプは、プライマリ RDS インスタンスの [ストレージタイプ] パラメータが [ESSD] または [Premium ESSD] に設定されている場合にのみ使用できます。
[標準] および [YiTian] プロダクトタイプの詳細については、「プロダクトタイプ」をご参照ください。
ゾーン
各ゾーンは、リージョン内の独立した物理的な場所です。同じリージョン内のゾーンに大きな違いはありません。マルチゾーンデプロイメント方式は、ゾーンディザスタリカバリをサポートしています。
インスタンスタイプ
汎用インスタンスタイプ: 汎用インスタンスタイプを選択できます。汎用 RDS インスタンスは、割り当てられたメモリと I/O リソースを排他的に使用します。同じホストにデプロイされている他の汎用インスタンスと CPU とストレージリソースを共有します。
専用インスタンスタイプ: 専用インスタンスタイプまたは専用ホストインスタンスタイプを選択できます。専用 RDS インスタンスは、割り当てられた CPU、メモリ、ストレージ、および I/O リソースを排他的に使用します。専用ホストインスタンスタイプは、専用インスタンスファミリーの中で最高の仕様を提供します。専用ホスト RDS インスタンスは、RDS インスタンスがデプロイされている物理ホスト上のすべての CPU、メモリ、ストレージ、および I/O リソースを排他的に使用します。
説明各インスタンスタイプは、特定の数の CPU コア、メモリ容量、最大接続数、および最大 IOPS をサポートしています。プライマリ RDS インスタンスが Premium Local SSD を使用している場合、読み取り専用 RDS インスタンスの仕様はプライマリ RDS インスタンスの仕様以上である必要があります。インスタンスタイプの詳細については、「読み取り専用 ApsaraDB RDS for PostgreSQL インスタンスのインスタンスタイプ」をご参照ください。
ストレージ容量
読み取り専用 RDS インスタンスにデータファイル、システムファイル、WAL ファイル、およびトランザクションファイルを格納するためにプロビジョニングされる最大ストレージ量。ストレージ容量は 5 GB 単位で変更できます。
説明読み取り専用 RDS インスタンスのストレージ容量は、プライマリ RDS インスタンスのストレージ容量以上である必要があります。詳細については、「読み取り専用 ApsaraDB RDS for PostgreSQL インスタンスのインスタンスタイプ」をご参照ください。
[次へ: インスタンス構成] をクリックし、以下のパラメータを構成します。
パラメータ
説明
ネットワークタイプ
読み取り専用 RDS インスタンスのネットワークタイプ。これは、プライマリ RDS インスタンスのネットワークタイプと同じです。プライマリ RDS インスタンスが VPC ネットワークタイプを使用している場合は、プライマリ RDS インスタンスと読み取り専用 RDS インスタンスが同じ [VPC] 内の同じ [vSwitch] を使用していることを確認してください。
リリース保護
リリース保護を有効にするかどうかを指定します。[課金方法] パラメーターを従量課金に設定した場合、[リリース保護] を選択できます。これは、RDS インスタンスが誤ってリリースされるのを防ぐのに役立ちます。詳細については、「ApsaraDB RDS for PostgreSQL インスタンスのリリース保護機能を有効または無効にする」をご参照ください。
タイムゾーン
読み取り専用 RDS インスタンスのタイムゾーン。これは、プライマリ RDS インスタンスのタイムゾーンと同じです。
SLR 認証
このパラメータを構成する必要はありません。権限は、プライマリ RDS インスタンスを購入するときに付与されます。SLR 認証の詳細については、「[製品の変更/機能の変更] 2022 年 10 月 10 日から ApsaraDB RDS for PostgreSQL インスタンスを作成するには SLR 認証が必要です」をご参照ください。
インスタンスの説明
インスタンス管理を容易にするための読み取り専用 RDS インスタンスの説明。
タグ
RDS インスタンスを作成するときに、インスタンスにタグをバインドできます。インスタンスが作成された後、タグでインスタンスをフィルタリングできます。詳細については、「タグを使用して ApsaraDB RDS for PostgreSQL インスタンスをフィルタリングする」をご参照ください。
[次へ: 注文の確認] をクリックします。
利用規約を読んで選択し、[今すぐ支払う] をクリックして、支払いを完了します。
読み取り専用 RDS インスタンスの作成に必要な時間は、プライマリ RDS インスタンスのストレージタイプとストレージ容量によって異なります。
プライマリ RDS インスタンスが標準 SSD を使用している場合、読み取り専用 RDS インスタンスの作成に必要な時間は約 20 分と完全バックアップに必要な時間です。
プライマリ RDS インスタンスが Enterprise SSD (ESSD) を使用している場合、読み取り専用 RDS インスタンスの作成に必要な時間は約 20 分です。
読み取り専用 RDS インスタンスを作成するとき、プライマリ RDS インスタンスは影響を受けません。読み取り専用 RDS インスタンスが作成されると、プライマリ RDS インスタンスに WAL Sender プロセスが生成され、WAL ファイルを読み取り専用 RDS インスタンスに送信するために使用されます。
ApsaraDB RDS for PostgreSQL では、データ量に関係なく、スナップショットを使用して読み取り専用 RDS インスタンスが作成されます。
読み取り専用 RDS インスタンスの表示
方法 1: インスタンスリストで読み取り専用 RDS インスタンスを表示する
ApsaraDB RDS コンソール にログインします。左側のナビゲーションウィンドウで、[インスタンス] をクリックします。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。
インスタンスリストでプライマリインスタンスを見つけて、プライマリインスタンスのドロップダウンリストを展開します。
読み取り専用 RDS インスタンスを見つけて、インスタンス ID をクリックします。
方法 2: プライマリ RDS インスタンスの [基本情報] ページで読み取り専用 RDS インスタンスを表示する
ApsaraDB RDS コンソールにログインし、インスタンス ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンス ID をクリックします。
[基本情報] ページで、ポインタを読み取り専用 RDS インスタンスの数の上に移動し、表示する読み取り専用 RDS インスタンスの ID をクリックします。
読み取り専用 RDS インスタンスのデータレプリケーションの遅延を表示する
読み取り専用 RDS インスタンスは、特定の遅延でプライマリ RDS インスタンスからデータを同期する場合があります。読み取り専用 RDS インスタンスの [基本情報] ページに移動して、インスタンスへのデータレプリケーションの遅延を表示できます。
関連操作
操作 | 説明 |
読み取り専用インスタンスを作成します。 |
FAQ
読み取り専用 RDS インスタンスの課金方法を変更できますか?
はい、読み取り専用 RDS インスタンスの課金方法を変更できます。詳細については、「ApsaraDB RDS for PostgreSQL インスタンスを従量課金からサブスクリプションに切り替える」または「課金方法をサブスクリプションから従量課金に変更する」をご参照ください。
読み取り専用 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 インスタンスで実行されたトランザクションがキャンセルされる場合があります。
値が大きすぎると、レプリケーションの遅延が発生する可能性があります。