Azure Virtual Machines に SQL Server Always On 可用性グループのロード バランサーを構成するConfigure a load balancer for a SQL Server Always On availability group in Azure Virtual Machines

適用対象: Azure VM 上の SQL Server

この記事では、Azure Resource Manager で動作する Azure Virtual Machines に、SQL Server Always On 可用性グループのロード バランサーを作成する方法について説明します。This article explains how to create a load balancer for a SQL Server Always On availability group in Azure Virtual Machines that are running with Azure Resource Manager. SQL Server インスタンスが Azure Virtual Machines 上で実行されている場合、可用性グループにロード バランサーが必要となります。An availability group requires a load balancer when the SQL Server instances are on Azure Virtual Machines. ロード バランサーには、可用性グループ リスナーの IP アドレスが格納されます。The load balancer stores the IP address for the availability group listener. 可用性グループが複数のリージョンにまたがっている場合は、各リージョンにロード バランサーが必要です。If an availability group spans multiple regions, each region needs a load balancer.

この作業を行うには、Resource Manager で動作する Azure VM に SQL Server Always On 可用性グループがデプロイされている必要があります。To complete this task, you need to have a SQL Server Always On availability group deployed in Azure VMs that are running with Resource Manager. 両方の SQL Server 仮想マシンが同じ可用性セットに属している必要があります。Both SQL Server virtual machines must belong to the same availability set. Microsoft のテンプレートを使用すると、Resource Manager で自動的に可用性グループを作成することができます。You can use the Microsoft template to automatically create the availability group in Resource Manager. 内部ロード バランサーは、このテンプレートによって自動的に作成されます。This template automatically creates an internal load balancer for you.

必要に応じて 可用性グループを手動で構成することもできます。If you prefer, you can manually configure an availability group.

この記事は、可用性グループの構成が既に済んでいることを前提としています。This article requires that your availability groups are already configured.

関連記事を参照:View related articles:

この記事では、Azure Portal でロード バランサーを作成し、必要な構成を行います。By walking through this article, you create and configure a load balancer in the Azure portal. その作業が済んだら、可用性グループ リスナーのロード バランサーの IP アドレスを使用するようにクラスターを構成します。After the process is complete, you configure the cluster to use the IP address from the load balancer for the availability group listener.

ロード バランサーを作成および構成するCreate & configure load balancer

この作業の一環として、次の手順を実行します。In this portion of the task, do the following steps:

  1. Azure Portal でロード バランサーを作成して IP アドレスを構成します。In the Azure portal, create the load balancer and configure the IP address.
  2. バックエンド プールを構成します。Configure the back-end pool.
  3. プローブを作成します。Create the probe.
  4. 負荷分散規則を設定します。Set the load-balancing rules.

注意

SQL Server インスタンスが複数のリソース グループや複数のリージョンに存在する場合、各手順を 2 回 (リソース グループごとに 1 回) 行ってください。If the SQL Server instances are in multiple resource groups and regions, perform each step twice, once in each resource group.

手順 1:ロード バランサーを作成して IP アドレスを構成するStep 1: Create the load balancer and configure the IP address

まず、ロード バランサーを作成します。First, create the load balancer.

  1. Azure ポータルで、SQL Server の仮想マシンを含んだリソース グループを開きます。In the Azure portal, open the resource group that contains the SQL Server virtual machines.

  2. リソース グループで、 [追加] を選択します。In the resource group, select Add.

  3. " ロード バランサー" を検索します。Search for load balancer. 検索結果でロード バランサー (Microsoftによって公開) を選択します。Choose Load Balancer (published by Microsoft) in the search results.

  4. [ロード バランサー] ブレードで [作成] を選択します。On the Load Balancer blade, select Create.

  5. [ロード バランサーの作成] ダイアログボックスで、次のようにロード バランサーを構成します。In the Create load balancer dialog box, configure the load balancer as follows:

    設定Setting Value
    名前Name ロード バランサーを表すテキスト名A text name representing the load balancer. (例: sqlLB)。For example, sqlLB.
    TypeType 内部:ほとんどの実装では、内部ロード バランサーを使います。この場合、同じ仮想ネットワーク内のアプリケーションを可用性グループに接続できます。Internal: Most implementations use an internal load balancer, which allows applications within the same virtual network to connect to the availability group.
    外部:アプリケーションをパブリック インターネット接続経由で可用性グループに接続できます。External: Allows applications to connect to the availability group through a public Internet connection.
    SKUSKU Basic:既定のオプション。Basic: Default option. SQL Server インスタンスが同じ可用性セット内にある場合にのみ有効です。Only valid if SQL Server instances are in the same availability set.
    Standard:推奨。Standard: Preferred. SQL Server インスタンスが同じ可用性セット内にある場合に有効です。Valid if SQL Server instances are in the same availability set. SQL Server インスタンスが異なる可用性ゾーンに存在する場合は必須です。Required if your SQL Server instances are in different availability zones.
    Virtual NetworkVirtual network SQL Server インスタンスが存在する仮想ネットワークを選択します。Select the virtual network that the SQL Server instances are in.
    サブネットSubnet SQL Server インスタンスが存在するサブネットを選択します。Select the subnet that the SQL Server instances are in.
    IP アドレスの割り当てIP address assignment 静的Static
    プライベート IP アドレスPrivate IP address サブネット内の利用可能な IP アドレスを指定します。Specify an available IP address from the subnet. この IP アドレスは、クラスターにリスナーを作成するときに使用します。Use this IP address when you create a listener on the cluster. この記事で後ほど示す PowerShell スクリプトの $ILBIP 変数には、このアドレスを使用してください。In a PowerShell script, later in this article, use this address for the $ILBIP variable.
    サブスクリプションSubscription 複数のサブスクリプションを所有している場合、このフィールドが表示されます。If you have multiple subscriptions, this field might appear. このリソースに関連付けられているサブスクリプションを選択します。Select the subscription that you want to associate with this resource. 通常は、可用性グループのすべてのリソースについて同じサブスクリプションを選択してください。It's normally the same subscription as all the resources for the availability group.
    リソース グループResource group SQL Server インスタンスが存在するリソース グループを選択します。Select the resource group that the SQL Server instances are in.
    場所Location Azure において SQL Server インスタンスが存在する場所を選択します。Select the Azure location that the SQL Server instances are in.
  6. [作成] を選択しますSelect Create.

