1 つ以上の Always On 可用性グループ リスナーの構成
適用対象: Azure VM 上の SQL Server
ヒント
可用性グループをデプロイする方法は多数あります。 デプロイを簡略化し、Always On 可用性グループに対して Azure Load Balancer または分散ネットワーク名 (DNN) を不要にするには、同じ Azure 仮想ネットワーク内の複数のサブネットに SQL Server 仮想マシン (VM) を作成します。 可用性グループを 1 つのサブネットに既に作成している場合は、マルチサブネット環境に移行できます。
このドキュメントでは、PowerShell を使用して次のいずれかのタスクを実行する方法について説明します。
- ロード バランサーを作成する
- SQL Server 可用性グループの既存のロード バランサーに IP アドレスを追加する。
可用性グループ リスナーは、クライアントがデータベース アクセスのために接続する仮想ネットワーク名です。 1 つのサブネットの Azure Virtual Machines では、ロード バランサーによってリスナーの IP アドレスが保持されます。 ロード バランサーは、プローブ ポートでリッスンしている SQL Server のインスタンスにトラフィックをルーティングします。 通常、可用性グループでは内部ロード バランサーが使用されます。 Azure 内部ロード バランサーは、1 つ以上の IP アドレスをホストできます。 各 IP アドレスで、特定のプローブ ポートが使用されます。
内部ロード バランサーに複数の IP アドレスを割り当てる機能は Azure の新機能であり、Resource Manager モデルでのみ利用できます。 この作業を行うには、SQL Server 可用性グループが Resource Manager モデルの Azure Virtual Machines にデプロイされている必要があります。 両方の SQL Server 仮想マシンが同じ可用性セットに属している必要があります。 Microsoft のテンプレート を使用すると、Azure Resource Manager で自動的に可用性グループを作成することができます。 このテンプレートでは、内部ロード バランサーを含む可用性グループが自動的に作成されます。 必要に応じて AlwaysOn 可用性グループを手動で構成することもできます。
この記事の手順を完了するには、可用性グループが既に構成されている必要があります。
関連トピック:
Note
この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
PowerShell セッションの開始
Connect-Az Account コマンドレットを実行すると、資格情報を入力するサインイン画面が表示されます。 Azure ポータルにサインインするときと同じ資格情報を使用してください。
Connect-AzAccount
複数のサブスクリプションがある場合は、Set-AzContext コマンドレットを使用して、PowerShell セッションで使用するサブスクリプションを選択します。 PowerShell セッションが現在使用しているサブスクリプションを確認するには、Get-AzContext を実行します。 すべてのサブスクリプションを表示するには、Get-AzSubscription を実行します。
Set-AzContext -SubscriptionId '4cac86b0-1e56-bbbb-aaaa-000000000000'
PowerShell のバージョンを確認する
この記事の例は、Azure PowerShell モジュールのバージョン 5.4.1 を使用してテストされています。
お使いの PowerShell モジュールが 5.4.1 以降であることを確認してください。
Azure PowerShell モジュールのインストールに関するページを参照してください。
Windows ファイアウォールの構成
SQL Server のアクセスを許可するように Windows ファイアウォールを構成します。 ファイアウォール規則では、SQL Server インスタンスによって使用されるポートとリスナー プローブによって使用されるポートへの TCP 接続を許可します。 詳細については、「データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する」をご覧ください。 SQL Server のポートとプローブ ポート用の受信規則を作成します。
Azure ネットワーク セキュリティ グループを使用してアクセスを制限する場合は、バックエンド SQL Server VM の IP アドレス、AG リスナーのロード バランサー フローティング IP アドレス、および該当する場合はクラスター コア IP アドレスが許可ルールに含まれていることを確認します。
必要なロード バランサーの SKU を決定する
Azure Load Balancer は、Basic と Standard の 2 つの SKU で使用できます。 Basic SKU は 2025 年 9 月 30 日に廃止される予定であるため、Standard ロード バランサーをお勧めします。 可用性ゾーン内の仮想マシンには、Standard ロード バランサーが必要です。 Standard Load Balancer では、すべての VM IP アドレスで標準 IP アドレスが使用されている必要があります。
可用性グループ用の現在の Microsoft テンプレートでは、Basic Load Balancer と基本の IP アドレスが使用されています。
Note
クラウド監視に Standard Load Balancer と Azure Storage を使用する場合は、サービス エンドポイントを構成する必要があります。
この記事の例では、Standard Load Balancer が指定されています。 例のスクリプトには、-sku Standard
が含まれています。
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe -sku Standard
Basic Load Balancer を作成するには、ロード バランサーを作成する行から -sku Standard
を削除します。 次に例を示します。
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe
サンプル スクリプト: PowerShell を使用して内部ロード バランサーを作成する
Note
Microsoft テンプレート を使用して可用性グループを作成した場合、内部ロード バランサーは既に作成されています。
次の PowerShell スクリプトでは、内部ロード バランサーを作成し、負荷分散規則を構成した後、ロード バランサーの IP アドレスを設定します。 スクリプトを実行するには、Windows PowerShell ISE を開いてスクリプト ペインにスクリプトを貼り付けます。 Connect-AzAccount
を使用して PowerShell にログインします。 複数の Azure サブスクリプションがある場合は、 Select-AzSubscription
を使用してサブスクリプションを設定します。
# Connect-AzAccount
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
$ResourceGroupName = "<Resource Group Name>" # Resource group name
$VNetName = "<Virtual Network Name>" # Virtual network name
$SubnetName = "<Subnet Name>" # Subnet name
$ILBName = "<Load Balancer Name>" # ILB name
$Location = "<Azure Region>" # Azure location
$VMNames = "<VM1>","<VM2>" # Virtual machine names
$ILBIP = "<n.n.n.n>" # IP address
[int]$ListenerPort = "<nnnn>" # AG listener port
[int]$ProbePort = "<nnnn>" # Probe port
$LBProbeName ="ILBPROBE_$ListenerPort" # The Load balancer Probe Object Name
$LBConfigRuleName = "ILBCR_$ListenerPort" # The Load Balancer Rule Object Name
$FrontEndConfigurationName = "FE_SQLAGILB_1" # Object name for the front-end configuration
$BackEndConfigurationName ="BE_SQLAGILB_1" # Object name for the back-end configuration
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
$FEConfig = New-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.id
$BEConfig = New-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName
$SQLHealthProbe = New-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol tcp -Port $ProbePort -IntervalInSeconds 15 -ProbeCount 2
$ILBRule = New-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $SQLHealthProbe -Protocol tcp -FrontendPort $ListenerPort -BackendPort $ListenerPort -LoadDistribution Default -EnableFloatingIP
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe
$bepool = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
foreach($VMName in $VMNames)
{
$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName
$NICName = ($vm.NetworkProfile.NetworkInterfaces.Id.split('/') | select -last 1)
$NIC = Get-AzNetworkInterface -name $NICName -ResourceGroupName $ResourceGroupName
$NIC.IpConfigurations[0].LoadBalancerBackendAddressPools = $BEPool
Set-AzNetworkInterface -NetworkInterface $NIC
start-AzVM -ResourceGroupName $ResourceGroupName -Name $VM.Name
}
サンプル スクリプト: PowerShell を使用して既存のロード バランサーに IP アドレスを追加する
複数の可用性グループを使用するには、ロード バランサーに追加の IP アドレスを追加します。 各 IP アドレスには、独自の負荷分散規則、プローブ ポート、およびフロント ポートが必要です。 セカンダリ VM の IP アドレスが ローディングIP をサポートしていないため、ロード バランサーのバックエンド プールに VM のプライマリ IP アドレスのみを追加します。
フロントエンド ポートは、アプリケーションが SQL Server インスタンスに接続するために使用するポートです。 複数の異なる可用性グループの IP アドレスで同じフロントエンド ポートを使用できます。
Note
SQL Server 可用性グループの場合は、各 IP アドレスに特定のプローブ ポートが必要です。 たとえば、ロード バランサー上の 1 つの IP アドレスでプローブ ポート 59999 が使用されている場合、そのロード バランサー上の他の IP アドレスではプローブ ポート 59999 を使用できません。
- ロード バランサーの制限については、「ネットワークの制限 - Azure Resource Manager」にある「ロード バランサーごとのプライベート フロント エンド IP」をご覧ください。
- 可用性グループの制限については、「制限 (可用性グループ)」をご覧ください。
次のスクリプトは、既存のロード バランサーに新しい IP アドレスを追加します。 ILB では、負荷分散フロントエンド ポート用のリスナー ポートが使用されます。 このポートには、SQL Server がリッスンしているポートを使用できます。 SQL Server の既定のインスタンスでは、このポートは 1433 です。 バックエンド ポートがフロントエンド ポートと同じになるように、可用性グループの負荷分散規則ではフローティング IP (Direct Server Return) が必要です。 環境に合わせて変数を更新してください。
# Connect-AzAccount
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
$ResourceGroupName = "<ResourceGroup>" # Resource group name
$VNetName = "<VirtualNetwork>" # Virtual network name
$SubnetName = "<Subnet>" # Subnet name
$ILBName = "<ILBName>" # ILB name
$ILBIP = "<n.n.n.n>" # IP address
[int]$ListenerPort = "<nnnn>" # AG listener port
[int]$ProbePort = "<nnnnn>" # Probe port
$ILB = Get-AzLoadBalancer -Name $ILBName -ResourceGroupName $ResourceGroupName
$count = $ILB.FrontendIpConfigurations.Count+1
$FrontEndConfigurationName ="FE_SQLAGILB_$count"
$LBProbeName = "ILBPROBE_$count"
$LBConfigrulename = "ILBCR_$count"
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
$ILB | Add-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.Id
$ILB | Add-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol Tcp -Port $Probeport -ProbeCount 2 -IntervalInSeconds 15 | Set-AzLoadBalancer
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
$FEConfig = get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$SQLHealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
$BEConfig = Get-AzLoadBalancerBackendAddressPoolConfig -Name $ILB.BackendAddressPools[0].Name -LoadBalancer $ILB
$ILB | Add-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $SQLHealthProbe -Protocol tcp -FrontendPort $ListenerPort -BackendPort $ListenerPort -LoadDistribution Default -EnableFloatingIP | Set-AzLoadBalancer
リスナーの構成
可用性グループ リスナーとは、SQL Server 可用性グループがリッスンする IP アドレスとネットワーク名のことです。 可用性グループ リスナーを作成するには、次の手順を実行します。
-
a. プライマリ レプリカのホストとなっている Azure 仮想マシンに RDP で接続します。
b. フェールオーバー クラスター マネージャーを開きます。
c. Networks ノードを選択し、クラスター ネットワーク名をメモします。 この名前は、PowerShell スクリプトの
$ClusterNetworkName
変数に使用します。 次の図で、クラスター ネットワーク名は Cluster Network 1 です。 クライアント アクセス ポイントを追加します。 クライアント アクセス ポイントは、アプリケーションが可用性グループ内のデータベースに接続するために使用するネットワーク名です。
a. [フェールオーバー クラスター マネージャー] で、クラスター名を展開し、[ロール] を選択します。
b. [ロール] ペインで、可用性グループ名を右クリックし、[リソースの追加]>[クライアント アクセス ポイント] の順に選択します。
c. [名前] ボックスで、この新しいリスナーの名前を指定します。 新しいリスナーの名前は、アプリケーションが SQL Server 可用性グループ内のデータベースへの接続に使用するネットワーク名です。
d. リスナーの作成を完了するには、[次へ] を 2 回選択し、[完了] を選択します。 この時点では、リスナーまたはリソースをオンラインにしないでください。
可用性グループのクラスター ロールをオフラインにします。 [フェールオーバー クラスター マネージャー] の [ロール] で、ロールを右クリックし、[ロールの停止] を選択します。
-
a. [リソース] タブを選択し、作成したクライアント アクセス ポイントを展開します。 クライアント アクセス ポイントはオフラインになっています。
b. IP リソースを右クリックし、[プロパティ] を選択します。 この IP アドレス名はメモしておき、PowerShell スクリプトの
$IPResourceName
変数に使用します。c. [IP アドレス] で [静的 IP アドレス] を選択します。 静的 IP アドレスを、Azure Portal でロード バランサーのアドレス設定時に使用したものと同じアドレスに設定します。
SQL Server 可用性グループ リソースがクライアント アクセス ポイントに依存するように設定します。
a. [フェールオーバー クラスター マネージャー] で、[ロール]、可用性グループの順に選択します。
b. [リソース] タブの [その他のリソース] で、可用性グループのリソースを右クリックし、[プロパティ] をクリックします。
c. [依存関係] タブで、クライアント アクセス ポイント (リスナー) の名前を追加します。
d. [OK] を選択します。
クライアント アクセス ポイントが IP アドレスに依存するように設定します。
a. [フェールオーバー クラスター マネージャー] で、[ロール]、可用性グループの順に選択します。
b. [リソース] タブの [サーバー名] で、クライアント アクセスポイント リソースを右クリックし、[プロパティ] を選択します。
c. [依存関係] タブを選択します。IP アドレスが依存関係の要素であることを確認します。 そうでない場合は、IP アドレスへの依存関係を設定します。 複数のリソースが一覧表示される場合は、IP アドレスに (AND ではなく) OR 依存関係があることを確認します。 [OK] をクリックします。
ヒント
依存関係が正しく構成されていることを確認できます。 [フェールオーバー クラスター マネージャー] で [ロール] に移動し、可用性グループを右クリックし、[その他の操作]、[依存関係レポートの表示] の順に選択します。 依存関係が正しく構成されると、可用性グループはネットワーク名に依存し、ネットワーク名は IP アドレスに依存します。
PowerShell でクラスターのパラメーターを設定します。
a. いずれかの SQL Server インスタンスに次の PowerShell スクリプトをコピーします。 環境に合わせて変数を更新してください。
$ClusterNetworkName
は、フェールオーバー クラスター マネージャーで [ネットワーク] を選択し、ネットワークを右クリックして [プロパティ] を選択することで、名前を見つけることができます。 $ClusterNetworkName は [全般] タブの [名前] にあります。$IPResourceName
は、フェールオーバー クラスター マネージャーの IP アドレス リソースに指定された名前です。 これはフェールオーバー クラスター マネージャーで [ロール] を選択し、SQL Server AG または FCI 名を選択し、[サーバー名] の [リソース] タブを選択し、IP アドレス リソースを右クリックして [プロパティ] を選択することで見つけることができます。 正しい値は [全般] タブの [名前] にあります。$ListenerILBIP
は、Azure Load Balancer に対して作成した、可用性グループ リスナーの IP アドレスです。 フェールオーバー クラスター マネージャーの SQL Server AG または FCI リスナー リソース名と同じプロパティ ページで、$ListenerILBIP を見つけることができます。$ListenerProbePort
は、Azure Load Balancer に対して構成した、可用性グループ リスナーのポート (59999 など) です。 未使用の TCP ポートが有効です。
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name. $IPResourceName = "<IPResourceName>" # The IP address resource name. $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that 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. いずれかのクラスター ノード上で PowerShell スクリプトを実行して、クラスター パラメーターを設定します。
注意
SQL Server インスタンスが別個のリージョンに存在する場合は、PowerShell スクリプトを 2 回実行する必要があります。 1 回目の実行では、1 番目のリージョンの
$ListenerILBIP
と$ListenerProbePort
を使用します。 2 回目の実行では、2 番目のリージョンの$ListenerILBIP
と$ListenerProbePort
を使用します。 クラスター ネットワーク名とクラスター IP リソース名も、リージョンごとに異なります。可用性グループのクラスター ロールをオンラインにします。 [フェールオーバー クラスター マネージャー] の [ロール] で該当するロールを右クリックし、[ロールの起動] を選択します。
必要に応じて前の手順を繰り返し、Windows Server フェールオーバー クラスターの IP アドレスのクラスター パラメーターを設定します。
Windows Server フェールオーバー クラスターの IP アドレス名を取得します。 [フェールオーバー クラスター マネージャー] の [クラスター コア リソース] で、[サーバー名] を見つけます。
[IP アドレス] を右クリックし、[プロパティ] を選択します。
[名前] から IP アドレスの名前をコピーします。 これはクラスター IP アドレスである可能性があります。
PowerShell でクラスターのパラメーターを設定します。
a. いずれかの SQL Server インスタンスに次の PowerShell スクリプトをコピーします。 環境に合わせて変数を更新してください。
$ClusterCoreIP
は、Azure Load Balancer に対して作成した、Windows Server フェールオーバー クラスターのコア クラスター リソースの IP アドレスです。 これは、可用性グループ リスナーの IP アドレスとは異なります。$ClusterProbePort
は、Azure Load Balancer に対して作成した、Windows Server フェールオーバー クラスターの正常性プローブのポートです。 これは、可用性グループ リスナーのプローブとは異なります。
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later 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 that you configured in the Azure portal. [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener. Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
b. いずれかのクラスター ノード上で PowerShell スクリプトを実行して、クラスター パラメーターを設定します。
49152 から 65536 までのポート (TCP/IP の既定の動的ポート範囲) を使用するように SQL リソースが構成されている場合は、各ポートの除外を追加します。 このようなリソースとしては、次のものがあります。
- SQL Server データベース エンジン
- AlwaysOn 可用性グループ リスナー
- フェールオーバー クラスター インスタンスの正常性プローブ
- データベース ミラーリング エンドポイント
- クラスター コア IP リソース
除外を追加することにより、他のシステム プロセスが同じポートに動的に割り当てられるのを防ぐことができます。 このシナリオでは、すべてのクラスター ノードで次の除外を構成します。
netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent
ポートが使用されていないときにポート除外を構成することが重要です。 それ以外の場合、コマンドは失敗し、"ファイルは別のプロセスで使用されているため、このプロセスでアクセスすることはできません" のようなメッセージが返されます。除外が正しく構成されていることを確認するには、コマンド netsh int ipv4 show excludedportrange tcp
を使用します。
警告
可用性グループ リスナーの正常性プローブのポートは、クラスター コア IP アドレスの正常性プローブのポートとは異なっている必要があります。 これらの例で、リスナー ポートは 59999 で、クラスター コア IP アドレスの正常性プローブ ポートは 58888 です。 どちらのポートにも、"受信許可" ファイアウォール規則が必要です。
SQL Server Management Studio でリスナー ポートを設定する
SQL Server Management Studio を起動し、プライマリ レプリカに接続します。
[Always On 高可用性]>[可用性グループ]>[可用性グループ リスナー] の順に移動します。
フェールオーバー クラスター マネージャーで作成したリスナー名が表示されます。 リスナー名を右クリックし、 [プロパティ] を選択します。
[ポート] ボックスで、以前に使用した $EndpointPort (既定値は 1433) を使用し、可用性グループ リスナーのポート番号を指定して、 [OK] を選択します。
リスナーへの接続をテストする
接続をテストするには、次の手順に従います。
リモート デスクトップ プロトコル (RDP) を使用して、同じ仮想ネットワークに存在する、レプリカを所有していない SQL Server に接続します。 クラスター内の別の SQL Server がそれに該当します。
sqlcmd ユーティリティを使用して接続をテストします。 たとえば次のスクリプトは、Windows 認証を使用し、リスナー経由でプライマリ レプリカとの sqlcmd 接続を確立しています。
sqlcmd -S <listenerName> -E
リスナーが既定のポート (1433) 以外のポートを使用している場合は、そのポートを接続文字列で指定します。 たとえば、次の sqlcmd コマンドは、ポート 1435 でリスナーに接続します。
sqlcmd -S <listenerName>,1435 -E
SQLCMD 接続では、プライマリ レプリカをホストしている SQL Server インスタンスに対して自動的に接続されます。
Note
指定したポートは、両方の SQL Server のファイアウォールで必ず開放してください。 使用する TCP ポートに対する入力方向の規則が両方のサーバーに必要となります。 詳しくは、「ファイアウォール規則を追加または編集する」をご覧ください。
セカンダリ レプリカ VM を使用していて、リスナーに接続できない場合は、プローブ ポートが正しく構成されていない可能性があります。
次のスクリプトを使って、プローブ ポートが可用性グループ用に正しく構成されていることを検証できます。
Clear-Host
Get-ClusterResource `
| Where-Object {$_.ResourceType.Name -like "IP Address"} `
| Get-ClusterParameter `
| Where-Object {($_.Name -like "Network") -or ($_.Name -like "Address") -or ($_.Name -like "ProbePort") -or ($_.Name -like "SubnetMask")}
ガイドラインと制限
内部ロード バランサーを使用した Azure の可用性グループ リスナーに関する次のガイドラインを確認してください。
内部ロード バランサーでは、同じ仮想ネットワーク内からしかリスナーにアクセスできません。
Azure ネットワーク セキュリティ グループを使用してアクセスを制限する場合は、許可規則に次のものが含まれていることを確認します。
- バックエンド SQL Server VM の IP アドレス
- AG リスナーのロード バランサーの フローティング IP アドレス
- クラスター コア IP アドレス (該当する場合)。
クラウド監視に Standard Load Balancer と Azure Storage を使用する場合は、サービス エンドポイントを作成します。 詳細については、仮想ネットワークからのアクセスの許可に関するページを参照してください。
PowerShell コマンドレット
Azure Virtual Machines 用の内部ロード バランサーを作成するには、次の PowerShell コマンドレットを使用します。
- New-AzLoadBalancer は、ロード バランサーを作成します。
- New-AzLoadBalancerFrontendIpConfig は、ロード バランサー用のフロントエンド IP 構成を作成します。
- New-AzLoadBalancerRuleConfig は、ロード バランサー用の規則の構成を作成します。
- New-AzLoadBalancerBackendAddressPoolConfig は、ロード バランサー用のバックエンド アドレス プール構成を作成します。
- New-AzLoadBalancerProbeConfig は、ロード バランサー用のプローブの構成を作成します。
- Remove-AzLoadBalancer は、Azure リソース グループからロード バランサーを削除します。
次の手順
詳細については、以下をご覧ください。