このトピックでは、読み取り専用の ApsaraDB RDS for SQL Server インスタンスの概要について説明します。データベースシステムが少数の書き込みリクエストと多数の読み取りリクエストを受信する場合、1 つのプライマリ 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 インスタンスから同期されます。読み取り専用 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) が実行されている。
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 インスタンスの高速初期化は、プライマリ RDS インスタンスの I/O パフォーマンスに影響を与えません。これにより、プライマリ RDS インスタンスの安定したパフォーマンスが保証されます。
費用対効果: いつでも高速初期化を使用して読み取り専用 RDS インスタンスを作成できます。作成した読み取り専用 RDS インスタンスは、使用後にいつでも解放できます。これにより、読み取り専用 RDS インスタンスを長期間保持するためのコストを削減できます。
シナリオ
データ分析の高速化: 読み取り専用 RDS インスタンスの高速初期化を使用して、データ分析やレポート生成などのオンライン分析処理 (OLAP) ワークロードを読み取り専用 RDS インスタンスに移行します。これにより、プライマリ RDS インスタンスのパフォーマンスが影響を受けないことが保証されます。
分離されたテスト環境: さまざまなテストフェーズで読み取り専用 RDS インスタンスを効率的にデプロイして、本番環境のパフォーマンスに影響を与えることなく機能をテストします。
管理可能なトラフィックの急増: ピーク時に読み取り専用 RDS インスタンスを効率的に作成して、プライマリ RDS インスタンスから読み取りリクエストの負荷を軽減します。これにより、プライマリ RDS インスタンスの負荷が軽減されます。
データエクスポートの最適化: 読み取り専用 RDS インスタンスでデータエクスポートタスクを実行して、プライマリ RDS インスタンスでのデータエクスポートによる追加の負荷を回避します。
便利なデータ共有: データベース情報を外部のパートナーまたは内部の部門と共有します。この場合、読み取り専用 RDS インスタンスを効率的に作成して、安全なデータ共有を実現できます。
参照
読み取り専用 RDS インスタンスを作成します。詳細については、「読み取り専用の ApsaraDB RDS for SQL Server インスタンスを作成する」をご参照ください。