ロード バランサーが Azure によって作成されます。Azure creates the load balancer. このロード バランサーは、特定のネットワーク、サブネット、リソース グループ、場所に従属します。The load balancer belongs to a specific network, subnet, resource group, and location. Azure の処理が完了したら、ロード バランサーの設定を Azure で確認してください。After Azure completes the task, verify the load balancer settings in Azure.

手順 2:バックエンド プールを構成するStep 2: Configure the back-end pool

Azure では、バックエンド アドレス プールを "バックエンド プール" と呼んでいます。Azure calls the back-end address pool backend pool. この例では、可用性グループに含まれる 2 つの SQL Server インスタンスのアドレスがバックエンド プールとなります。In this case, the back-end pool is the addresses of the two SQL Server instances in your availability group.

  1. リソース グループで、作成したロード バランサーを選択します。In your resource group, select the load balancer that you created.

  2. [設定] で、 [バックエンド プール] を選択します。On Settings, select Backend pools.

  3. [バックエンド プール][追加] を選択してバックエンド アドレス プールを作成します。On Backend pools, select Add to create a back-end address pool.

  4. [バックエンド プールの追加][名前] に、バックエンド プールの名前を入力します。On Add backend pool, under Name, type a name for the back-end pool.

  5. [仮想マシン][仮想マシンの追加] を選択します。Under Virtual machines, select Add a virtual machine.

  6. [仮想マシンの選択][可用性セットの選択] を選択し、SQL Server 仮想マシンの追加先となる可用性セットを指定します。Under Choose virtual machines, select Choose an availability set, and then specify the availability set that the SQL Server virtual machines belong to.

  7. 可用性セットを選択したら、 [仮想マシンの選択] を選択し、可用性グループにおける SQL Server インスタンスのホストとなる 2 つの仮想マシンを選んで [選択] を選択します。After you have chosen the availability set, select Choose the virtual machines, select the two virtual machines that host the SQL Server instances in the availability group, and then choose Select.

  8. [OK] を選択して、 [仮想マシンの選択] のブレードと、 [バックエンド プールの追加] を閉じます。Select OK to close the blades for Choose virtual machines, and Add backend pool.

バックエンド アドレス プールの設定が Azure で更新されます。Azure updates the settings for the back-end address pool. これで 2 つの SQL Server インスタンスから成るプールが可用性セットに作成されました。Now your availability set has a pool of two SQL Server instances.

手順 3:プローブを作成するStep 3: Create a probe

このプローブで定義された方法で、現在どの SQL Server インスタンスが可用性グループ リスナーを所有しているかが Azure によって確認されます。The probe defines how Azure verifies which of the SQL Server instances currently owns the availability group listener. Azure は、プローブの作成時に定義されたポートで、IP アドレスに基づいてサービスをプローブします。Azure probes the service based on the IP address on a port that you define when you create the probe.

  1. ロード バランサーの [設定] ブレードで [正常性プローブ] を選択します。On the load balancer Settings blade, select Health probes.

  2. [正常性プローブ] ブレードで [追加] を選択します。On the Health probes blade, select Add.

  3. [プローブの追加] ブレードでプローブを構成します。Configure the probe on the Add probe blade. 次の値を使用してプローブを構成します。Use the following values to configure the probe:

    設定Setting Value
    名前Name プローブを表すテキスト名A text name representing the probe. (例: SQLAlwaysOnEndPointProbe)。For example, SQLAlwaysOnEndPointProbe.
    プロトコルProtocol TCPTCP
    [ポート]Port 空いている任意のポートを使用できますYou can use any available port. (例: 59999)。For example, 59999.
    間隔Interval 55
    異常のしきい値Unhealthy threshold 22
  4. [OK] を選択します。Select OK.

