このトピックでは、ApsaraDB RDS for SQL Server の読み取り専用インスタンスの概要について説明します。データベースシステムが受け取る書き込みリクエストは少ないものの、読み取りリクエストが多い場合、単一のプライマリ RDS インスタンスでは読み取りリクエストの処理に追われ、ワークロードが中断される可能性があります。プライマリ RDS インスタンスから読み取りリクエストをオフロードするには、1 つ以上の読み取り専用 RDS インスタンスを作成できます。読み取り専用 RDS インスタンスは、データベースシステムの読み取り能力とアプリケーションのスループットを向上させるのに役立ちます。プライマリ RDS インスタンスが特定の要件を満たしている場合、データベースシステムは、そのプライマリ RDS インスタンスに属する読み取り専用 RDS インスタンスの高速初期化をサポートします。これにより、読み取り専用 RDS インスタンスの作成時間が数分に短縮され、作成がプライマリ RDS インスタンスの I/O パフォーマンスに影響を与えないことが保証されます。
概要
ApsaraDB RDS for SQL Server は、ネイティブ SQL Server の Always On アーキテクチャを使用しています。ApsaraDB RDS for SQL Server では、物理レプリケーションによってプライマリ RDS インスタンスが複製され、読み取り専用 RDS インスタンスが生成されます。読み取り専用 RDS インスタンス上のデータは、プライマリ RDS インスタンス上のデータと同じです。プライマリ RDS インスタンス上のデータが更新されると、その更新は自動的に読み取り専用 RDS インスタンスに同期されます。
-
プライマリ RDS インスタンスが SQL Server EE (Always On) を実行している場合にのみ、そのプライマリ RDS インスタンスに対して読み取り専用 RDS インスタンスを作成できます。
-
各読み取り専用 RDS インスタンスは、シングルノードアーキテクチャに基づいて実行されます。このアーキテクチャでは、読み取り専用 RDS インスタンスのスタンバイとしてセカンダリ読み取り専用 RDS インスタンスは提供されません。
次の図は、プライマリ RDS インスタンスとその読み取り専用 RDS インスタンスのトポロジーを示しています。
利用シーン
-
プライマリ RDS インスタンスが過負荷の場合、読み取り専用 RDS インスタンスを作成して、プライマリ RDS インスタンスから読み取りリクエストをオフロードできます。
-
バックアップやメンテナンスのためにプライマリ RDS インスタンスが一時的に利用できない場合、読み取りリクエストはその読み取り専用 RDS インスタンスに転送され、一部のワークロードをサポートします。
-
レポート分析などのシナリオで、プライマリ RDS インスタンスに影響を与えることなく、読み取り専用 RDS インスタンスを使用して大量のデータをクエリおよび分析できます。
-
緊急ディザスタリカバリシナリオでは、読み取り専用 RDS インスタンスをプライマリ RDS インスタンスのバックアップとして使用できます。ただし、プライマリ RDS インスタンスのワークロードを直接読み取り専用 RDS インスタンスに切り替えることはできません。
課金ルール
作成した読み取り専用 RDS インスタンスは、サブスクリプション課金方法または従量課金方法に基づいて課金されます。詳細については、「読み取り専用インスタンスのタイプ」をご参照ください。
プライマリ RDS インスタンスの課金方法がサーバーレスの場合、読み取り専用 RDS インスタンスは作成できません。
特徴
-
課金方法:読み取り専用 RDS インスタンスは、従量課金とサブスクリプションの両方の課金方法をサポートしています。従量課金方法は柔軟性があり、RDS インスタンスが不要になったときに読み取り専用 RDS インスタンスをリリースできます。サブスクリプション課金方法は、長期的な利用においてコスト効率に優れています。
-
リージョンとゾーン:読み取り専用 RDS インスタンスはプライマリ RDS インスタンスと同じリージョンに配置されますが、異なるゾーンに配置することもできます。
-
インスタンス仕様:読み取り専用 RDS インスタンスの仕様は、プライマリ RDS インスタンスの仕様と異なっていてもかまいません。読み取り専用 RDS インスタンスの仕様はいつでも変更できます。プライマリ RDS インスタンスのインスタンスタイプと同等以上の仕様を持つインスタンスタイプを指定することを推奨します。読み取り専用 RDS インスタンスの仕様がプライマリ RDS インスタンスの仕様よりも低い場合、高レイテンシーや高負荷などの問題が発生する可能性があります。
-
ネットワークタイプ:読み取り専用 RDS インスタンスのネットワークタイプは、プライマリ RDS インスタンスのネットワークタイプと異なっていてもかまいません。詳細については、「ネットワークタイプの変更」をご参照ください。
-
アカウントとデータベースの管理:読み取り専用 RDS インスタンス上のアカウントとデータベースは、プライマリ RDS インスタンスから同期されます。読み取り専用 RDS インスタンスでデータベースやアカウントを管理する必要はありません。
-
IP アドレスホワイトリストの管理:読み取り専用 RDS インスタンスを作成すると、システムはプライマリ RDS インスタンスの IP アドレスホワイトリストを読み取り専用 RDS インスタンスに複製します。ただし、読み取り専用 RDS インスタンスの IP アドレスホワイトリストは、プライマリ RDS インスタンスの IP アドレスホワイトリストから独立しています。読み取り専用 RDS インスタンスの IP アドレスホワイトリストを変更する場合は、「IP アドレスホワイトリストの設定」の指示に従ってください。
-
モニタリングとアラート:読み取り専用 RDS インスタンスは、モニタリングとアラートをサポートしています。ディスク使用量、IOPS、接続数、CPU 使用率、ネットワークトラフィックなど、約 20 のメトリックを監視できます。
-
読み取り専用 RDS インスタンスの数:プライマリ RDS インスタンスに対して最大 7 つの読み取り専用 RDS インスタンスを作成できます。
-
読み取り専用 RDS インスタンスの高速初期化:プライマリ RDS インスタンスが特定の要件を満たしている場合、データベースシステムは、そのプライマリ RDS インスタンスに属する読み取り専用 RDS インスタンスの高速初期化をサポートします。
制限事項
-
インスタンスのバックアップ:読み取り専用 RDS インスタンスに対してバックアップポリシーを設定したり、手動でバックアップを作成したりすることはできません。これらはプライマリ RDS インスタンスで設定および作成されます。バックアップファイルや特定の時点から一時的な RDS インスタンスを作成することはできません。バックアップセットを使用して RDS インスタンスを上書きすることもできません。読み取り専用 RDS インスタンスを作成した後、バックアップセットを使用してプライマリ RDS インスタンスを上書きしてデータを復元することはできません。
-
データ移行:読み取り専用 RDS インスタンスにデータを移行することはできません。
-
データベース管理:読み取り専用 RDS インスタンスでデータベースを作成または削除することはできません。
-
アカウント管理:読み取り専用 RDS インスタンスでアカウントを作成または削除したり、アカウントに権限を付与したり、アカウントのパスワードを変更したりすることはできません。
付録:読み取り専用 RDS インスタンスの高速初期化の概要
プライマリ RDS インスタンスが SQL Server EE (Always On) を実行している場合、データベースシステムは、そのプライマリ RDS インスタンスに属する読み取り専用 RDS インスタンスの高速初期化をサポートします。高速初期化機能により、読み取り専用 RDS インスタンスの作成に必要な時間が数時間または数日から数十分に短縮されます。高速初期化機能を使用すると、データベースシステムのリソース割り当て効率が向上し、企業はサービスを効率的にデプロイおよび拡張できます。
前提条件
高速初期化機能を使用するには、プライマリ RDS インスタンスが次の要件を満たしている必要があります:
-
プライマリ RDS インスタンスが SQL Server 2017 EE (Always On)、SQL Server 2019 EE (Always On)、SQL Server 2022 EE (Always On)、または SQL Server 2025 EE (Always On) を実行している。
-
RDS クラスターが拡張 SSD (ESSD) または高性能 ESSD を使用している。
-
プライマリ RDS インスタンス内のデータベース数が 20 未満である。
-
プライマリ RDS インスタンス内のデータベースの合計サイズが 200 GB を超えている。
注意事項
-
読み取り専用 RDS インスタンスを作成する前に、プライマリ RDS インスタンスでバックアップタスクが進行中の場合は、バックアップが完了するまで待つ必要があります。これにより、読み取り専用 RDS インスタンスの初期化に必要な時間が長くなります。詳細については、「ApsaraDB RDS for SQL Server インスタンスのバックアップ」をご参照ください。
-
読み取り専用 RDS インスタンスを作成する前に、その読み取り専用 RDS インスタンスとプライマリ RDS インスタンスが同じリージョンに配置されていることを確認してください。
メリット
-
迅速なスケールアウト:プライマリ RDS インスタンスに保存されているデータが 16 TB 以下の場合、プライマリ RDS インスタンスに保存されているデータのサイズに関係なく、数分以内に読み取り専用 RDS インスタンスを作成できます。これにより、読み取り専用 RDS インスタンスの作成時間が数時間または数日から数分に短縮されます。
-
プライマリ RDS インスタンスへの干渉が少ない:読み取り専用 RDS インスタンスの高速初期化は、プライマリ RDS インスタンスの I/O パフォーマンスに影響を与えません。これにより、プライマリ RDS インスタンスの安定したパフォーマンスが保証されます。
-
コスト効率:高速初期化を使用して、いつでも読み取り専用 RDS インスタンスを作成できます。作成した読み取り専用 RDS インスタンスは、使用後にいつでもリリースできます。これにより、読み取り専用 RDS インスタンスを長期間保持するコストを削減できます。
利用シーン
-
データ分析の高速化:読み取り専用 RDS インスタンスの高速初期化を使用して、データ分析やレポート生成などのオンライン分析処理 (OLAP) ワークロードを読み取り専用 RDS インスタンスに移行します。これにより、プライマリ RDS インスタンスのパフォーマンスが影響を受けないことが保証されます。
-
分離されたテスト環境:さまざまなテストフェーズで読み取り専用 RDS インスタンスを効率的にデプロイし、本番環境のパフォーマンスに影響を与えることなく機能をテストします。
-
管理可能なトラフィックスパイク:ピーク時に読み取り専用 RDS インスタンスを効率的に作成し、プライマリ RDS インスタンスから読み取りリクエストをオフロードします。これにより、プライマリ RDS インスタンスの負荷が軽減されます。
-
最適化されたデータエクスポート:読み取り専用 RDS インスタンスでデータエクスポートタスクを実行して、データエクスポートによるプライマリ RDS インスタンスへの追加負荷を回避します。
-
便利なデータ共有:外部パートナーや内部部門とデータベース情報を共有します。この場合、読み取り専用 RDS インスタンスを効率的に作成して、安全なデータ共有を実現できます。
参考
読み取り専用 RDS インスタンスを作成します。詳細については、「読み取り専用 SQL Server インスタンスの作成」をご参照ください。