すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:MySQL 読み取り専用インスタンスの作成

最終更新日:Nov 19, 2025

高同時実行のデータベース読み取りリクエストを処理し、システム全体のスループットを向上させるために、効率的な読み書き分離のために読み取り専用インスタンスを作成できます。 読み取り専用インスタンスは、プライマリデータベースインスタンスのレプリカです。 プライマリインスタンスのデータ変更は、関連付けられているすべての読み取り専用インスタンスに自動的に同期されます。 これにより、プライマリインスタンスの読み取り負荷が軽減され、読み取り専用インスタンスのデータがプライマリインスタンスと一貫していることが保証されます。

他のデータベースエンジン用に読み取り専用インスタンスを作成するには、次のドキュメントをご参照ください:

前提条件

プライマリ ApsaraDB 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」をご参照ください。

注意事項

  • 読み取り専用インスタンスは、プライマリインスタンスからのみ作成できます。 既存のインスタンスを読み取り専用インスタンスに変換することはできません。

  • データはプライマリインスタンスのセカンダリノードからコピーされるため、読み取り専用インスタンスを作成してもプライマリインスタンスには影響しません。

  • プライマリインスタンスがリリースされると、サブスクリプションの読み取り専用インスタンスは自動的に返金およびリリースされます。 従量課金の読み取り専用インスタンスはすぐにリリースされます。

  • 読み取り専用インスタンスのパラメーターは、プライマリインスタンスのパラメーター設定を継承しません。 代わりに、デフォルトのパラメーター値が使用されます。 これらのパラメーターは、読み取り専用インスタンスのコンソールで変更できます。

  • 読み取り専用インスタンスのストレージクラスは、プライマリインスタンスのストレージクラスと同じである必要があります。

  • プライマリインスタンスにはすでにバックアップがあるため、読み取り専用インスタンスは ローカルログ保持ポリシー の設定のみをサポートします。 自動バックアップポリシーの設定や手動バックアップの開始はサポートしていません。

  • ストレージ容量:

    • ディスクベースのインスタンス: 読み取り専用インスタンスのストレージ容量は、プライマリインスタンスのストレージ容量より小さくすることはできません。 プライマリインスタンスのメモリが読み取り専用インスタンスのメモリより大きい場合、プライマリインスタンスの仕様を変更すると、読み取り専用インスタンスが再起動します。

    • ローカルディスクベースのインスタンス: 読み取り専用インスタンスのストレージ容量は、プライマリインスタンスのストレージ容量より小さくすることはできません。

  • 最大 10 個の読み取り専用インスタンスを作成できます。

  • 課金方法: 課金方法はサブスクリプションまたは従量課金です。 価格の詳細については、「読み取り専用インスタンスタイプ」をご参照ください。

  • 読み取り専用インスタンスの作成時に選択できる VPC は 制限されています