注意

指定したポートは、両方の SQL Server インスタンスのファイアウォールで必ず開放してください。Make sure that the port you specify is open on the firewall of both SQL Server instances. 使用する TCP ポートに対する入力方向の規則が両方のインスタンスに必要となります。Both instances require an inbound rule for the TCP port that you use. 詳しくは、「ファイアウォール規則を追加または編集する」をご覧ください。For more information, see Add or Edit Firewall Rule.

Azure はこのプローブを作成、使用して、どの SQL Server インスタンスが可用性グループのリスナーを所有しているかを判定します。Azure creates the probe and then uses it to test which SQL Server instance has the listener for the availability group.

手順 4:負荷分散規則を設定するStep 4: Set the load-balancing rules

負荷分散規則を使って、ロード バランサーでトラフィックを SQL Server インスタンスにルーティングする方法を構成します。The load-balancing rules configure how the load balancer routes traffic to the SQL Server instances. 2 つの SQL Server インスタンスのうち可用性グループ リスナー リソースを所有できるのは一度に 1 つだけであるため、このロード バランサーでは Direct Server Return を有効にします。For this load balancer, you enable direct server return because only one of the two SQL Server instances owns the availability group listener resource at a time.

  1. ロード バランサーの [設定] ブレードで [負荷分散規則] を選択します。On the load balancer Settings blade, select Load balancing rules.

  2. [負荷分散規則] ブレードで、 [追加] を選択します。On the Load balancing rules blade, select Add.

  3. [負荷分散規則の追加] ブレードを使用して負荷分散規則を構成します。On the Add load balancing rules blade, configure the load-balancing rule. 次の設定を使用します。Use the following settings:

    設定Setting Value
    名前Name 負荷分散規則を表すテキスト名。A text name representing the load-balancing rules. (例: SQLAlwaysOnEndPointListener)。For example, SQLAlwaysOnEndPointListener.
    プロトコルProtocol TCPTCP
    [ポート]Port 14331433
    バックエンド ポートBackend Port 1433この規則には [フローティング IP (Direct Server Return)] が使用されるため、この値は無視されます。1433. This value is ignored because this rule uses Floating IP (direct server return).
    プローブProbe このロード バランサーに対して作成したプローブの名前を使用します。Use the name of the probe that you created for this load balancer.
    セッション永続化Session persistence なしNone
    アイドル タイムアウト (分)Idle timeout (minutes) 44
    フローティング IP (ダイレクト サーバー リターン)Floating IP (direct server return) 有効Enabled

    注意

    ブレード上で一部の設定が隠れて見えないときは下へスクロールしてください。You might have to scroll down the blade to view all the settings.

  4. [OK] を選択します。Select OK.

  5. 負荷分散規則が Azure によって構成されます。Azure configures the load-balancing rule. 以上、可用性グループのリスナーのホストとなっている SQL Server インスタンスにトラフィックをルーティングするようにロード バランサーを構成しました。Now the load balancer is configured to route traffic to the SQL Server instance that hosts the listener for the availability group.

この時点で、リソース グループのロード バランサーが両方の SQL Server マシンに接続されています。At this point, the resource group has a load balancer that connects to both SQL Server machines. またロード バランサーには、可用性グループへの要求にいずれかのマシンが応答できるよう、SQL Server AlwaysOn 可用性グループ リスナーの IP アドレスが格納されます。The load balancer also contains an IP address for the SQL Server Always On availability group listener, so that either machine can respond to requests for the availability groups.

注意

SQL Server インスタンスが 2 つの異なるリージョンに存在する場合、もう一方のリージョンについても以上の手順を繰り返す必要があります。If your SQL Server instances are in two separate regions, repeat the steps in the other region. ロード バランサーはリージョンごとに必要です。Each region requires a load balancer.

ロード バランサーの IP アドレスを使用するようにクラスターを構成するConfigure the cluster to use the load balancer IP address

次に、クラスター上のリスナーを構成し、リスナーをオンラインに切り替えます。The next step is to configure the listener on the cluster, and bring the listener online. 手順は次のとおりです。Do the following steps:

  1. 可用性グループ リスナーをフェールオーバー クラスターで作成します。Create the availability group listener on the failover cluster.

  2. リスナーをオンラインにします。Bring the listener online.

