第2回では、SQL Server 2022 の新機能の一つである Azure Active Directory (Azure AD) 認証 についてまとめてみました。
今回は、SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について、自分の整理も兼ねてまとめてみようと思います。
Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について
Azure SQL Managed Instance へのリンク機能は、旧 SQL Server の一部のバージョン/エディションでも利用することができましたが、オンプレミス SQL Server AlwaysOn 可用性グループ -> Azure SQL Managed Instance への手動フェールオーバーを実施するとリンクが切れ、フェールバックすることが出来ませんでした。
【SQL Server 2019 以前で Azure SQL Managed Instance へのリンク機能がサポートされているバージョン、エディションについて】
- SQL Server 2016 SP3 (KB5003279) + Azure Connect パック (KB5014242) Standard/Enterprise Edition
- SQL Server 2019 Enterprise Edition CU15 (KB5008996)、Standard Edition CU17 (KB5016394)
SQL Server 2022 では、Azure SQL Managed Instance へのリンク機能が拡充され、ディザスタリカバリ機能として、オンプレミス SQL Server AlwaysOn 可用性グループ -> Azure SQL Managed Instance へ手動フェールオーバー後、Azure SQL Managed Instance -> オンプレミス SQL Server AlwaysOn 可用性グループへのフェールバックが可能 になったようです。
※ 2023年3月時点では、ディザスタリカバリ機能はまだプレビュー機能になっています。
Azure SQL Managed Instance へのリンク機能を利用することで、Azure SQL Managed Instance を ディザスタリカバリ (DR) 環境として利用することが可能、かつ、オンプレミス SQL Server から Azure への移行のダウンタイムを最小限に抑えることが可能な点がメリットでしょうか。
Azure SQL Managed Instance へのリンク機能について
※ 引用 : Managed Instance のリンク機能の概要
Azure SQL Managed Instance へのリンク機能は、オンプレミス SQL Server AlwaysOn 可用性グループ - Azure SQL Managed Instance 間に 分散型可用性グループ (SQL Server AlwaysOn 可用性グループ間でデータを同期する機能) を作成することで実現しているようです。
つまり、分散型可用性グループのテクノロジーを利用し、オンプレミス SQL Server AlwaysOn 可用性グループ 側に発生した挿入、更新、削除のトランザクション情報を Azure SQL Managed Instance へ送信することで、オンプレミス SQL Server AlwaysOn 可用性グループ - Azure SQL Managed Instance 間の同期を準リアルタイム (near real-time) を実現しているようです。
【補足】
SQL Server Management Studio (SSMS) バージョン 19.0 以降を利用することで、SSMS上から Azure SQL Managed Instance link ウィザードにより、Azure SQL Managed Instance へのリンク機能を簡単に構成することが可能です。
但し、Azure SQL Managed Instance リンクに含める オンプレミス側 SQL Server インスタンスでは、「Always On 可用性グループの有効化」、「推奨トレースフラグの有効化 (トレースフラグ 1800、9567)」、「データベース マスターキー作成」などの前提条件(推奨事項) を満たす必要があります。
また、事前に Azure SQL Managed Instance を Azure 上にデプロイし、オンプレミス環境から Azure SQL Managed Instance へ Azure VPN もしくは Azure Express Route 経由で接続できることを確認しておく必要があります。
次に分散可用性グループを構成するために必要なエンドポイント、証明書などの作成に関する情報、オンプレミス環境上で SQL Server AlwaysOn 可用性グループ、分散可用性グループを作成するための情報が必要となります。
証明書の有効期限は、要件がなければ可能な限り延ばしたほうが証明書の更新作業の手間が省くことができるかと思います。
Azure SQL Managed Instance link ウィザード完了後、オンプレミス SQL Server 環境側には、可用性グループ および 分散可用性グループの作成が行われていることが確認できます。
また、SSMS 可用性グループのダッシュボードからオンプレミス SQL Server から Azure SQL Managed Instance への 分散可用性グループ が作成され、正常にデータ同期がされている状況を確認することが可能です。
最後に、Azure SQL Managed Instance リンク機能を利用する上で Azure SQL Managed Instance のパブリック エンドポイント経由の通信は利用できないなどの制限事項が存在します。そのため、本機能を利用する前に制限事項をしっかりと確認したうえで構築することをお勧めいたします。
※ Azure SQL Managed Instance リンク機能の制限事項の詳細については、以下の URL を参照
まとめ
今回は、SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) についてまとめてみました。
Azure SQL Managed Instance へのリンク機能を利用することで、ディザスタリカバリ用途として利用する以外にも、オンプレミス SQL Server から Azure 環境への移行が最小のダウンタイムで可能となったり、オンプレミス SQL Server のワークロードの一部をAzure 側にオフロード (レポート、分析機能などの読み取り専用の処理を Azure SQL Managed Instance を利用して実装するなど) するなど、 様々なシナリオに応用が可能となります。そのため、DXを推進するためにも本機能を積極的に検討してみても良いかもしれません。
【第4回 SQL Server 2022 新機能】包含可用性グループ へ
※ 2023年3月時点