次の方法で共有


SQL Server 可用性グループをマルチサブネットに移行する - Azure VM 上の SQL Server

適用対象: Azure VM 上の SQL Server

この記事では、Always On 可用性グループ (AG) を 1 つのサブネットから複数のサブネットに移行し、Azure 仮想マシン (VM) 上の SQL Server を使用して Azure のリスナーへの接続を簡略化する方法について説明します。

ヒント

可用性グループをデプロイする方法は多数あります。 デプロイを簡略化し、Always On 可用性グループに対して Azure Load Balancer または分散ネットワーク名 (DNN) を不要にするには、同じ Azure 仮想ネットワーク内の複数のサブネットに SQL Server 仮想マシン (VM) を作成します。 可用性グループを 1 つのサブネットに既に作成している場合は、マルチサブネット環境に移行できます。

概要

Azure 仮想マシンで SQL Server を実行しているお客様は、1 つのサブネットまたは複数のサブネット (マルチサブネット) に Always On 可用性グループ (AG) を実装できます。 マルチサブネット構成では、Azure ネットワーク上のリスナーにトラフィックをルーティングするための Azure Load Balancer または分散ネットワーク名 (DNN) が不要になり、可用性グループ環境が簡素化されます。 マルチサブネット アプローチを使うことをお勧めしますが、アプリケーションで MultiSubnetFailover = true を使用するには接続文字列が必要です。これは、アプリケーション レベルの変更により、すぐには実行できない場合があります。

最初に 1 つのサブネットに可用性グループを作成し、リスナーに Azure Load Balancer または DNN を使用していて、マルチサブネット構成に移行して複雑さを軽減したい場合は、いくつかの手動の手順で行うことができます。

既存の環境の移行を開始する前に、使用中の環境を変更するリスクを比較検討します。

可用性グループを複数のサブネットに移行する場合は、次の 2 つの方法を検討してください。

  • 並列テストを実行する新しい環境を作成する
  • 既存の可用性グループを手動で移動する

注意事項

移行の実行にはリスクが伴うので、運用環境に移行する前にいつものように非運用環境で十分にテストしてください。

並列テストを使用する新しい環境

マルチサブネット可用性グループに移動する 1 つ目の方法は、新しい環境を設定することです。 この方法を選んだ場合は、次のことを行う必要があります。

  1. 新しい仮想マシンを作成する
  2. マルチサブネット構成で新しい可用性グループを作成する
  3. 現在のデータベースをバックアップして新しい環境に復元する

最初は、新しいマルチサブネット環境で、既存の 1 つのサブネット環境とは異なる名前のリスナーを作成します。 新しい可用性グループで新しく名前を付けたリスナーでは、アプリケーションを並列テストすることができます (マルチサブネットと現在のロード バランサーまたは DNN の両方を使用したテスト)。

マルチサブネット環境を十分に検証したら、新しいインフラストラクチャに移行することができます。 環境 (運用環境、テスト) に応じて、メンテナンス期間を使用して変更を完了します。 メンテナンス期間中に、データベースを新しいプライマリ レプリカに復元し、両方の環境で可用性グループ リスナーを削除し、前のリスナー (アプリケーション接続文字列で使用されたもの) と同じ名前を使って、マルチサブネット環境でリスナーを再作成します。

マルチサブネット構成での新しい環境の設定が、Azure portal デプロイ エクスペリエンスにより簡単になりました

既存の可用性グループを手動で移動する

もう 1 つのオプションは、1 つのサブネット環境からマルチサブネット環境に手動で移動することです。 この方法を使用して移行するには、次の前提条件を満たす必要があります。

  • 新しいサブネット内の各マシンの IP アドレス
  • 接続文字列で既に MultiSubnetFailover = true が使用されている

可用性グループをマルチサブネット構成に移行するには、これらの手順に従います。

  1. すべての仮想マシンが現在、同じサブネット内にあるため、セカンダリごとに新しいサブネットを作成します。

  2. AG 内のすべてのサーバーのクラスター IP とリスナー IP を決定します。 たとえば、2 つのノードを持つ可用性グループがある場合、次のようになります。

    VM 名 Subnet クラスターの IP リスナー IP
    VM1 (プライマリ) 10.1.1.0/24 (既存のサブネット) 10.1.1.15 10.1.1.16
    VM2 (セカンダリ) 10.1.2.0/24 (新しいサブネット) 10.1.2.15 10.1.2.16
  3. クラスター IP とリスナー IP をプライマリ レプリカ サーバーに追加します。 これらの IP アドレスの追加はオンライン操作です。

  4. Azure portal で、仮想マシン >[ネットワーク] > [ネットワーク インターフェイス] > [IP 構成] の順に移動して、セカンダリ サーバーを新しいサブネットに移動します。 サーバーを新しいサブネットに移動すると、セカンダリレプリカサーバーが再起動します。

  5. クラスター IP とリスナー IP をセカンダリ レプリカ サーバーに追加します。 これらの IP アドレスの追加はオンライン操作です。

  6. この時点で、IP アドレスとサブネットが配置されているため、ロード バランサーを削除できます。

  7. リスナーを削除します。

  8. Windows Server 2019 以降のバージョンを使用している場合は、この手順をスキップしてください。 Windows Server 2016 を使用している場合は、クラスター IP を FCI に手動で追加します。

  9. 新しいリスナー IP を使用してリスナーを再作成します。

  10. ipconfig /flushdns を使用して、すべてのサーバーで DNS をフラッシュします。

次のステップ