手順 5:可用性グループ リスナーをフェールオーバー クラスターで作成するStep 5: Create the availability group listener on the failover cluster

この手順では、フェールオーバー クラスター マネージャーおよび SQL Server Management Studio で可用性グループ リスナーを手動で作成します。In this step, you manually create the availability group listener in Failover Cluster Manager and SQL Server Management Studio.

可用性グループ リスナーとは、SQL Server 可用性グループがリッスンする IP アドレスとネットワーク名のことです。The availability group listener is an IP address and network name that the SQL Server availability group listens on. 可用性グループ リスナーを作成するには、次の手順を実行します。To create the availability group listener, do the following:

  1. クラスター ネットワーク リソースの名前を取得します。Get the name of the cluster network resource.

    a.a. プライマリ レプリカのホストとなっている Azure 仮想マシンに RDP で接続します。Use RDP to connect to the Azure virtual machine that hosts the primary replica.

    b.b. フェールオーバー クラスター マネージャーを開きます。Open Failover Cluster Manager.

    c.c. Networks ノードを選択し、クラスター ネットワーク名をメモします。Select the Networks node, and note the cluster network name. この名前は、PowerShell スクリプトの $ClusterNetworkName 変数に使用します。Use this name in the $ClusterNetworkName variable in the PowerShell script. 次の図では、クラスター ネットワーク名は Cluster Network 1 です。In the following image the cluster network name is Cluster Network 1:

    クラスター ネットワーク名

  2. クライアント アクセス ポイントを追加します。Add the client access point.
    クライアント アクセス ポイントは、アプリケーションが可用性グループ内のデータベースに接続するために使用するネットワーク名です。The client access point is the network name that applications use to connect to the databases in an availability group. クライアント アクセス ポイントは、フェールオーバー クラスター マネージャーで作成します。Create the client access point in Failover Cluster Manager.

    a.a. クラスター名を展開して、 [ロール] をクリックします。Expand the cluster name, and then click Roles.

    b.b. [ロール] ウィンドウで、可用性グループ名を右クリックし、 [リソースの追加] > [クライアント アクセス ポイント] の順にクリックします。In the Roles pane, right-click the availability group name, and then select Add Resource > Client Access Point.

    [クライアント アクセス ポイント] メニュー オプションのスクリーンショット。

    c.c. [名前] ボックスで、この新しいリスナーの名前を指定します。In the Name box, create a name for this new listener. 新しいリスナーの名前は、アプリケーションが SQL Server 可用性グループ内のデータベースへの接続に使用するネットワーク名です。The name for the new listener is the network name that applications use to connect to databases in the SQL Server availability group.

    d.d. [次へ] を 2 回クリックしてから [完了] をクリックし、リスナーの作成を完了します。To finish creating the listener, click Next twice, and then click Finish. この時点では、リスナーまたはリソースをオンラインにしないでください。Do not bring the listener or resource online at this point.

  3. 可用性グループ クラスター ロールをオフラインにします。Take the availability group cluster role offline. [フェールオーバー クラスター マネージャー][ロール] で該当するロールを右クリックし、 [ロールの停止] を選択します。In Failover Cluster Manager under Roles, right-click the role, and select Stop Role.

  4. 可用性グループの IP リソースを構成します。Configure the IP resource for the availability group.

    a.a. [リソース] タブをクリックして、作成したクライアント アクセス ポイントを展開します。Click the Resources tab, and then expand the client access point you created.
    クライアント アクセス ポイントはオフラインになっています。The client access point is offline.

    クライアント アクセス ポイント

    b.b. IP リソースを右クリックし、[プロパティ] をクリックします。Right-click the IP resource, and then click properties. この IP アドレス名はメモしておき、PowerShell スクリプトの $IPResourceName 変数に使用します。Note the name of the IP address, and use it in the $IPResourceName variable in the PowerShell script.

    c.c. [IP アドレス][静的 IP アドレス] をクリックします。Under IP Address, click Static IP Address. 静的 IP アドレスを、Azure Portal でロード バランサーのアドレス設定時に使用したものと同じアドレスに設定します。Set the IP address as the same address that you used when you set the load balancer address on the Azure portal.

    IP アドレスの設定場所を示すスクリーンショット。

  5. SQL Server 可用性グループ リソースがクライアント アクセス ポイントに依存するように設定します。Make the SQL Server availability group resource dependent on the client access point.

    a.a. フェールオーバー クラスター マネージャーで、 [ロール] 、可用性グループの順にクリックします。In Failover Cluster Manager, click Roles, and then click your availability group.

    b.b. [その他のリソース] の下の [リソース] タブで可用性リソース グループを右クリックし、 [プロパティ] をクリックします。On the Resources tab, under Other Resources, right-click the availability resource group, and then click Properties.

    c.c. [依存関係] タブで、クライアント アクセス ポイント (リスナー) リソースの名前を追加します。On the dependencies tab, add the name of the client access point (the listener) resource.

    [依存関係] タブにおける名前の追加先を示すスクリーンショット。

    d.d. [OK] をクリックします。Click OK.

  6. クライアント アクセス ポイント リソースが IP アドレスに依存するように設定します。Make the client access point resource dependent on the IP address.

    a.a. フェールオーバー クラスター マネージャーで、 [ロール] 、可用性グループの順にクリックします。In Failover Cluster Manager, click Roles, and then click your availability group.

    b.b. [リソース] タブで [サーバー名] の下にあるクライアント アクセスポイント リソースを右クリックし、 [プロパティ] をクリックします。On the Resources tab, right-click the client access point resource under Server Name, and then click Properties.

    サーバーの名前の [プロパティ] メニュー オプションを示すスクリーンショット。

    c.c. [依存関係] タブをクリックします。IP アドレスが依存関係の要素であることを確認します。Click the Dependencies tab. Verify that the IP address is a dependency. そうでない場合は、IP アドレスへの依存関係を設定します。If it is not, set a dependency on the IP address. 複数のリソースが一覧表示される場合は、IP アドレスに OR (AND ではなく) 依存関係があることを確認します。If there are multiple resources listed, verify that the IP addresses have OR, not AND, dependencies. [OK] をクリックします。Click OK.

    IP リソース

    ヒント

    依存関係が正しく構成されていることを確認できます。You can validate that the dependencies are correctly configured. フェールオーバー クラスター マネージャーで [ロール] に移動します。次に、可用性グループを右クリックし、 [他の操作] をクリックしてから、 [依存関係レポートの表示] をクリックします。In Failover Cluster Manager, go to Roles, right-click the availability group, click More Actions, and then click Show Dependency Report. 依存関係が正しく構成されると、可用性グループはネットワーク名に依存し、ネットワーク名は IP アドレスに依存します。When the dependencies are correctly configured, the availability group is dependent on the network name, and the network name is dependent on the IP address.

  7. PowerShell でクラスターのパラメーターを設定します。Set the cluster parameters in PowerShell.

    a.a. いずれかの SQL Server インスタンスに次の PowerShell スクリプトをコピーします。Copy the following PowerShell script to one of your SQL Server instances. 環境に合わせて変数を更新してください。Update the variables for your environment.

    • $ListenerILBIP は、Azure Load Balancer に対して作成した、可用性グループ リスナーの IP アドレスです。$ListenerILBIP is the IP address that you created on the Azure load balancer for the availability group listener.

    • $ListenerProbePort は、Azure Load Balancer に対して構成した、可用性グループ リスナーのポートです。$ListenerProbePort is the port you configured on the Azure load balancer for the availability group listener.

    $ClusterNetworkName = "<MyClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
    $IPResourceName = "<IPResourceName>" # the IP Address resource name
    $ListenerILBIP = "<n.n.n.n>" # the IP Address of the Internal Load Balancer (ILB). This is the static IP address for the load balancer you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b.b. いずれかのクラスター ノード上で PowerShell スクリプトを実行して、クラスター パラメーターを設定します。Set the cluster parameters by running the PowerShell script on one of the cluster nodes.

    注意

    SQL Server インスタンスが別個のリージョンに存在する場合は、PowerShell スクリプトを 2 回実行する必要があります。If your SQL Server instances are in separate regions, you need to run the PowerShell script twice. 1 回目の実行では、1 番目のリージョンの $ListenerILBIP$ListenerProbePort を使用します。The first time, use the $ListenerILBIP and $ListenerProbePort from the first region. 2 回目の実行では、2 番目のリージョンの $ListenerILBIP$ListenerProbePort を使用します。The second time, use the $ListenerILBIP and $ListenerProbePort from the second region. クラスター ネットワーク名とクラスター IP リソース名も、リージョンごとに異なります。The cluster network name and the cluster IP resource name are also different for each region.

  8. 可用性グループ クラスター ロールをオンラインにします。Bring the availability group cluster role online. [フェールオーバー クラスター マネージャー][ロール] で該当するロールを右クリックし、 [ロールの起動] を選択します。In Failover Cluster Manager under Roles, right click the role, and select Start Role.

