ApsaraDB RDS for SQL Server の RDS Cluster Edition は、高可用性 (HA) と水平方向の読み取りスケーリングを組み合わせた機能です。プライマリインスタンスとセカンダリインスタンスが HA モードで動作し、最大 7 台の読み取り専用インスタンスを追加することで、読み取りトラフィックを分散し、プライマリとは独立して読み取りスループットを向上させることができます。
仕組み
RDS Cluster Edition は、コンピュートとストレージが分離された SQL Server のネイティブ Always On アーキテクチャを採用しています。クラスターは以下のコンポーネントで構成されます。
-
プライマリ RDS インスタンス:すべての書き込みリクエストを処理します。読み書き分離が有効になっていない場合、読み取りリクエストも処理します。
-
セカンダリ RDS インスタンス:プライマリのミラーとなり、自動フェイルオーバーを実現します。読み取り専用ルートエンドポイントを有効にすると、デフォルトで読み取り可能になり、読み取り負荷分散に参加します。
-
読み取り専用 RDS インスタンス(最大 7 台):読み取り専用ルートエンドポイント経由でルーティングされた読み取りトラフィックを受信します。各読み取り専用インスタンスには、直接かつ独立したアクセスが可能な内部エンドポイントも備わっています。
読み書き分離
読み取り専用インスタンスを作成し、読み取り専用ルートエンドポイントを有効にしたら、アプリケーションに以下の両方のエンドポイントを設定してください。
-
プライマリエンドポイント — すべての書き込みリクエストをこのエンドポイントにルートします。
-
読み取り専用ルートエンドポイント — すべての読み取りリクエストをこのエンドポイントにルートします。このエンドポイントは、プライマリ RDS インスタンス、セカンダリ RDS インスタンス、および読み取り専用 RDS インスタンスに設定された読み取り重みに基づいて、セカンダリインスタンスおよび読み取り専用インスタンス間でトラフィックを分散します。
対応する SQL Server バージョン:SQL Server 2017、SQL Server 2019、SQL Server 2022、SQL Server 2025。
メリット
-
スケーラブルな読み取り能力 読み取り専用インスタンスを追加することで、読み取りスループットを線形に増加させられます。読み取り専用インスタンスの仕様はプライマリとは独立しているため、読み取り負荷の高いワークロードには高スペックのインスタンスを、分析などのバックグラウンドタスクには低スペックのインスタンスを作成できます。
-
コスト効率の高い読み取りスケーリング 読み取り専用インスタンスは汎用型および専用型インスタンスをサポートしています。プライマリから読み取りトラフィックをオフロードすることで、プライマリインスタンスを書き込みに最適なサイズに調整でき、全体的なコストを削減できます。
-
セカンダリインスタンスを読み取りに再利用 Cluster Edition インスタンスで読み取り専用ルートエンドポイントを有効にすると、セカンダリインスタンスが自動的に読み取り可能になります。これにより、追加の読み取り専用インスタンスをプロビジョニングすることなく、組み込みの読み取り専用レプリカが提供され、読み取りスケーリングおよびクラウド移行のコストを抑えることができます。
ユースケース
-
読み取り専用インスタンスによるトラフィックスパイクへの対応 季節的またはキャンペーンによる大量のトラフィックが発生するアプリケーションでは、高スペックの読み取り専用インスタンスを追加して読み取りリクエストの急増に対応できます。書き込みトラフィックはプライマリインスタンスに留まるため、ピーク時でもパフォーマンスが安定します。
-
分析ワークロードの分離 専用の読み取り専用インスタンス上で分析やレポートクエリを実行します。これにより、分析ワークロードがプライマリインスタンスのリソースを消費することを防ぎ、ブロッキングを軽減し、トランザクション処理のパフォーマンスを一貫して維持できます。
制限事項
-
読み取り専用インスタンスは HA を提供しません。 プライマリ RDS インスタンスが障害した場合、ワークロードを読み取り専用インスタンスに自動的に切り替えることはできません。少なくとも 2 台の読み取り専用インスタンスを作成し、いずれかが障害してももう一方がリクエストを処理できるようにしてください。
-
読み取り専用インスタンスにはディザスタリカバリインスタンスがありません。 読み取り専用インスタンスにはスタンバイレプリカが存在しません。
-
アプリケーションは読み書き分離のために 2 つのエンドポイントを使用する必要があります。 読み取り専用ルートエンドポイントを有効にした後は、アプリケーションを設定して、書き込みをプライマリエンドポイントに、読み取りを読み取り専用ルートエンドポイントに送信してください。
RDS Cluster Edition インスタンスを作成する際は、マルチ AZ デプロイを選択してクロスアベイラビリティーゾーンのディザスタリカバリーを有効にしてください。
RDS クラスターの設定
| タスク | 参照先 |
|---|---|
| 読み取り専用インスタンスの追加 | ApsaraDB RDS for SQL Server の読み取り専用インスタンスの作成 |
| 読み取り専用ルートエンドポイントの有効化 | 読み書き分離の有効化(読み取り専用ルートエンドポイントの有効化) |
| 読み取り重みの調整 | 読み取り重みの変更 |
| セカンダリインスタンスを読み取り可能にする | セカンダリ RDS インスタンスの読み取り属性の設定 |
| Cluster Edition へのアップグレード | ApsaraDB RDS for SQL Server インスタンスを RDS Cluster Edition にアップグレードする |
次のステップ
RDS Cluster Edition インスタンスを作成するには、「ApsaraDB RDS for SQL Server インスタンスの作成」をご参照ください。