このトピックでは、読み取り専用 ApsaraDB RDS for PostgreSQL インスタンスの概要について説明します。ご利用のデータベースシステムが、少数の書き込みリクエストと多数の読み取りリクエストを受信する場合、単一のプライマリ RDS インスタンスでは読み取りリクエストの負荷に対応しきれないことがあります。1 つ以上の読み取り専用 RDS インスタンスを作成することで、プライマリ RDS インスタンスから読み取りリクエストをオフロードできます。読み取り専用 RDS インスタンスは、データベースシステムの読み取り能力とアプリケーションのスループットを向上させるのに役立ちます。
概要
読み取り専用 RDS インスタンスを作成すると、システムはセカンダリ RDS インスタンスから読み取り専用 RDS インスタンスにデータをレプリケートします。これにより、プライマリ RDS インスタンスで実行されているワークロードの中断を防ぎます。プライマリ RDS インスタンスのデータが更新されると、その更新はすべての読み取り専用 RDS インスタンスに自動的に同期されます。
-
プライマリ RDS インスタンスがプレミアムローカル SSD を使用している場合、最大 5 つの読み取り専用 RDS インスタンスを作成できます。プライマリ RDS インスタンスがクラウドディスクを使用している場合、最大 32 の読み取り専用 RDS インスタンスを作成できます。
-
プライマリ RDS インスタンスがプレミアムローカル SSD を使用している場合、その読み取り専用 RDS インスタンスは高可用性アーキテクチャで実行されます。
-
プライマリ RDS インスタンスがクラウドディスクを使用している場合、その読み取り専用 RDS インスタンスはシングルノードアーキテクチャで実行されます。このアーキテクチャでは、読み取り専用 RDS インスタンスのスタンバイとしてセカンダリ RDS インスタンスは提供されません。サービス可用性を確保するために、複数の読み取り専用 RDS インスタンスを購入し、libpq または Java Database Connectivity (JDBC) を使用して自動フェイルオーバーを実装することを推奨します。詳細については、「自動フェイルオーバーと読み書き分離の実装」をご参照ください。また、データベースプロキシ機能を使用して、自動読み書き分離を実装することもできます。詳細については、「データベースプロキシとは」をご参照ください。
次の図は、プライマリ RDS インスタンスとその読み取り専用 RDS インスタンスのトポロジーを示しています。
利用シーン
-
プライマリ RDS インスタンスが過負荷の場合、読み取り専用 RDS インスタンスを作成して読み取りリクエストを処理できます。これにより、プライマリ RDS インスタンスから読み取りリクエストをオフロードできます。
-
バックアップやメンテナンスなどの理由でプライマリ RDS インスタンスが一時的に利用できない場合、読み取り専用 RDS インスタンスを使用して読み取りリクエストを処理できます。これにより、業務継続性を確保できます。
-
レポート分析などのシナリオで、読み取り専用 RDS インスタンスを使用して大量のデータをクエリおよび分析できます。これはプライマリ RDS インスタンスに影響を与えません。
-
読み書き分離機能を使用する場合、読み取り専用 RDS インスタンスを使用して読み書きロックの競合を防ぎ、システムパフォーマンスとスループットを向上させることができます。
課金ルール
読み取り専用 RDS インスタンスは、サブスクリプションと従量課金の課金方法をサポートしています。サブスクリプションの読み取り専用 RDS インスタンスの料金に関する詳細については、ApsaraDB RDS 購入ページをご覧ください。従量課金の読み取り専用 RDS インスタンスの料金に関する詳細については、「読み取り専用インスタンスタイプ」をご参照ください。
特徴
-
リージョンとゾーン:読み取り専用 RDS インスタンスはプライマリ RDS インスタンスと同じリージョンに存在しますが、異なるゾーンに配置することができます。
-
ネットワークタイプ:読み取り専用 RDS インスタンスのネットワークタイプは、プライマリ RDS インスタンスのネットワークタイプと異なっていてもかまいません。詳細については、「ネットワークタイプの変更」をご参照ください。
-
アカウントとデータベースの管理:読み取り専用 RDS インスタンス上のアカウントとデータベースは、プライマリ RDS インスタンスから同期されます。読み取り専用 RDS インスタンスでデータベースやアカウントを管理する必要はありません。
-
IP アドレスホワイトリストの管理:読み取り専用 RDS インスタンスを作成すると、システムはプライマリ RDS インスタンスの IP アドレスホワイトリストを自動的に読み取り専用 RDS インスタンスにレプリケートします。ただし、読み取り専用 RDS インスタンスの IP アドレスホワイトリストは、プライマリ RDS インスタンスの IP アドレスホワイトリストから独立しています。読み取り専用 RDS インスタンスの IP アドレスホワイトリストを変更する場合は、「ApsaraDB RDS for PostgreSQL インスタンスの IP アドレスホワイトリストの設定」をご参照ください。
-
モニタリングとアラート機能:読み取り専用 RDS インスタンスのパフォーマンスメトリクスをモニターできます。メトリクスには、ディスク使用率、IOPS、接続数、CPU 使用率が含まれます。メトリクスのモニタリングデータはチャートで提供されます。
-
読み書き分離:読み書き分離機能はデータベースプロキシ機能と連携して動作し、システムが書き込みリクエストをプライマリ RDS インスタンスに、読み取りリクエストを読み取り専用 RDS インスタンスに転送できるようにします。これにより、プライマリ RDS インスタンスの負荷が軽減されます。プライマリ RDS インスタンスでデータベースプロキシ機能を有効にする方法の詳細については、「データベースプロキシとは」をご参照ください。
-
読み取り専用 RDS インスタンスの数:プライマリ RDS インスタンスがクラウドディスクを使用している場合、最大 32 の読み取り専用 RDS インスタンスを作成できます。プライマリ RDS インスタンスがプレミアムローカル SSD を使用している場合、最大 5 つの読み取り専用 RDS インスタンスを作成できます。
注意事項
-
データバックアップ:読み取り専用 RDS インスタンスに対してバックアップポリシーを設定したり、手動でバックアップを作成したりすることはできません。これらの操作はプライマリ RDS インスタンスで実行されます。
-
データ移行:読み取り専用 RDS インスタンスにデータを移行することはできません。
-
データベース管理:データベースを作成または削除することはできません。
-
アカウント管理:読み取り専用 RDS インスタンスでアカウントの作成、アカウントへの権限付与、アカウントのパスワード変更、またはアカウントの削除を行うことはできません。
-
仕様とストレージ容量:
-
プライマリ RDS インスタンスがクラウドディスクを使用している場合、読み取り専用 RDS インスタンスのストレージ容量は、プライマリ RDS インスタンスのストレージ容量以上である必要があります。プライマリ RDS インスタンスのメモリ容量が読み取り専用 RDS インスタンスのメモリ容量よりも大きい場合、プライマリ RDS インスタンスの仕様変更中に読み取り専用 RDS インスタンスは再起動します。
-
プライマリ RDS インスタンスがプレミアムローカル SSD を使用している場合、その読み取り専用 RDS インスタンスの仕様とストレージ容量は、プライマリ RDS インスタンスの仕様とストレージ容量より低くすることはできません。
-
-
読み取り専用 RDS インスタンスでデータベースエンジン設定のレプリケート失敗などの予期せぬエラーが発生した場合、システムはその読み取り専用 RDS インスタンスを再構築します。
-
プライマリ RDS インスタンスがリリースされると、そのプライマリ RDS インスタンスに紐づくサブスクリプションの読み取り専用 RDS インスタンスは自動的に返金およびリリースされ、従量課金の読み取り専用 RDS インスタンスは直接リリースされます。