必要に応じて上記の手順を繰り返し、WSFC クラスター IP アドレスのクラスター パラメーターを設定します。If necessary, repeat the steps above to set the cluster parameters for the WSFC cluster IP address.

  1. WSFC クラスター IP アドレスの IP アドレス名を取得します。Get the IP address name of the WSFC Cluster IP address. [フェールオーバー クラスター マネージャー][クラスター コア リソース] で、 [サーバー名] を見つけます。In Failover Cluster Manager under Cluster Core Resources, locate Server Name.

  2. [IP アドレス] を右クリックし、 [プロパティ] を選択します。Right-click IP Address, and select Properties.

  3. IP アドレスの [名前] をコピーします。Copy the Name of the IP address. たとえば Cluster IP Address です。It may be Cluster IP Address.

  4. PowerShell でクラスターのパラメーターを設定します。Set the cluster parameters in PowerShell.

    a.a. いずれかの SQL Server インスタンスに次の PowerShell スクリプトをコピーします。Copy the following PowerShell script to one of your SQL Server instances. 環境に合わせて変数を更新してください。Update the variables for your environment.

    • $ClusterCoreIP は、Azure Load Balancer に対して作成した、WSFC コア クラスター リソースの IP アドレスです。$ClusterCoreIP is the IP address that you created on the Azure load balancer for the WSFC core cluster resource. 可用性グループ リスナーの IP アドレスとは異なります。It is different from the IP address for the availability group listener.

    • $ClusterProbePort は、Azure Load Balancer に対して構成した、WSFC 正常性プローブのポートです。$ClusterProbePort is the port you configured on the Azure load balancer for the WSFC health probe. 可用性グループ リスナーのプローブとは異なります。It is different from the probe for the availability group listener.

    $ClusterNetworkName = "<MyClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
    $IPResourceName = "<ClusterIPResourceName>" # the IP Address resource name
    $ClusterCoreIP = "<n.n.n.n>" # the IP Address of the Cluster IP resource. This is the static IP address for the load balancer you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from the WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener probe port.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b.b. いずれかのクラスター ノード上で PowerShell スクリプトを実行して、クラスター パラメーターを設定します。Set the cluster parameters by running the PowerShell script on one of the cluster nodes.

