このトピックでは、読み取り専用ApsaraDB RDS for MySQLインスタンスの概要を説明します。 データベースシステムが少数の書き込みリクエストを受信し、多数の読み取りリクエストを受信した場合、単一のプライマリRDSインスタンスが読み取りリクエストに圧倒され、ワークロードが中断される可能性があります。 プライマリRDSインスタンスからの読み取り要求をオフロードするには、1つ以上の読み取り専用RDSインスタンスを作成します。 読み取り専用RDSインスタンスは、データベースシステムの読み取り機能とアプリケーションのスループットを向上させるのに役立ちます。
異なるデータベースエンジンを実行する読み取り専用RDSインスタンスの詳細については、以下のトピックを参照してください。
概要
読み取り専用RDSインスタンスが作成されると、ApsaraDB RDSはセカンダリRDSインスタンスから読み取り専用RDSインスタンスにデータをレプリケートします。 各読み取り専用RDSインスタンスには、プライマリRDSインスタンスと同じデータがあります。 プライマリRDSインスタンスのデータが更新されると、ApsaraDB RDSはすぐにデータ更新をすべての読み取り専用RDSインスタンスにレプリケートします。 読み取り専用RDSインスタンスごとにレプリケーションレイテンシを指定できます。 詳細については、「読み取り専用ApsaraDB RDS For MySQLインスタンスのデータレプリケーション遅延の設定」をご参照ください。
前提条件
プライマリRDS for MySQLインスタンスは、次の条件を満たす必要があります。
RDSインスタンスは、MySQL 8.0、MySQL 5.7、またはMySQL 5.6を実行します。
RDSインスタンスは、サブスクリプションまたは従量課金の課金方法を使用します。 サーバーレスRDSインスタンスは、読み取り専用RDSインスタンスをサポートしていません。
RDSインスタンスはRDS High-availability Editionを実行します。
RDSインスタンスの 基本情報 ページに移動して、上記の情報を取得できます。
RDS High-availability EditionまたはRDS Basic Editionを実行する読み取り専用RDSインスタンスを作成できます。 RDS High-availability Editionを実行する読み取り専用RDSインスタンスには、HAモードで動作するプライマリインスタンスとセカンダリインスタンスが含まれます。 詳細については、「RDS High-availability Edition」をご参照ください。
シナリオ
プライマリRDSインスタンスが過負荷の場合、読み取り専用RDSインスタンスを作成して、プライマリRDSインスタンスからの読み取りリクエストをオフロードできます。
バックアップまたはメンテナンスの理由でプライマリRDSインスタンスが一時的に使用できない場合、読み取り専用RDSインスタンスを使用して読み取り要求を処理できます。 これにより、ビジネスの継続性を確保できます。
レポート分析などのシナリオでは、読み取り専用RDSインスタンスを使用して、大量のデータをクエリおよび分析できます。 これはプライマリRDSインスタンスには影響しません。
読み書き分離機能を使用する場合は、読み取り専用RDSインスタンスを使用して、読み書きロックの競合を防ぎ、システムのパフォーマンスとスループットを向上させることができます。
課金ルール
読み取り専用RDSインスタンスは、従量課金およびサブスクリプション課金をサポートしています。 読み取り専用RDSインスタンスの料金の詳細については、「読み取り専用ApsaraDB RDSインスタンスのインスタンスタイプ」をご参照ください。
使用上の注意
プライマリRDSインスタンスがサブスクリプション課金方法を使用しており、サブスクリプション読み取り専用RDSインスタンスを作成する場合は、読み取り専用RDSインスタンスをプライマリRDSインスタンスと同じサブスクリプション期間に設定できます。
プライマリRDSインスタンスが有効期限のためにロックされている場合でも、プライマリRDSインスタンスの読み取り専用RDSインスタンスにアクセスできます。 ただし、読み取り専用RDSインスタンスのステータスは [Running (Primary Instance Locked)] に変わります。
プライマリRDSインスタンスがリリースされると、プライマリRDSインスタンスのサブスクリプション読み取り専用RDSインスタンスは自動的に返金され、リリースされます。 ただし、プライマリRDSインスタンスの従量課金の読み取り専用RDSインスタンスは直接リリースされます。
MySQLを実行し、共有データベースプロキシ機能が有効になっているプライマリRDSインスタンスの最後の読み取り専用RDSインスタンスをリリースまたはサブスクリプション解除すると、システムは共有データベースプロキシ機能によって提供される読み書き分離エンドポイントを削除します。 アプリケーションが読み書き分離エンドポイントを使用してRDSインスタンスに接続されている場合、アプリケーションはRDSインスタンスにアクセスできません。
その他の特長
課金方法: 読み取り専用RDSインスタンスは、従量課金方法とサブスクリプション課金方法の両方をサポートしています。 従量課金方法は柔軟で、インスタンスが不要になったときに読み取り専用RDSインスタンスをリリースできます。 サブスクリプション課金方法は、長期的なコミットメントに対して費用対効果が高くなります。
読み取り専用RDSインスタンスは、プライマリRDSインスタンスと同じリージョンにありますが、オプションで異なるゾーンにあります。
仕様: 読み取り専用RDSインスタンスの仕様は、プライマリRDSインスタンスの仕様とは異なる場合があります。 読み取り専用RDSインスタンスの仕様はいつでも変更できます。 プライマリRDSインスタンスのインスタンスタイプの仕様以上の仕様のインスタンスタイプを指定することを推奨します。 読み取り専用RDSインスタンスの仕様がプライマリRDSインスタンスの仕様よりも低い場合、読み取り専用RDSインスタンスに高レイテンシや高負荷などの問題が発生する可能性があります。
ストレージタイプ: 読み取り専用RDSインスタンスは、プライマリRDSインスタンスと同じストレージタイプを使用します。
ストレージ容量: 読み取り専用RDSインスタンスのストレージ容量は、プライマリRDSインスタンスのストレージ容量以上です。
ネットワークタイプ: 読み取り専用RDSインスタンスのネットワークタイプは、プライマリRDSインスタンスのネットワークタイプとは異なる場合があります。 詳細については、「ApsaraDB RDS for MySQL インスタンスのネットワークタイプの変更」をご参照ください。
アカウントとデータベースの管理: 読み取り専用RDSインスタンスのアカウントとデータベースは、プライマリRDSインスタンスから同期されます。 読み取り専用RDSインスタンスのデータベースまたはアカウントを管理する必要はありません。
IPアドレスホワイトリストの管理: 読み取り専用RDSインスタンスを作成すると、プライマリRDSインスタンスのIPアドレスホワイトリストが読み取り専用RDSインスタンスにレプリケートされます。 ただし、読み取り専用RDSインスタンスのIPアドレスホワイトリストは、プライマリRDSインスタンスのIPアドレスホワイトリストとは独立しています。 読み取り専用RDSインスタンスのIPアドレスホワイトリストを変更する方法の詳細については、「ApsaraDB RDS For MySQLインスタンスのネットワークタイプの変更」をご参照ください。
モニタリングとアラート: 読み取り専用RDSインスタンスはモニタリングとアラートをサポートします。 ディスク使用率、IOPS、接続数、CPU使用率、ネットワークトラフィックなど、20近くのメトリックを監視できます。
プライマリ /セカンダリスイッチオーバー: RDS High-availability Editionを実行する読み取り専用RDSインスタンスは、プライマリ /セカンダリスイッチオーバーをサポートしています。 ApsaraDB RDSコンソールで、読み取り専用RDSインスタンスのプライマリ /セカンダリ切り替えログを表示できます。
制限事項
最大10個の読み取り専用RDSインスタンスを作成できます。
インスタンスバックアップ: これらの操作はプライマリRDSインスタンスで実行されるため、自動バックアップポリシーを設定したり、読み取り専用RDSインスタンスのバックアップを手動で作成したりすることはできません。 読み取り専用RDSインスタンスのバイナリログファイルに対してのみ保持ポリシーを設定できます。 詳細については、「ApsaraDB RDS For MySQLインスタンスのバイナリログファイルの削除」をご参照ください。
インスタンスの復元:
完全なデータ復元 (インスタンスレベルの復元): バックアップセットを使用して、または特定の時点まで、読み取り専用RDSインスタンスの完全なデータを新しいRDSインスタンスに復元することはできません。 詳細については、「完全データの復元」をご参照ください。
個々のデータベースおよびテーブルの復元: バックアップセットを使用して、または特定の時点まで、読み取り専用RDSインスタンスの個々のデータベースまたはテーブルを元のRDSインスタンスまたは新しいRDSインスタンスに復元することはできません。 詳細については、「個々のデータベースとテーブルの復元」をご参照ください。
読み取り専用RDSインスタンスにデータを移行することはできません。
読み取り専用RDSインスタンスでデータベースを作成または削除することはできません。
読み取り専用RDSインスタンスでは、アカウントの作成や削除、アカウントへのアクセス許可の付与、アカウントのパスワードの変更はできません。
読み取り専用RDSインスタンスの作成
読み取り専用RDSインスタンスを作成します。 詳細については、「読み取り専用RDSインスタンスの作成」をご参照ください。
よくある質問
プライマリRDSインスタンスにアカウントを作成した後、プライマリRDSインスタンスの読み取り専用RDSインスタンスのアカウントを管理できますか。
プライマリRDSインスタンスに作成されたアカウントは、読み取り専用RDSインスタンスに同期されます。 読み取り専用RDSインスタンスのアカウントを管理することはできません。 プライマリRDSインスタンスに作成されたアカウントは、読み取り専用RDSインスタンスと同期され、読み取り専用RDSインスタンスに対する読み取り権限のみを持ちます。
読み取り専用RDSインスタンスの課金を一時停止できますか。 読み取り専用RDSインスタンスの読み取り重みを0に設定して、課金を停止できますか。
読み取り専用RDSインスタンスの課金を一時停止することはできません。 読み取り専用RDSインスタンスが不要になった場合は、すぐにインスタンスをリリースすることを推奨します。 詳細については、「ApsaraDB RDS For MySQL インスタンスのリリースまたはサブスクリプション解除」をご参照ください。
RDSインスタンスのデータベースプロキシ機能が無効になっている場合、RDSインスタンスにアタッチされている読み取り専用RDSインスタンスの読み取り重みを設定できますか。
RDSインスタンスのデータベースプロキシ機能が無効になっている場合、RDSインスタンスにアタッチされている読み取り専用RDSインスタンスに読み取り重みを設定することはできません。 プライマリRDSインスタンスとその読み取り専用RDSインスタンスのエンドポイントを異なるアプリケーションに設定して、読み書き分離と負荷分散を実装できます。
RDS High-availability Editionを実行する読み取り専用RDSインスタンスをいつ購入する必要がありますか。
ワークロードが読み取り量が多い場合は、RDS High-availability Editionを実行する読み取り専用RDSインスタンスを購入して、プライマリRDSインスタンスからの読み取りリクエストをオフロードすることを推奨します。 これにより、ビジネスの安定性を確保できます。
プライマリRDSインスタンスにセカンダリRDSインスタンスがプロビジョニングされている場合、RDS High-availability Editionを実行する読み取り専用RDSインスタンスを購入する必要がありますか。
はい。プライマリRDSインスタンスが多数の読み取りリクエストを処理する必要がある場合は、RDS High-availability Editionを実行する読み取り専用RDSインスタンスを購入して、プライマリRDSインスタンスからの読み取りリクエストをオフロードすることを推奨します。 セカンダリRDSインスタンスはビジネスの可用性を保証しますが、読み取り専用RDSインスタンスは読み書き分離の実装と読み取り要求の処理に使用されます。