FCI 用の分散ネットワーク名を構成するConfigure a distributed network name for an FCI

適用対象: はいAzure VM 上の SQL ServerAPPLIES TO: yesSQL Server on Azure VM

Azure Virtual Machines では、クラスター化された適切なリソースにトラフィックをルーティングするために、分散ネットワーク名 (DNN) が使用されます。On Azure Virtual Machines, the distributed network name (DNN) is used to route traffic to the appropriate clustered resource. これにより、仮想ネットワーク名 (VNN) よりも簡単に SQL Server フェールオーバー クラスター インスタンス (FCI) に接続する方法が提供されます。Azure Load Balancer は必要ありません。It provides an easier way to connect to the SQL Server failover cluster instance (FCI) than the virtual network name (VNN), without the need for Azure Load Balancer. この機能は現在プレビュー段階であり、SQL Server 2019 CU2 以降および Windows Server 2016 以降でのみ使用できます。This feature is currently in preview and is available only for SQL Server 2019 CU2 and later and Windows Server 2016 and later.

この記事では、DNN を構成して、高可用性とディザスター リカバリー (HADR) のために Azure VM 上の SQL Server を使用する FCI にトラフィックをルーティングする方法について説明します。This article teaches you to configure a DNN to route traffic to your FCIs with SQL Server on Azure VMs for high availability and disaster recovery (HADR).

前提条件Prerequisites

この記事の手順を完了するには、次のものが必要です。Before you complete the steps in this article, you should already have:

DNN リソースを作成するCreate DNN resource

DNN リソースは、SQL Server FCI と同じクラスター グループに作成されます。The DNN resource is created in the same cluster group as the SQL Server FCI. PowerShell を使用して、FCI クラスター グループ内に DNN リソースを作成します。Use PowerShell to create the DNN resource inside the FCI cluster group.

次の PowerShell コマンドを実行すると、リソース名 <dnnResourceName> で、SQL Server FCI クラスター グループに DNN リソースが追加されます。The following PowerShell command adds a DNN resource to the SQL Server FCI cluster group with a resource name of <dnnResourceName>. このリソース名は、リソースを一意に識別するために使用されます。The resource name is used to uniquely identify a resource. 自分にとってわかりやすく、クラスター全体で一意であるものを使用してください。Use one that makes sense to you and is unique across the cluster. リソースの種類は Distributed Network Name である必要があります。The resource type must be Distributed Network Name.

-Group 値には、分散ネットワーク名を追加する SQL Server FCI に対応するクラスター グループの名前を指定する必要があります。The -Group value must be the name of the cluster group that corresponds to the SQL Server FCI where you want to add the distributed network name. 既定のインスタンスの場合、通常の形式は SQL Server (MSSQLSERVER) です。For a default instance, the typical format is SQL Server (MSSQLSERVER).

Add-ClusterResource -Name <dnnResourceName> `
-ResourceType "Distributed Network Name" -Group "<WSFC role of SQL server instance>"

たとえば、既定の SQL Server FCI に対して DNN リソース dnn-demo を作成する場合は、次の PowerShell コマンドを使用します。For example, to create your DNN resource dnn-demo for a default SQL Server FCI, use the following PowerShell command:

Add-ClusterResource -Name dnn-demo `
-ResourceType "Distributed Network Name" -Group "SQL Server (MSSQLSERVER)"

クラスター DNN の DNS 名を設定するSet cluster DNN DNS name

クラスター内の DNN リソースの DNS 名を設定します。Set the DNS name for the DNN resource in the cluster. その後、クラスターではこの値を使用して、現在 SQL Server FCI をホストしているノードにトラフィックがルーティングされます。The cluster then uses this value to route traffic to the node that's currently hosting the SQL Server FCI.

クライアントでは、SQL Server FCI に接続するために DNS 名が使用されます。Clients use the DNS name to connect to the SQL Server FCI. 一意の値を選択できます。You can choose a unique value. または、既存の FCI が既にあり、クライアント接続文字列を更新したくない場合は、クライアントで既に使用されている現在の VNN を使用するように DNN を構成できます。Or, if you already have an existing FCI and don't want to update client connection strings, you can configure the DNN to use the current VNN that clients are already using. これを行うには、DNS で DNN を設定する前に、VNN の名前を変更する必要があります。To do so, you need to rename the VNN before setting the DNN in DNS.

次のコマンドを使用して、DNN の DNS 名を設定します。Use this command to set the DNS name for your DNN:

Get-ClusterResource -Name <dnnResourceName> | `
Set-ClusterParameter -Name DnsName -Value <DNSName>

DNSName 値は、SQL Server FCI に接続するためにクライアントで使用されるものです。The DNSName value is what clients use to connect to the SQL Server FCI. たとえば、クライアントが FCIDNN に接続するには、次の PowerShell コマンドを使用します。For example, for clients to connect to FCIDNN, use the following PowerShell command:

Get-ClusterResource -Name dnn-demo | `
Set-ClusterParameter -Name DnsName -Value FCIDNN

次にクライアントでは、SQL Server FCI に接続するときに、接続文字列に FCIDNN が入力されます。Clients will now enter FCIDNN into their connection string when connecting to the SQL Server FCI.

警告

現在の仮想ネットワーク名 (VNN) は、FCI インフラストラクチャの必須コンポーネントであるため、削除しないでください。Do not delete the current virtual network name (VNN) as it is a necessary component of the FCI infrastructure.

VNN の名前を変更するRename the VNN

既存の仮想ネットワーク名があり、SQL Server FCI に接続するためにクライアントで引き続きこの値が使用されるようにしたい場合は、現在の VNN の名前をプレースホルダーの値に変更する必要があります。If you have an existing virtual network name and you want clients to continue using this value to connect to the SQL Server FCI, you must rename the current VNN to a placeholder value. 現在の VNN の名前を変更したら、DNN の DNS 名の値を VNN に設定できます。After the current VNN is renamed, you can set the DNS name value for the DNN to the VNN.

VNN の名前変更には、いくつかの制限が適用されます。Some restrictions apply for renaming the VNN. 詳細については、FCI の名前変更に関するページをご覧ください。For more information, see Renaming an FCI.

お客様のビジネスにおいて現在の VNN を使用する必要がない場合は、このセクションを省略してください。If using the current VNN is not necessary for your business, skip this section. VNN の名前を変更したら、クラスター DNN の DNS 名を設定しますAfter you've renamed the VNN, then set the cluster DNN DNS name.

DNN リソースをオンラインに設定するSet DNN resource online

適切に DNN リソースに名前を付けて、クラスターで DNS 名の値を設定したら、PowerShell を使用して、クラスターで DNN リソースをオンラインに設定します。After your DNN resource is appropriately named, and you've set the DNS name value in the cluster, use PowerShell to set the DNN resource online in the cluster:

Start-ClusterResource -Name <dnnResourceName>

たとえば、DNN リソース dnn-demo を開始するには、次の PowerShell コマンドを使用します。For example, to start your DNN resource dnn-demo, use the following PowerShell command:

Start-ClusterResource -Name dnn-demo

実行可能な所有者を構成するConfigure possible owners

既定では、クラスターでは DNN の DNS 名がクラスター内のすべてのノードにバインドされます。By default, the cluster binds the DNN DNS name to all the nodes in the cluster. ただし、SQL Server FCI の一部ではないクラスター内のノードは、DNN の実行可能な所有者の一覧から除外する必要があります。However, nodes in the cluster that are not part of the SQL Server FCI should be excluded from the list of DNN possible owners.

実行可能な所有者を更新するには、次の手順に従います。To update possible owners, follow these steps:

  1. フェールオーバー クラスター マネージャーで DNN リソースに移動します。Go to your DNN resource in Failover Cluster Manager.

  2. DNN リソースを右クリックし、 [プロパティ] を選択します。Right-click the DNN resource and select Properties. DNN リソースのショートカット メニュー。[プロパティ] コマンドが強調表示されています。

  3. フェールオーバー クラスター インスタンスに参加していないすべてのノードのチェック ボックスをオフにします。Clear the check box for any nodes that don't participate in the failover cluster instance. DNN リソースの実行可能な所有者の一覧は、SQL Server インスタンス リソースの実行可能な所有者の一覧と一致している必要があります。The list of possible owners for the DNN resource should match the list of possible owners for the SQL Server instance resource. たとえば、Data3 が FCI に参加していないとすると、次の図は DNN リソースの実行可能な所有者の一覧から Data3 を削除する例を示しています。For example, assuming that Data3 does not participate in the FCI, the following image is an example of removing Data3 from the list of possible owners for the DNN resource:

    DNN リソースの実行可能な所有者について、FCI に参加していないノードの横のチェック ボックスをオフにする

  4. [OK] を選択して設定を保存します。Select OK to save your settings.

SQL Server インスタンスを再起動するRestart SQL Server instance