警告

可用性グループ リスナーの正常性プローブのポートは、クラスター コア IP アドレスの正常性プローブ ポートとは違っている必要があります。The availability group listener health probe port has to be different from the cluster core IP address health probe port. これらの例では、リスナー ポートが 59999 で、クラスター コア IP アドレスの正常性プローブ ポートが 58888 です。In these examples, the listener port is 59999 and the cluster core IP address health probe port is 58888. どちらのポートも、受信を許可するようにファイアウォール規則が設定されている必要があります。Both ports require an allow inbound firewall rule.

リスナーの構成を確認します。Verify the configuration of the listener

クラスター リソースと依存関係が正しく構成されていれば、SQL Server Management Studio にリスナーが表示されます。If the cluster resources and dependencies are correctly configured, you should be able to view the listener in SQL Server Management Studio. リスナーのポートを設定するには、次の手順を実行します。To set the listener port, do the following steps:

  1. SQL Server Management Studio を起動し、プライマリ レプリカに接続します。Start SQL Server Management Studio, and then connect to the primary replica.

  2. [AlwaysOn 高可用性] > [可用性グループ] > [可用性グループ リスナー] の順に移動します。Go to AlwaysOn High Availability > Availability Groups > Availability Group Listeners.

    フェールオーバー クラスター マネージャーで作成したリスナー名が表示されます。You should now see the listener name that you created in Failover Cluster Manager.

  3. リスナー名を右クリックし、 [プロパティ] を選択します。Right-click the listener name, and then select Properties.

  4. [ポート] ボックスで、以前に使用した $EndpointPort (既定値は 1433) を使用し、可用性グループ リスナーのポート番号を指定して、 [OK] を選択します。In the Port box, specify the port number for the availability group listener by using the $EndpointPort you used earlier (1433 was the default), and then select OK.

これで、可用性グループが Resource Manager モードで実行されている Azure 仮想マシンにデプロイされました。You now have an availability group in Azure virtual machines running in Resource Manager mode.

リスナーへの接続をテストするTest the connection to the listener

次の手順を実行して接続をテストします。Test the connection by doing the following steps:

  1. リモート デスクトップ プロトコル (RDP) を使用して、同じ仮想ネットワークに存在する、レプリカを所有していない SQL Server インスタンスに接続します。Use remote desktop protocol (RDP) to connect to a SQL Server instance that's in the same virtual network, but does not own the replica. このサーバーは、クラスター内の別の SQL Server インスタンスでもかまいません。This server can be the other SQL Server instance in the cluster.

  2. sqlcmd ユーティリティを使用して接続をテストします。Use sqlcmd utility to test the connection. たとえば次のスクリプトは、Windows 認証を使用し、リスナー経由でプライマリ レプリカとの sqlcmd 接続を確立しています。For example, the following script establishes a sqlcmd connection to the primary replica through the listener with Windows authentication:

    sqlcmd -S <listenerName> -E
    

