Amazon RDS での Microsoft SQL Server 用のリードレプリカの使用 - Amazon Relational Database Service

Amazon RDS での Microsoft SQL Server 用のリードレプリカの使用

リードレプリカは通常、Amazon RDS の DB インスタンス間でレプリケーションを設定するために使用します。リードレプリカの概要については、「リードレプリカの使用」を参照してください。

このセクションでは、Amazon RDS for SQL Server でのリードレプリカの使用に関する特定の情報を確認することができます。

SQL Server リードレプリカの設定

DB インスタンスがレプリケーション用のソース DB インスタンスとして機能するには、ソース DB インスタンスで自動バックアップを有効にする必要があります。そのためには、バックアップ保持期間の値を 0 以外の値に設定します。ソース DB インスタンスは、AlwaysOn 可用性グループ (AG) を持つマルチ AZ 配置である必要があります。このタイプのデプロイを設定すると、自動バックアップが有効になります。

SQL Server リードレプリカを作成する際、プライマリ DB インスタンスを停止する必要はありません。Amazon RDS では、サービスを中断することなく、ソース DB インスタンスとリードレプリカに必要なパラメータとアクセス許可を設定できます。ソース DB インスタンスのスナップショットが作成され、このスナップショットがリードレプリカになります。リードレプリカの削除時にも停止は発生しません。

1 つのソース DB インスタンスから最大 5 つのリードレプリカを作成できます。レプリケーションを効率的に実行するには、各リードレプリカにソース DB インスタンスと同程度のコンピューティングリソースとストレージリソースを設定することをお勧めします。ソースの DB インスタンスをスケールした場合は、リードレプリカもスケールする必要があります。

ソース DB インスタンスとそのすべてのリードレプリカの SQL Server DB エンジンバージョンは同じである必要があります。Amazon RDS では、メンテナンスウィンドウに関係なく、リードレプリカがアップグレードされた後すぐにプライマリがアップグレードされます。DB エンジンバージョンのアップグレードの詳細については、「Microsoft SQL Server DB エンジンのアップグレード」を参照してください。

リードレプリカでソースからの変更を受信して適用できるように、十分なコンピューティングリソースとストレージリソースが必要です。リードレプリカのコンピューティング、ネットワーク、またはストレージがリソースの容量に達すると、リードレプリカはソースからの変更の受信または適用を停止します。リードレプリカのストレージや CPU リソースは、そのソースや他のリードレプリカとは独立して変更することができます。

SQL Server でのリードレプリカの制限

Amazon RDS の SQL Server リードレプリカには、次の制限が適用されます。

  • リードレプリカは、SQL Server Enterprise Edition (EE) エンジンでのみ使用することができます。

  • リードレプリカは、SQL Server バージョン 2016 – 2019 で使用できます。

  • レプリケートするソース DB インスタンスは、AlwaysOn 可用性グループを持つマルチ AZ 配置である必要があります。

  • リードレプリカは、EC2-VPC プラットフォームの DB インスタンスでのみ使用することができます。

  • リードレプリカは、4 つ以上の vCPU を持つ DB インスタンスクラスで実行されている DB インスタンスでのみ使用できます。

  • Amazon RDS for SQL Server では、次の機能はサポートされていません。

    • 別の AWS リージョンでのリードレプリカの作成 (クロスリージョンリードレプリカ)

    • リードレプリカのバックアップ保持

    • リードレプリカからのポイントインタイムリカバリ

    • リードレプリカの手動スナップショット

    • マルチ AZ リードレプリカ

    • リードレプリカのリードレプリカの作成

    • リードレプリカへのユーザーログインの同期

  • Amazon RDS for SQL Server は、ソース DB インスタンスとそのリードレプリカの間の高いレプリカラグを軽減するために介入することはありません。ソース DB インスタンスとそのリードレプリカのサイズが、コンピューティング能力とストレージの観点から、運用負荷に合わせて適切に設定されていることを確認してください。

  • SQL Server リードレプリカは、ソース DB インスタンスと同じオプショングループに属します。ソースオプショングループまたはソースオプショングループメンバーシップへの変更はリードレプリカに反映されます。これらの変更は、リードレプリカのメンテナンスウィンドウに関係なく、ソース DB インスタンスに適用された後すぐにリードレプリカに適用されます。

    オプショングループの詳細については、「オプショングループを使用する」を参照してください。

SQL Server リードレプリカの問題のトラブルシューティング

Amazon CloudWatch のレプリケーションのラグをモニタリングするには、Amazon RDS ReplicaLag メトリクスを表示します。レプリケーションのラグタイムについては、「リードレプリケーションのモニタリング」を参照してください。

レプリケーションラグが長すぎる場合は、次のクエリを使用してラグに関する情報を取得できます。

SELECT AR.replica_server_name , DB_NAME (ARS.database_id) 'database_name' , AR.availability_mode_desc , ARS.synchronization_health_desc , ARS.last_hardened_lsn , ARS.last_redone_lsn , ARS.secondary_lag_seconds FROM sys.dm_hadr_database_replica_states ARS INNER JOIN sys.availability_replicas AR ON ARS.replica_id = AR.replica_id --WHERE DB_NAME(ARS.database_id) = 'database_name' ORDER BY AR.replica_server_name;