Azure VM 上の SQL Server では、SQL Server VM を 1 つのサブネットまたは複数のサブネットにデプロイするオプションがあります。
複数のサブネットに VM をデプロイすると、IP アドレスに関してクラスターの OR 依存関係が利用され、フェールオーバー クラスター インスタンスに接続するときのオンプレミス エクスペリエンスに一致します。 管理が簡素化され、フェールオーバー時間も短縮されるため、Azure VM 上の SQL Server では、マルチサブネットのアプローチをお勧めします。
複数のサブネットに SQL Server VM をデプロイする場合は、このセクションの手順に従って、追加のサブネットを持つ仮想ネットワークを作成し、SQL Server VM が作成されたら、それらのサブネット内のセカンダリ IP アドレスを VM に割り当てます。 1 つのサブネットに SQL Server VM をデプロイする場合、追加のネットワーク構成は必要ありません。
1 つのサブネットに SQL Server VM を配置する場合、追加のネットワーク構成は不要です。
接続を SQL Server FCI に直接ルーティングする場合は、1 つの仮想ネットワーク内の別々のサブネットに両方の仮想マシンを配置します。 フェールオーバー クラスター インスタンス用の SQL Server VM にセカンダリ IP アドレスを割り当てます。また、Windows Server 2016 以下を使用している場合は、Windows Server フェールオーバー クラスター用のセカンダリ IP アドレスも追加で割り当てます。 Windows Server 2019 以降では、分散ネットワーク名 (DNN) をクラスター名に使用するため、クラスターのセカンダリ IP アドレスは不要です。
このアプローチでは、SQL Server FCI に接続するときに Azure Load Balancer または分散ネットワーク名 (DNN) は必要ありません。
複数のサブネットに SQL Server VM をデプロイすることを選択した場合、まず、2 つの追加サブネットがある仮想ネットワークを作成する必要があります。SQL Server VM が作成されたら、セカンダリ IP アドレスを VM に割り当てます。 詳細については、仮想ネットワークの概要に関するページを参照してください。 このセクションで示しているサブネット名と IP アドレスは単なる例であり、環境によって異なる場合があります。
Azure portal で仮想ネットワークを作成するには、次の手順に従います。
以前に特定した (10.38.0.4 などの) プライベート IP アドレスを [IP アドレス] フィールドに入力するか、内部 DNS サーバーの内部 IP アドレスを入力します。
[保存] を選択します。
仮想マシンの作成
VM の仮想ネットワークを構成して VM の可用性を選択したら、仮想マシンを作成する準備が整います。 SQL Server が既にインストールされている、またはインストールされていない、Azure Marketplace のイメージを使用できます。 ただし、Azure VM に SQL Server が付属するイメージを選択する場合は、フェールオーバー クラスター インスタンスを構成する前に、仮想マシンから SQL Server をアンインストールする必要があります。
注意
SQL Server VM を配置する前に選択した FCI Storage オプションでサポートされている SQL Server のバージョンを必ず確認してください。
NIC に関する考慮事項
Azure VM ゲスト フェールオーバー クラスターでは、サーバー (クラスター ノード) ごとに 1 つの NIC を推奨しています。 Azure ネットワークは物理的な冗長性を備えているので、Azure IaaS VM ゲスト クラスターで NIC を追加する必要はありません。 クラスター検証レポートでは、1 つのネットワークでしかノードに到達できないという警告が出ますが、Azure IaaS VM ゲスト フェールオーバー クラスターではこの警告を無視しても安全です。
両方の仮想マシンを配置します。
可用性セットを使用している場合は、可用性セットと同じ Azure リソース グループ内。
ドメイン コントローラーおよび DNS サーバーと同じ仮想ネットワーク上、またはドメイン コントローラーへの適切な接続がある仮想ネットワーク上。
Azure 可用性セット内または可用性ゾーン内。
SQL Server がプレインストールされているまたはいないイメージを使用して、Azure 仮想マシンを作成できます。 SQL Server イメージを選択した場合は、フェールオーバー クラスター インスタンスをインストールする前に、手動で SQL Server インスタンスをアンインストールする必要があります。
セカンダリ IP アドレスの割り当て
1 つのサブネットに SQL Server VM をデプロイした場合は、この手順をスキップしてください。
FCI への接続性を向上させるために SQL Server VM を複数のサブネットにデプロイした場合は、各 VM にセカンダリ IP アドレスを割り当てる必要があります。
フェールオーバー クラスター インスタンスのネットワーク名に使用するセカンダリ IP アドレスを各 SQL Server VM に割り当てます。Windows Server 2016 およびそれ以前の場合は、クラスターのネットワーク名のセカンダリ IP アドレスも各 SQL Server VM に割り当てます。 これを行うと、単一のサブネット環境での要件と同様に、Azure Load Balancer の必要性がなくなります。
Windows Server 2016 以前では、クラスターで Windows Server 2019 で導入された既定の分散ネットワーク名 (DNN) ではなくクラスター ネットワーク名が使用されるため、Windows クラスター IP に使用する各 SQL Server VM に追加のセカンダリ IP アドレスを割り当てる必要があります。 DNN を使用すると、クラスター名オブジェクト (CNO) がクラスターのすべてのノードの IP アドレスに自動的に登録されるため、専用の Windows クラスター IP アドレスは不要になります。
Windows Server 2016 以前を使用している場合は、このセクションの手順に従って、FCI ネットワーク名 "および" クラスターの "両方" の各 SQL Server VM にセカンダリ IP アドレスを割り当てます。
Windows Server 2019 以降を使用している場合は、FCI ネットワーク名のセカンダリ IP アドレスのみを割り当て、Windows クラスター IP を割り当てる手順をスキップします。ただし、仮想ネットワーク名 (VNN) を使用してクラスターを構成する予定がない場合は、Windows Server 2016 の場合と同様に両方の IP アドレスを各 SQL Server VM に割り当てます。
追加のセカンダリ IP を VM に割り当てるには、次の手順を実行します。
Azure portal で、リソース グループに移動して、最初の SQL Server VM を選択します。
Windows 2016 およびそれ以前の場合、Windows クラスター IP アドレスの [名前] を windows-cluster-ip のように指定します。 Windows Server 2019 以降を使用している場合は、この手順をスキップします。
[割り当て] を [静的] に設定します。
SQL Server VM と同じサブネット (SQL-subnet-1) 内の未使用の IP アドレス (10.38.1.10 など) を入力します。
[パブリック IP アドレス] は既定値の [関連付けの解除] のままにします。
[OK] を選択して、IP 構成の追加を終了します。
もう一度 [+ 追加] を選択して、(FCI-network-name のような名前の) FCI ネットワーク名に対する追加の IP アドレスを構成します。ここでも、SQL-subnet-1 内の未使用の IP アドレス (10.38.1.11 など) を指定します。
2 番目の SQL Server VM について、以上の手順をもう一度繰り返します。 SQL-subnet-2 内の未使用のセカンダリ IP アドレスを 2 つ割り当てます。 IP 構成を追加するには、次の表の値を使用します (ただし、IP アドレスは単なる例であり、環境によって異なる場合があります)。
フィールド
入力
入力
名前
windows-cluster-ip
FCI-network-name
Allocation
静的
静的
IP アドレス (IP address)
10.38.2.10
10.38.2.11
SQL Server のアンインストール
FCI 作成プロセスの一環として、SQL Server をクラスター化されたインスタンスとしてフェールオーバー クラスターにインストールします。 "SQL Server のない Azure Marketplace イメージを使用して仮想マシンをデプロイした場合は、このステップを省略できます。 " SQL Server がプレインストールされたイメージをデプロイした場合は、SQL Server VM から拡張機能を削除し、SQL Server をアンインストールする必要があります。
SQL IaaS Agent 拡張機能を削除する
Azure Marketplace の SQL Server VM イメージは、SQL IaaS Agent 拡張機能に自動的に登録されます。 プレインストールされている SQL Server インスタンスをアンインストールする前に、まず SQL Server VM から拡張機能を削除する必要があります。
Azure PowerShell を使用して、SQL Server VM から拡張機能を削除するには次のサンプル コードを使用します。
PowerShell
Remove-AzSqlVM -ResourceGroupName <resource_group_name> -Name <SQL VM resource name>
SQL Server のアンインストール
拡張機能を削除した後、SQL Server をアンインストールできます。 各仮想マシンで、次の手順のようにします。
各仮想マシンで、SQL Server で使用されている Windows ファイアウォール TCP ポートを開きます。 SQL Server では既定でポート 1433 を使用しますが、環境でこれを変更した場合は、SQL Server インスタンスで使用するように構成したポートを開いてください。 ポート 1433 は、Azure Marketplace からデプロイされた SQL Server イメージでは自動的に開かれます。