SQLCMD 接続では、プライマリ レプリカのホストとなる SQL Server インスタンスに対して自動的に接続されます。The SQLCMD connection automatically connects to the SQL Server instance that hosts the primary replica.

追加の可用性グループの IP アドレスを作成するCreate an IP address for an additional availability group

各可用性グループは、個別のリスナーを使用します。Each availability group uses a separate listener. 各リスナーには独自の IP アドレスがあります。Each listener has its own IP address. 追加のリスナーの IP アドレスを保持するために、同じロード バランサーを使用します。Use the same load balancer to hold the IP address for additional listeners. 可用性グループを作成した後で、IP アドレスをロード バランサーに追加し、リスナーを構成します。After you create an availability group, add the IP address to the load balancer, and then configure the listener.

Azure Portal で IP アドレスをロード バランサーに追加するには、次の手順に従います。To add an IP address to a load balancer with the Azure portal, do the following steps:

  1. Azure Portal で、ロード バランサーを含むリソース グループを開き、ロード バランサーを選択します。In the Azure portal, open the resource group that contains the load balancer, and then select the load balancer.

  2. [設定] で、 [Frontend IP pool](フロントエンド IP プール)[追加] の順に選択します。Under SETTINGS, select Frontend IP pool, and then select Add.

  3. [フロントエンド IP アドレスの追加] で、フロントエンドの名前を割り当てます。Under Add frontend IP address, assign a name for the front end.

  4. [仮想ネットワーク][サブネット] が SQL Server インスタンスと同じであることを確認します。Verify that the Virtual network and the Subnet are the same as the SQL Server instances.

  5. リスナーの IP アドレスを設定します。Set the IP address for the listener.

    ヒント

    IP アドレスを静的に設定し、現在サブネットで使用されていないアドレスを入力することができます。You can set the IP address to static and type an address that is not currently used in the subnet. また、IP アドレスを動的に設定して、新しいフロントエンド IP プールを保存することもできます。Alternatively, you can set the IP address to dynamic and save the new front-end IP pool. その場合、使用可能な IP アドレスが、Azure Portal によって自動的にプールに割り当てられます。When you do so, the Azure portal automatically assigns an available IP address to the pool. その後、フロントエンド IP プールを再び開いて、割り当てを静的に変更することができます。You can then reopen the front-end IP pool and change the assignment to static.

  6. リスナーの IP アドレスを保存します。Save the IP address for the listener.

  7. 次の設定で正常性プローブを追加します。Add a health probe by using the following settings:

    設定Setting Value
    名前Name プローブを識別する名前。A name to identify the probe.
    プロトコルProtocol TCPTCP
    [ポート]Port 未使用の TCP ポート。すべての仮想マシンで使用できる必要があります。An unused TCP port, which must be available on all virtual machines. 他の目的では使用できません。It cannot be used for any other purpose. 2 つのリスナーが同じプローブ ポートを使用することはできません。No two listeners can use the same probe port.
    間隔Interval プローブの試行の間隔。The amount of time between probe attempts. 既定値 (5) を使用します。Use the default (5).
    異常のしきい値Unhealthy threshold 連続する失敗の回数のしきい値。これを超えると、仮想マシンが異常と見なされます。The number of consecutive thresholds that should fail before a virtual machine is considered unhealthy.
  8. [OK] を選択してプローブを保存します。Select OK to save the probe.

  9. 負荷分散規則を作成します。Create a load-balancing rule. [負荷分散規則][追加] の順に選択します。Select Load balancing rules, and then select Add.

  10. 新しい負荷分散規則を次の設定で構成します。Configure the new load-balancing rule by using the following settings:

    設定Setting Value
    名前Name 負荷分散規則を識別する名前。A name to identify the load-balancing rule.
    フロントエンド IP アドレスFrontend IP address 作成した IP アドレスを選択します。Select the IP address you created.
    プロトコルProtocol TCPTCP
    [ポート]Port SQL Server インスタンスで使用されているポートを使用します。Use the port that the SQL Server instances are using. 変更していない限り、既定のインスタンスはポート 1433 を使用します。A default instance uses port 1433, unless you changed it.
    バックエンド ポートBackend port [ポート] と同じ値を使用します。Use the same value as Port.
    バックエンド プールBackend pool SQL Server インスタンスがある仮想マシンを含むプールです。The pool that contains the virtual machines with the SQL Server instances.
    正常性プローブHealth probe 作成したプローブを選択します。Choose the probe you created.
    セッション永続化Session persistence なしNone
    アイドル タイムアウト (分)Idle timeout (minutes) 既定値 (4)Default (4)
    フローティング IP (ダイレクト サーバー リターン)Floating IP (direct server return) EnabledEnabled