読み取り専用インスタンスの作成

  1. [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。

  2. [基本情報] ページの [インスタンス分散] セクションで、[読み取り専用インスタンス] の右側にある [追加] ボタンをクリックします。image

    説明

    [追加] ボタンが表示されない場合は、インスタンスが前提条件を満たしているかどうかを確認してください。

  3. 読み取り専用インスタンスの基本リソースを設定します。

    パラメーター

    説明

    課金方法

    • サブスクリプション: これはサブスクリプションの課金方法です。 リソースを使用する前に料金を支払う必要があります。 この課金方法は長期的な使用に適しており、従量課金よりも費用対効果が高くなります。 サブスクリプション期間が長いほど、割引率が高くなります。

    • 従量課金: これは従量課金の課金方法です。 リソースは時間単位で課金されます。 この課金方法は短期的な使用に適しています。 いつでもインスタンスをリリースしてコストを節約できます。

    プロダクトシリーズ

    • Basic Edition: コスト効率が高く、学習やテストに適したシングルノードの読み取り専用インスタンスです。 エラーからの回復や再起動に時間がかかります。

      説明

      このオプションは、プライマリインスタンスのストレージクラスがクラウドディスクの場合にのみ使用できます。

    • 高可用性シリーズ (デフォルト): このシリーズは、読み取り専用インスタンスの高可用性を確保するためにプライマリノードとセカンダリノードを提供します。 本番環境に適しており、ユーザーシナリオの 80% 以上の要件を満たしています。

      説明

      高可用性シリーズを選択した場合は、プライマリゾーン、デプロイメントソリューション (マルチゾーンまたはシングルゾーンデプロイメント)、およびセカンダリゾーンも設定する必要があります。

    製品タイプ

    プライマリインスタンスの [ストレージクラス]ESSD で、場合にのみ、Yitian Edition を選択できます。

    Standard EditionYitian Edition の詳細については、「プロダクトタイプ」をご参照ください。

    ゾーン

    このパラメーターは、Basic Edition の読み取り専用インスタンスにのみ適用されます。 ゾーンは、リージョン内の独立した物理エリアです。 ゾーン間に実質的な違いはありません。 Basic Edition のインスタンスはシングルノードインスタンスであり、デフォルトでシングルゾーンデプロイメントを使用します。

    • プライマリゾーン

    • デプロイメントソリューション

    • セカンダリゾーン

    このパラメーターは、高可用性シリーズの読み取り専用インスタンスにのみ適用されます。 ゾーンは、リージョン内の独立した物理エリアです。 ゾーン間に実質的な違いはありません。 高可用性シリーズのインスタンスの場合は、デプロイメントソリューションも選択する必要があります:

    • シングルゾーンデプロイメント: プライマリノードとセカンダリノードは同じゾーンにあります。 プライマリゾーンを設定するだけで済みます。

    • マルチゾーンデプロイメント: プライマリノードとセカンダリノードは異なるゾーンにあります。 これにより、追加料金なしでクロスゾーンのディザスタリカバリが提供されます。 プライマリゾーンとセカンダリゾーンを設定する必要があります。

    インスタンスタイプ

    • 汎用: 汎用インスタンスタイプです。 割り当てられたメモリと I/O リソースを排他的に使用し、CPU とストレージリソースを同じサーバー上の他の汎用インスタンスと共有します。

    • 専用: 専用または排他的なインスタンスタイプです。 専用インスタンスは、割り当てられた CPU、メモリ、ストレージ、および I/O リソースを排他的に使用します。 排他的インスタンスは、サーバー全体の CPU、メモリ、ストレージ、および I/O リソースを排他的に占有する最上位の専用タイプです。

    説明

    各インスタンスタイプには、対応する数の CPU コア、メモリ、最大接続数、および最大 IOPS があります。

    データベースプロキシ

    プライマリインスタンスでデータベースプロキシが有効になっていない場合、読み取り専用インスタンスを作成するときに無料の汎用データベースプロキシを有効にすることを選択できます。 システムは、推奨仕様に基づいてプロキシを自動的にデプロイし、同時にプライマリインスタンスのプロキシ機能を有効にします。 プロキシは、読み書き分離、接続プール、トランザクション分割、持続的接続、Secure Sockets Layer (SSL) 暗号化などの高度な機能をサポートします。 プロキシを有効にした後、必要に応じてプロキシの仕様とタイプを柔軟に変更したり、データベースプロキシを手動でシャットダウンしたりできます。

    説明
    • プライマリインスタンスでプロキシがすでに有効になっている場合、読み取り専用インスタンスのプロキシ機能はデフォルトで有効になります。 手動で有効にする必要はありません。

    • 読み取り専用インスタンスが作成された後でデータベースプロキシを有効にすることもできます。

    ストレージ容量

    ストレージ容量には、データ領域、システムファイル領域、ログファイル領域、およびトランザクションファイル領域が含まれます。 ストレージ容量を調整するための最小増分は 5 GB です。

    説明

    読み取り専用インスタンスのストレージ容量は、そのプライマリインスタンスのストレージ容量以上である必要があります。

  4. [次へ: インスタンス設定] をクリックします。

    パラメーター

    説明

    VPC

    デフォルトでは、これはプライマリインスタンスの VPC と同じです。 設定は不要です。

    プライマリノードの VSwitch

    プライマリ vSwitch を選択するか、デフォルトのものを使用できます。

    セカンダリ VSwitch

    セカンダリ vSwitch は自動的に割り当てられます。 設定は不要です。

    データベースポート

    デフォルト値は 3306 です。 必要に応じて変更できます。

    インスタンスリリース保護

    このパラメーターは、従量課金インスタンスにのみ適用されます。 従量課金インスタンスの偶発的なリリースを防ぐために、インスタンスリリース保護を有効にします

    リソースグループ

    デフォルトでは、これはプライマリインスタンスのリソースグループと同じです。 設定は不要です。

    インスタンス名

    簡単に識別できるようにインスタンスの説明をカスタマイズします。 このパラメーターはオプションです。

    タグ

    多くのインスタンスがある場合は、分類と管理のためにタグをバインドできます。 このパラメーターはオプションです。

  5. [次へ: 注文の確認] をクリックします。 [パラメーター設定] を確認し、[数量][サブスクリプション期間] (サブスクリプションインスタンスのみ) を選択します。 次に、[注文の確認] をクリックして支払いを完了します。

    説明
    • サブスクリプションのプライマリインスタンス用にサブスクリプションの読み取り専用インスタンスを購入する場合、[サブスクリプション期間] の横にある [プライマリインスタンスに合わせる] チェックボックスを選択して、読み取り専用インスタンスのライフサイクルをプライマリインスタンスのライフサイクルに合わせることができます。

    • プライマリインスタンスがサブスクリプションインスタンスであり、読み取り専用インスタンスの課金方法を従量課金からサブスクリプションに変更する場合、[サブスクリプション期間][プライマリインスタンスに合わせる] を選択することはできません。 この設定は、新しく購入した読み取り専用インスタンスでのみ使用できます。 まず従量課金の読み取り専用インスタンスをリリースしてから、新しいサブスクリプションの読み取り専用インスタンスを購入することをお勧めします。

    • サブスクリプションインスタンスの場合は、[期限切れ時に自動更新を有効にする] を選択することをお勧めします。 これにより、更新忘れによるサービスの中断を防ぎ、インスタンスを手動で更新する必要がなくなります。

読み取り専用インスタンスとそのエンドポイントの表示

  1. ApsaraDB RDS コンソールにログインします。 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。

  2. インスタンスリストで、プライマリインスタンスを見つけ、左側の矢印をクリックしてその下の読み取り専用インスタンスを表示します。image

    プライマリインスタンスの ID をクリックして詳細ページに移動することもできます。 読み取り専用インスタンスは [基本情報] > [インスタンス分散] セクションに表示されます。image

  3. 読み取り専用インスタンスのエンドポイントの表示: 各読み取り専用インスタンスには独自のエンドポイントがあります。 エンドポイントを取得するには、読み取り専用インスタンスの ID をクリックして詳細ページに移動します。 次に、[基本情報] > [ネットワークタイプ] セクションで、[接続詳細の表示] をクリックします。image

読み取り専用インスタンスのレプリケーション遅延の表示

読み取り専用インスタンスがプライマリインスタンスからデータを同期するときに、レプリケーションの遅延が発生する場合があります。 読み取り専用インスタンスの [基本情報] ページで遅延を表示できます。 詳細については、「ApsaraDB RDS for MySQL 読み取り専用インスタンスのレプリケーション遅延の原因と解決策」をご参照ください。

読み書き分離の設定 (読み取り専用インスタンスを使用)

読み取り専用インスタンスを追加した後、アプリケーションで読み書き分離を手動で設定するか、データベースプロキシを有効にして読み取りリクエストと書き込みリクエストを自動的に分割できます。 詳細については、「データベースプロキシとは」、「読み書き分離とは」、および「データベースプロキシの有効化」をご参照ください。

説明

汎用データベースプロキシと持続的接続機能は無料です。 詳細については、「[新機能/仕様] RDS for MySQL は、無料の汎用データベースプロキシと無料の持続的接続機能をサポート」をご参照ください。

ベストプラクティス: データベースプロキシを使用してサービスを中断せずに読み取り専用インスタンスをオフラインにする

1 つのプライマリインスタンス A と 2 つの読み取り専用インスタンス B および C を持つ読み書き分離環境があるとします。 サービスを中断せずに読み取り専用インスタンス C をオフラインにするには、次の手順を実行します。

  1. [RDS インスタンス] ページに移動し、インスタンス A があるリージョンを選択してから、インスタンス A の ID をクリックします。

  2. 左側のナビゲーションウィンドウで、[データベースプロキシ] をクリックします。 [接続トポロジ管理] セクションで、[設定の変更] をクリックします。image

  3. [プロキシエンドポイント設定の変更] ダイアログボックスで、読み取り専用ノード C の読み取り重みを 0 に設定します。

    image

  4. 読み取り専用インスタンス C の [モニタリングとアラーム] ページに移動します。 [セッション接続] セクションで、active_session メトリックを監視し、0 になるまで待ちます。image

    説明

    active_session の値が 0 であるかどうかを確認します。 長時間経過しても値が 0 にならない場合は、セッションを強制終了できます。

  5. プライマリインスタンス A の [データベースプロキシ] タブで、データベースプロキシエンドポイントから読み取り専用インスタンス C を削除します。

よくある質問

作成

  • Q: 読み取り専用インスタンスの作成時に特定のゾーンを選択できないのはなぜですか?

    A: ゾーンが選択できない場合、そのゾーンではリソースが利用できないことを意味します。 別のゾーンを選択できます。 これは、読み取り専用インスタンスの機能には影響しません。

  • Q: 読み取り専用インスタンスに、プライマリインスタンスで使用されているものとは異なる VPC を選択できますか?

    A:

    • プライマリインスタンスがクラシックネットワークにある場合、読み取り専用インスタンスには任意の VPC を選択できます。

    • プライマリインスタンスが VPC にある場合、読み取り専用インスタンスの VPC のオプションは次のとおりです:

      • ストレージクラスがローカル SSD の場合、読み取り専用インスタンスには任意の VPC を選択できます。

      • ストレージクラスがクラウドディスクの場合、読み取り専用インスタンスの VPC はプライマリインスタンスの VPC と同じである必要があります。

  • Q: 読み取り専用インスタンスを作成すると、プライマリインスタンスに影響しますか?

    A: 読み取り専用インスタンスの作成中は、プライマリインスタンスの仕様変更などの操作はできません。 読み取り専用インスタンスが作成されるまで待つ必要があります。 この制限を除けば、プライマリインスタンスは影響を受けません。

  • Q: Basic Edition の ApsaraDB RDS for MySQL インスタンスに読み取り専用インスタンスを追加して、読み書き分離を実装できますか?

    A: Basic Edition の ApsaraDB RDS for MySQL インスタンスに直接読み取り専用インスタンスを追加することはできません。 Basic Edition の ApsaraDB RDS for MySQL 8.0 または 5.7 インスタンスを High-availability Edition にアップグレードし、読み取り専用インスタンスを追加してから、データベースプロキシを有効にして設定することで、読み書き分離を実装できます。 Basic Edition インスタンスを Cluster Edition にアップグレードし、Cluster Edition のプライマリノードとセカンダリノードを使用して読み書き分離を実装することもできます。

  • Q: High-availability シリーズの読み取り専用インスタンスを作成するときに、プライマリゾーンとセカンダリゾーンを選択できますか?

    A: プライマリインスタンスが Milvus バージョン 20210430 以降のディスクベースのインスタンスである場合は、プライマリゾーンとセカンダリゾーンを選択できます。 それ以外の場合は、プライマリゾーンとセカンダリゾーンを選択できません。

データ同期とレプリケーションの遅延

  • Q: 読み取り専用インスタンスのデータ同期にはどのくらい時間がかかりますか?

    A: 通常の状況では、同期はリアルタイムで行われます。 ただし、大規模なトランザクションや DDL 操作中にレプリケーションの遅延が発生する場合があります。 実際の遅延は状況によって異なります。

  • Q: 読み取り専用インスタンスのレプリケーション遅延に基づいて、レプリケーションが正常かどうかを判断するにはどうすればよいですか?

    A: 通常、読み取り専用インスタンスのレプリケーション遅延は 1 秒以内です。 遅延が 1 秒を超える場合は、データ同期の遅延を示します。 極端な場合、接続が切断されることがあります。

  • Q: レプリケーション遅延の一般的な原因は何ですか?

    A: レプリケーション遅延の一般的な原因と解決策については、「ApsaraDB RDS for MySQL 読み取り専用インスタンスのレプリケーション遅延の原因と解決策」をご参照ください。

  • Q: 読み取り専用インスタンスは並列レプリケーションをサポートしていますか?

    A: はい、読み取り専用インスタンスは並列レプリケーションをサポートしています。

接続とルーティング

  • Q: リクエストをプライマリデータベース/プライマリインスタンスで強制的に処理させるにはどうすればよいですか?

    A: リクエストをプライマリインスタンスに送信して処理させるには、3 つの方法があります:

    • プライマリインスタンスの内部またはパブリックエンドポイントに直接接続して、リクエストをプライマリインスタンスに直接送信して処理させます。

    • データベースプロキシが有効で、トランザクション分割が有効でない場合、リクエストをトランザクション内にカプセル化できます。 トランザクション内の操作は、デフォルトでプライマリインスタンスに送信されます。

    • ヒント構文を使用して、リクエストをプライマリインスタンスにルーティングします。 詳細については、「ヒント構文」をご参照ください。

  • Q: 読み取り専用インスタンスには個別のエンドポイントがありますか? 読み取り専用インスタンスに個別に接続できますか?

    A: 読み取り専用インスタンスには個別の接続アドレスがあり、インスタンスの詳細ページの [基本情報] セクションに記載されています。

インスタンスの O&M

  • Q: ApsaraDB RDS for MySQL インスタンスに読み取り専用インスタンスを追加しました。 しばらくすると、そのストレージ使用量 (合計ストレージとデータファイルの両方) がプライマリインスタンスよりも高くなります。 これは正常ですか?

    A: はい、これは想定される動作です。 スペースの不一致は、プライマリ/セカンダリのデータ同期メカニズムの違いによって発生します:

    • プライマリインスタンス: 元のユーザー SQL 文 ( INSERTUPDATE など) を実行します。

    • 読み取り専用インスタンス: 行ベースのバイナリロギングイベントを再生することで同期を完了します。

    この InnoDB ページ書き込みメカニズムの違いにより、読み取り専用インスタンスでページ分割やより多くの内部ストレージの断片化が発生する可能性があります。 したがって、データが完全に一貫している場合でも、読み取り専用インスタンスの物理ファイルはプライマリインスタンスの物理ファイルよりも大きくなる可能性があります。 頻繁な更新、削除、または大規模なトランザクションがあるシナリオでは、読み取り専用インスタンスの ibdata1 ファイル、undo ログ、または一時ファイルがより速く増加し、スペースの違いがより顕著になる可能性があります。

    解決策: 読み取り専用インスタンスを再作成する必要があります。 データベースプロキシで読み書き分離を有効にした後、新しい読み取り専用ノードを作成します。 新しい読み取り専用ノードが期待どおりに実行されたら、古い読み取り専用ノードを削除します。

  • Q: 読み取り専用インスタンスが High-availability シリーズで、プライマリノードとセカンダリノードがある場合、これら 2 つのノードのパラメーターはどのように設定しますか?

    A: 読み取り専用インスタンスのプライマリノードでパラメーターを設定するだけで済みます。 読み取り専用インスタンスのセカンダリノードは、プライマリノードからパラメーター値を自動的に同期します。 セカンダリノードのパラメーターを直接変更することはできません。

  • Q: 読み取り専用インスタンスを通常のインスタンスに変換できますか?

    A: この機能はサポートされていません。

  • Q: 読み取り専用インスタンスのデータをバックアップできますか? 読み取り専用インスタンスで自動バックアップを実行できますか?

    A: 読み取り専用インスタンスをバックアップする必要はありません。 バックアップはプライマリインスタンスで実行されます。 スナップショットバックアップが使用されるため、プライマリインスタンスにパフォーマンスのオーバーヘッドはありません。

  • Q: トランザクションログはどのようにパージされますか?

    A: ApsaraDB RDS for MySQL インスタンスのバイナリログは、ルールに基づいて自動または手動で削除されます

  • Q: 読み取り専用インスタンスの構成変更、リリース、または課金方法の変更は、プライマリインスタンスに影響しますか?

    A: いいえ、そうではありません。

課金

関連する API 操作

API

説明

読み取り専用インスタンスの作成

RDS 読み取り専用インスタンスを作成します