

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データベースのミラーリング
<a name="ec2-db-mirroring"></a>

データベースミラーリングは EC2 インスタンス上にあるデータベースを、完全またはほぼ完全な読み取り専用コピー (ミラー) を別の DB インスタンスに提供します。Amazon RDS はデータベースミラーリングを使用して、Amazon RDS for SQL Server のマルチ AZ サポートを提供しています。この機能により、データベースの可用性と保護が向上し、アップグレード中もデータベースを使用可能な状態に保つメカニズムが提供されます。

**注記**  
[Microsoft のドキュメント](https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/database-mirroring-sql-server)によると、データベースミラーリングはSQL Serverの将来のバージョンで削除される予定です。代わりに Always On可用性グループを使用するよう計画してください。

データベースミラーリングでは、SQL サーバーは次の 3 つの役割のいずれかを担うことができます。
+ プライマリ読み取り/書き込みバージョンのデータベースをホストするプリンシパルサーバー。
+ プリンシパルデータベースのコピーをホストするミラーサーバー。
+ オプションの監視サーバー。このサーバーは高安全モードでのみ使用可能です。データベースミラーの状態をモニタリングし、プライマリデータベースからミラーデータベースへのフェイルオーバーを自動化します。

プリンシパルサーバーとミラーサーバーの間でミラーリングセッションが確立されます。ミラーリング中、プリンシパルデータベースで行われたすべてのデータベース変更は、ミラーデータベースでも実行されます。データベースミラーリングは、同期操作でも非同期操作でもかまいません。これは、高安全モードと高性能モードという 2 つのミラーリング動作モードによって決まります。
+ **高安全モード**:このモードは同期操作を使用します。このモードでは、データベースミラーリングセッションは、挿入、更新、削除操作をプリンシパルデータベースからミラーデータベースにできるだけ早く同期します。データベースが同期されるとすぐに、トランザクションはプリンシパルデータベースとミラーデータベースの両方でコミットされます。ミラーデータベースが同じまたは異なるアベイラビリティーゾーンにあるが、同じ AWS リージョン内でホストされている場合は、このオペレーションモードを使用することをお勧めします。
+ **高性能モード:**このモードでは、非同期オペレーションを使用します。このモードでは、データベースミラーリングセッションは挿入、更新、削除操作をプリンシパルデータベースからミラーデータベースに同期しますが、プリンシパルデータベースがトランザクションをコミットしてからミラーデータベースがトランザクションをコミットするまでに時間差が生じることがあります。ミラーデータベースが異なる AWS リージョンにある場合は、このモードを使用することをお勧めします。

データベースミラーリングは次の場合に使用します。
+ RTO と RPO の要件が厳しく、プライマリデータベースとセカンダリデータベース間の遅延があってはなりません。データベースミラーリングでは、RPO は 0 秒 (同期コミットの場合)、数秒から数分の RTO を提供する。
+ セカンダリデータベースから読み取る必要はありません。
+ ミラーリング監視サーバーが同期モードに設定されている場合は、自動フェイルオーバーを実行したい場合。
+ 推奨オプションである Always On 可用性グループは使用できません。

機能制限:
+ 1 対 1 のフェイルオーバーのみがサポートされます。複数のデータベース宛先をプライマリデータベースと同期させることはできません。

MARS の詳細については、[ Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/database-mirroring-sql-server) のドキュメントを参照してください。