新しい IP アドレスを使用して可用性グループを構成するConfigure the availability group to use the new IP address

クラスターの構成を完了するには、最初の可用性グループを作成したときの手順を繰り返します。To finish configuring the cluster, repeat the steps that you followed when you made the first availability group. つまり、新しい IP アドレスを使用するクラスターを構成します。That is, configure the cluster to use the new IP address.

リスナーの IP アドレスを追加した後は、追加の可用性グループを次の手順で構成できます。After you have added an IP address for the listener, configure the additional availability group by doing the following steps:

  1. 新しい IP アドレスのプローブ ポートが両方の SQL Server 仮想マシンで開かれていることを確認する。Verify that the probe port for the new IP address is open on both SQL Server virtual machines.

  2. クラスター マネージャーでクライアント アクセス ポイントを追加するIn Cluster Manager, add the client access point.

  3. 可用性グループの IP リソースを構成するConfigure the IP resource for the availability group.

    重要

    IP アドレスを作成する場合は、ロード バランサーに追加した IP アドレスを使用します。When you create the IP address, use the IP address that you added to the load balancer.

  4. SQL Server 可用性グループ リソースがクライアント アクセス ポイントに依存するように設定するMake the SQL Server availability group resource dependent on the client access point.

  5. クライアント アクセス ポイント リソースが IP アドレスに依存するように設定するMake the client access point resource dependent on the IP address.

  6. PowerShell でクラスターのパラメーターを設定するSet the cluster parameters in PowerShell.

新しい IP アドレスを使用するように可用性グループを構成した後は、リスナーへの接続を構成します。After you configure the availability group to use the new IP address, configure the connection to the listener.

分散可用性グループの負荷分散規則を追加するAdd load-balancing rule for distributed availability group

可用性グループが分散可用性グループに参加している場合は、ロード バランサーに追加の規則が必要になります。If an availability group participates in a distributed availability group, the load balancer needs an additional rule. この規則には、分散可用性グループ リスナーによって使用されるポートが格納されます。This rule stores the port used by the distributed availability group listener.

重要

この手順は、可用性グループが分散可用性グループに参加している場合にのみ適用されます。This step only applies if the availability group participates in a distributed availability group.

  1. 分散可用性グループに参加している各サーバーで、分散可用性グループ リスナーの TCP ポートに関する受信規則を作成します。On each server that participates in the distributed availability group, create an inbound rule on the distributed availability group listener TCP port. ドキュメントでは、多くの例で 5022 が使用されます。In many examples, documentation uses 5022.

  2. Azure portal で ロード バランサーを選択し、 [負荷分散規則] を選んでから、 [+ 追加] を選択します。In the Azure portal, select on the load balancer and select Load balancing rules, and then select +Add.

  3. 負荷分散規則を次の設定で作成します。Create the load balancing rule with the following settings:

    設定Setting Value
    名前Name 分散可用性グループの負荷分散規則を識別するための名前。A name to identify the load balancing rule for the distributed availability group.
    フロントエンド IP アドレスFrontend IP address 可用性グループと同じフロント エンド IP アドレスを使用します。Use the same frontend IP address as the availability group.
    プロトコルProtocol TCPTCP
    [ポート]Port 5022 - 分散可用性グループのエンドポイント リスナー用のポート。5022 - The port for the distributed availability group endpoint listener.
    任意のポートを使用できます。Can be any available port.
    バックエンド ポートBackend port 5022 - [ポート] と同じ値を使用します。5022 - Use the same value as Port.
    バックエンド プールBackend pool SQL Server インスタンスがある仮想マシンを含むプールです。The pool that contains the virtual machines with the SQL Server instances.
    正常性プローブHealth probe 作成したプローブを選択します。Choose the probe you created.
    セッション永続化Session persistence なしNone
    アイドル タイムアウト (分)Idle timeout (minutes) 既定値 (4)Default (4)
    フローティング IP (ダイレクト サーバー リターン)Floating IP (direct server return) EnabledEnabled

分散可用性グループに参加している他の可用性グループのロード バランサーについても、これらの手順を繰り返します。Repeat these steps for the load balancer on the other availability groups that participate in the distributed availability groups.

アクセスを制限するための Azure ネットワーク セキュリティ グループがある場合は、許可規則に次のものが含まれていることを確認してください。If you have an Azure Network Security Group to restrict access, make sure that the allow rules include:

  • バックエンド SQL Server VM の IP アドレスThe backend SQL Server VM IP addresses
  • AG リスナーのロード バランサーの フローティング IP アドレスThe load balancer floating IP addresses for the AG listener
  • クラスター コア IP アドレス (該当する場合)。The cluster core IP address, if applicable.

次のステップNext steps