Amazon RDS for Microsoft SQL Server のマルチ AZ 配置 - Amazon Relational Database Service

Amazon RDS for Microsoft SQL Server のマルチ AZ 配置

マルチ AZ 配置は、DB インスタンスの拡張された可用性、データ堅牢性、および耐障害性を提供します。予定されたデータベースメンテナンスまたは予期しないサービス障害時に、Amazon RDS は自動的に最新のセカンダリ DB インスタンスにフェイルオーバーします。この機能により、データベースオペレーションを手動介入なしで速やかに再開できます。プライマリインスタンスおよびスタンバイインスタンスは、同じエンドポイントを使用します。このエンドポイントの物理的なネットワークアドレスは、フェイルオーバープロセスの一環としてセカンダリレプリカに移行します。フェイルオーバーが発生した場合、アプリケーションを再構成する必要はありません。

Amazon RDS は、Microsoft SQL Server で SQL Server データベースミラーリング (DBM) または Always On 可用性グループ (AG) によるマルチ AZ 配置をサポートしています。Amazon RDS は、マルチ AZ 配置のヘルス状態をモニタリングし、維持します。問題が発生した場合、RDS は異常のある DB インスタンスを自動的に修正し、同期を再確立して、フェイルオーバーをスタートします。フェイルオーバーは、スタンバイとプライマリが完全に同期している場合にのみスタートします。何も管理する必要はありません。

SQL Server マルチ AZ をセットアップすると、RDS は DBM または AG を使用するよう、インスタンス上のすべてのデータベースを自動的に設定します。Amazon RDS では、プライマリ、モニタリング、およびセカンダリ DB インスタンスが処理されます。設定は自動的に行われるため、RDS はデプロイする SQL Server のバージョンに基づいて、DBM または常時稼働 AG を選択します。

Amazon RDS では、SQL Server の以下のバージョンおよびエディションの常時稼働 AG によるマルチ AZ がサポートされます。

  • SQL Server 2022:

    • Standard Edition

    • Enterprise Edition

  • SQL Server 2019:

    • Standard Edition 15.00.4073.23 以降

    • Enterprise Edition

  • SQL Server 2017:

    • Standard Edition 14.00.3401.7 以降

    • Enterprise Edition 14.00.3049.1 以降

  • SQL Server 2016: Enterprise Edition 13.00.5216.0 以降

Amazon RDS では、上述のバージョンを除き、SQL Server の以下のバージョンおよびエディションの DBM によるマルチ AZ がサポートされます。

  • SQL Server 2019: Standard Edition 15.00.4043.16

  • SQL Server 2017: Standard および Enterprise Edition

  • SQL Server 2016: Standard および Enterprise Edition

次の SQL クエリを使用して、SQL Server DB インスタンスがシングル AZ、DBM によるマルチ AZ、または Always On AGs によるマルチ AZ のいずれであるかを特定できます。

SELECT CASE WHEN dm.mirroring_state_desc IS NOT NULL THEN 'Multi-AZ (Mirroring)' WHEN dhdrs.group_database_id IS NOT NULL THEN 'Multi-AZ (AlwaysOn)' ELSE 'Single-AZ' END 'high_availability' FROM sys.databases sd LEFT JOIN sys.database_mirroring dm ON sd.database_id = dm.database_id LEFT JOIN sys.dm_hadr_database_replica_states dhdrs ON sd.database_id = dhdrs.database_id AND dhdrs.is_local = 1 WHERE DB_NAME(sd.database_id) = 'rdsadmin';

出力は次のようになります。

high_availability Multi-AZ (AlwaysOn)

Microsoft SQL Server DB インスタンスへのマルチ AZ の追加

AWS Management Console を使用して新しい SQL Server DB インスタンスを作成する場合、データベースミラーリング (DBM) または Always On AG によるマルチ AZ を追加できます。これを行うには、[マルチ AZ 配置] から [Yes (Mirroring/Always On)] を選択します。詳しくは、「Amazon RDS DB インスタンスの作成」を参照してください。

コンソールを使用して既存の SQL Server DB インスタンスを変更する場合、[Modify DB instance] (DB インスタンスを変更) ページの [Multi-AZ deployment] (マルチ AZ 配置) から [Yes (Mirroring / Always On)] (はい (ミラーリング/常時)) を選択して、DBM または AG によるマルチ AZ を追加できます。詳しくは、「Amazon RDS DB インスタンスを変更する」を参照してください。

注記

DB インスタンスが Always On 可用性グループ (AG) ではなくデータベースのミラーリング (DBM) を実行している場合は、マルチ AZ を追加する前に、インメモリ最適化を無効にする必要が生じることがあります。DB インスタンスで SQL Server 2016、または 2017 Enterprise Edition が実行され、インメモリ最適化が有効になっている場合は、マルチ AZ を追加する前に DBM でのインメモリ最適化を無効にします。

DB インスタンスが AG を実行している場合、このステップは必要ありません。

Microsoft SQL Server DB インスタンスからのマルチ AZ の削除

AWS Management Console を使用して既存の SQL Server DB インスタンスを変更する場合、DBM または AG を使用してマルチ AZ を削除できます。これを行うには、Modify DB instance ページで Multi-AZ deployment から [No (Mirroring / Always On)] (いいえ (ミラーリング/常時オン)) を選択します。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。