フェールオーバー クラスター マネージャーを使用して、SQL Server インスタンスを再起動します。Use Failover Cluster Manager to restart the SQL Server instance. 次の手順に従います。Follow these steps:

  1. フェールオーバー クラスター マネージャーで SQL Server リソースに移動します。Go to your SQL Server resource in Failover Cluster Manager.
  2. SQL Server リソースを右クリックして、オフラインにします。Right-click the SQL Server resource, and take it offline.
  3. 関連付けられているすべてのリソースがオフラインになったら、SQL Server リソースを右クリックして、もう一度オンラインにします。After all associated resources are offline, right-click the SQL Server resource and bring it online again.

接続文字列を更新するUpdate connection string

フェールオーバー後の速やかな接続を確保するために、SQL クライアントのバージョンが 4.6.1 よりも前の場合は接続文字列に MultiSubnetFailover=True を追加します。To ensure rapid connectivity upon failover, add MultiSubnetFailover=True to the connection string if the SQL client version is earlier than 4.6.1.

また、DNN で元の VNN が使用されていない場合、SQL Server FCI に接続する SQL クライアントでは、その接続文字列を DNN の DNS 名に更新する必要があります。Additionally, if the DNN is not using the original VNN, SQL clients that connect to the SQL Server FCI will need to update their connection string to the DNN DNS name. この要件を回避するために、DNS 名の値を VNN の名前に更新することができます。To avoid this requirement, you can update the DNS name value to be the name of the VNN. ただし、最初に既存の VNN をプレースホルダーに置き換える必要があります。But you'll need to replace the existing VNN with a placeholder first.

[テスト フェールオーバー]Test failover

クラスター化されたリソースのフェールオーバーをテストして、クラスターの機能を検証します。Test failover of the clustered resource to validate cluster functionality.

フェールオーバーをテストするには、次の手順に従います。To test failover, follow these steps:

  1. SQL Server クラスター ノードの 1 つに RDP を使用して接続します。Connect to one of the SQL Server cluster nodes by using RDP.
  2. フェールオーバー クラスター マネージャーを開きます。Open Failover Cluster Manager. [役割] を選びます。Select Roles. SQL Server FCI ロールを所有しているノードを確認します。Notice which node owns the SQL Server FCI role.
  3. SQL Server FCI ロールを右クリックします。Right-click the SQL Server FCI role.
  4. [移動] を選択し、 [最適なノード] を選択します。Select Move, and then select Best Possible Node.

フェールオーバー クラスター マネージャーで、ロールとそのリソースがオフラインになったことが示されます。Failover Cluster Manager shows the role, and its resources go offline. リソースは移動し、もう一方のノードでオンラインに戻ります。The resources then move and come back online in the other node.

接続をテストするTest connectivity

接続をテストするには、同じ仮想ネットワーク内の別の仮想マシンにサインインします。To test connectivity, sign in to another virtual machine in the same virtual network. SQL Server Management Studio を開き、DNN の DNS 名を使用して SQL Server FCI に接続します。Open SQL Server Management Studio and connect to the SQL Server FCI by using the DNN DNS name.

必要に応じて、SQL Server Management Studio をダウンロードできます。If you need to, you can download SQL Server Management Studio.

制限事項Limitations

  • 現在、DNN は Windows Server 2016 上の SQL Server 2019 CU2 以降に対してのみサポートされています。Currently, a DNN is supported only for SQL Server 2019 CU2 and later on Windows Server 2016.
  • 現在、DNN は Azure VM 上の SQL Server を使用するフェールオーバー クラスター インスタンスに対してのみサポートされています。Currently, a DNN is supported only for failover cluster instances with SQL Server on Azure VMs. 可用性グループ リスナーに対しては、Azure Load Balancer と共に仮想ネットワーク名を使用します。Use the virtual network name with Azure Load Balancer for availability group listeners.
  • DNN を使用してその他の SQL Server 機能と FCI を操作する場合は、さらなる考慮事項が存在する場合があります。There might be more considerations when you're working with other SQL Server features and an FCI with a DNN. 詳細については、FCI と DNN の相互運用性に関する記事をご覧ください。For more information, see FCI with DNN interoperability.

次のステップNext steps

Azure での SQL Server の HADR 機能について詳しくは、可用性グループフェールオーバー クラスター インスタンスに関する記事をご覧ください。To learn more about SQL Server HADR features in Azure, see Availability groups and Failover cluster instance. また、高可用性とディザスター リカバリー用に環境を構成するためのベスト プラクティスを学習することもできます。You can also learn best practices for configuring your environment for high availability and disaster recovery.

いくつかの特定の SQL Server 機能を DNN および FCI と共に使用する場合、追加の構成要件が必要になる場合があります。There may be additional configuration requirements for some specific SQL Server features when used with the DNN and FCI. 詳細については、FCI と DNN の相互運用性に関する記事をご覧ください。See FCI with DNN interoperability to learn more.