Настройка одного или нескольких прослушивателей групп доступности Always On
Область применения: SQL Server на виртуальной машине Azure
Совет
Существует множество методов развертывания группы доступности. Упрощение развертывания и устранение необходимости использования Azure Load Balancer или распределенного сетевого имени (DNN) для группы доступности AlwaysOn путем создания виртуальных машин SQL Server в нескольких подсетях в одной виртуальной сети Azure. Если вы уже создали группу доступности в одной подсети, ее можно перенести в среду с несколькими подсетами.
В этом документе объясняется, как использовать PowerShell для выполнения одной из следующих задач:
- Создание подсистемы балансировки нагрузки
- добавление IP-адресов в существующую подсистему балансировки нагрузки для групп доступности SQL Server.
Прослушиватель группы доступности — это виртуальная сеть, к которой подключаются клиенты, чтобы получить доступ к базе данных. На виртуальных машинах Azure в отдельной подсети подсистема балансировки нагрузки содержит IP-адрес прослушивателя. Балансировщик нагрузки направляет трафик в экземпляр SQL Server, который прослушивает порт пробы. Обычно группа доступности использует внутреннюю подсистему балансировки нагрузки. В такой системе можно разместить один или несколько IP-адресов. Каждый IP-адрес использует определенный порт пробы.
Возможность назначения нескольких IP-адресов для внутренней подсистемы балансировки нагрузки впервые представлена в Azure. Она доступна только в модели Resource Manager. Для этого необходимо развернуть группу доступности SQL Server на виртуальных машинах Azure с использованием модели Resource Manager. Обе виртуальные машины SQL Server должны принадлежать к одной и той же группе доступности. Вы можете использовать шаблон Майкрософт , чтобы автоматически создать группу доступности в Azure Resource Manager. Этот шаблон также автоматически создает внутренний балансировщик нагрузки. При необходимости можно вручную настроить группу доступности AlwaysOn.
Для выполнения описанных в этой статье действий группы доступности должны быть уже настроены.
Связанные разделы включают:
- Введение в группы доступности AlwaysOn SQL Server на виртуальных машинах Azure
- Настройка подключения между виртуальными сетями с помощью Azure Resource Manager и PowerShell
Примечание.
В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Запуск сеанса 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
Настройте брандмауэр Windows для разрешения доступа к SQL Server. Правила брандмауэра разрешают TCP-подключения к портам, используемым экземпляром SQL Server и пробой прослушивателя. Дополнительные сведения см. в разделе Настройка брандмауэра Windows для доступа к ядру СУБД. Создайте правило входящего трафика для порта SQL Server и порта пробы.
Ограничивая доступ с помощью группы безопасности сети Azure, убедитесь, что правило разрешения включает IP-адреса виртуальных машин SQL Server и динамический IP-адрес балансировщика нагрузки для прослушивателя AG и IP-адрес основного кластера, если они применяются.
Определение требований для номера SKU в подсистеме балансировки нагрузки
Для подсистемы балансировки нагрузки Azure доступны два номера SKU ценовых категорий "Базовый" и "Стандартный". Стандартная подсистема балансировки нагрузки рекомендуется, так как номер SKU уровня "Базовый" будет прекращен 30 сентября 2025 г. Для виртуальных машин в зоне доступности требуется стандартная подсистема балансировки нагрузки. Для Load Balancer (цен. категория "Стандартный") требуется, чтобы во всех виртуальных машинах использовались стандартные IP-адреса.
В текущем шаблоне Microsoft для группы доступности используется Load Balancer (цен. категория "Базовый") с базовыми IP-адресами.
Примечание.
Потребуется настроить конечную точку службы, если вы используете Load Balancer (цен. категория "Стандартный") и службу хранилища Azure для облачного свидетеля.
В данных примерах статьи приведена Load Balancer (цен. категория "Стандартный"). Сценарий -sku Standard
включен в примеры.
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe -sku Standard
Чтобы создать Load Balancer (цен. категория "Базовый"), из строки ее создания необходимо удалить сценарий -sku Standard
. Например:
$ILB= New-AzLoadBalancer -Location $Location -Name $ILBName -ResourceGroupName $ResourceGroupName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -LoadBalancingRule $ILBRule -Probe $SQLHealthProbe
Пример сценария. Создание внутреннего балансировщика нагрузки с помощью PowerShell
Примечание.
Если вы создали группу доступности с помощью шаблона Майкрософт, внутренняя подсистема балансировки нагрузки уже создана.
Следующий скрипт PowerShell создает внутреннюю подсистему балансировки нагрузки, задает для нее IP-адрес, а также настраивает правила балансировки нагрузки. Для запуска скрипта откройте интегрированную среду сценариев Windows PowerShell и вставьте скрипт в область сценариев. Войдите в PowerShell, используя командлет Connect-AzAccount
. Если подписок 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
}
Пример сценария. Добавление IP-адреса в имеющийся балансировщик нагрузки с помощью PowerShell
Чтобы применить несколько групп доступности, добавьте другой IP-адрес в подсистему балансировки нагрузки. Каждому IP-адресу требуется собственное правило балансировки нагрузки, порт пробы и внешний порт. Добавьте в пул подсистемы балансировки нагрузки только основной IP-адрес виртуальной машины, так как плавающий IP-адрес не может быть дополнительным IP-адресом виртуальной машины.
Внешний порт — это порт, используемый приложениями для подключения к экземпляру SQL Server. Один и тот же внешний порт может использоваться для IP-адресов различных групп доступности.
Примечание.
Для групп доступности SQL Server для каждого IP-адреса требуется определенный порт пробы. Например, если один IP-адрес в балансировщике нагрузки использует порт пробы 59999, другие IP-адреса не могут использовать этот порт пробы.
- Дополнительные сведения об ограничениях см. в пункте Частный внешний IP-адрес на балансировщик нагрузки раздела Ограничения сети — Azure Resource Manager.
- Дополнительные сведения об ограничениях групп доступности см. в разделе Ограничения (группы доступности).
Следующий сценарий добавляет новый IP-адрес в имеющийся балансировщик нагрузки. Внутренняя подсистема балансировки нагрузки использует порт прослушивателя для внешнего порта балансировки нагрузки. Это может быть порт, который прослушивает SQL Server. Для экземпляров SQL Server по умолчанию — это порт 1433. Для правила балансировки нагрузки группы доступности требуется плавающий IP-адрес (прямой ответ от сервера), поэтому внутренний порт не отличается от внешнего порта. Обновите переменные для среды.
# 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
Настройка прослушивателя
Прослушиватель группы доступности — это IP-адрес и сетевое имя, с которых ожидается передача данных в группе доступности SQL Server. Чтобы создать прослушиватель группы доступности, выполните следующие действия.
Получите имя сетевого ресурса кластера:
a. Подключитесь по протоколу RDP к виртуальной машине Azure, на которой размещена основная реплика.
b. Откройте диспетчер отказоустойчивости кластеров.
c. Выберите узел Сети и запишите имя сети кластера. Это имя нужно использовать в переменной
$ClusterNetworkName
в сценарии PowerShell. На следующем рисунке сетевое имя кластера — cluster Network 1:Добавьте точку доступа клиента. Точка доступа клиента — это сетевое имя, которое используют приложения для подключения к базам данных в группе доступности.
a. В диспетчере отказоустойчивости кластеров разверните имя кластера и выберите роли.
b. В области ролей щелкните правой кнопкой мыши имя группы доступности и выберите пункт "Добавить точку доступа клиента ресурсов>".
c. В поле Имя создайте имя для нового прослушивателя. Имя для нового прослушивателя — это сетевое имя, которое используют приложения для подключения к базам данных в группе доступности SQL Server.
d. Чтобы завершить создание прослушивателя, нажмите кнопку "Далее " дважды и нажмите кнопку "Готово". Не используйте прослушиватель или ресурс в сети на этом этапе.
Выполните роль кластера для группы доступности в автономном режиме. В диспетчере отказоустойчивых кластеров в разделе "Роли" щелкните правой кнопкой мыши роль и выберите " Остановить роль".
Настройте IP-ресурс для группы доступности:
a. Перейдите на вкладку "Ресурсы" и разверните созданную клиентом точку доступа. Точка доступа клиента не подключена к сети.
b. Щелкните правой кнопкой мыши ресурс IP-адреса и выберите пункт "Свойства". Запишите IP-адрес и используйте его в переменной
$IPResourceName
в скрипте PowerShell.c. В разделе IP-адрес выберите статический IP-адрес. Задайте тот же IP-адрес, который использовался на портале Azure при настройке адреса подсистемы балансировки нагрузки.
Сделайте группу доступности SQL Server зависящей от точки доступа клиента:
a. В диспетчере отказоустойчивости кластеров выберите роли и выберите группу доступности.
b. На вкладке "Ресурсы" в разделе "Другие ресурсы" щелкните правой кнопкой мыши ресурс группы доступности и выберите пункт "Свойства".
c. На вкладке зависимостей добавьте имя точки доступа клиента (прослушиватель).
d. Нажмите ОК.
Сделайте точку доступа клиента зависящей от IP-адреса:
a. В диспетчере отказоустойчивости кластеров выберите роли и выберите группу доступности.
b. На вкладке "Ресурсы" щелкните правой кнопкой мыши точку доступа клиента в разделе "Имя сервера" и выберите пункт "Свойства".
c. Перейдите на вкладку "Зависимости ". Убедитесь, что IP-адрес является зависимостью. Если это не так, задайте зависимость от IP-адреса. Если перечислены несколько ресурсов, убедитесь, что IP-адреса имеют ИЛИ, а не И, зависимости. Затем выберите OK.
Совет
Вы можете проверить правильность настройки зависимостей. В диспетчере отказоустойчивых кластеров перейдите к ролям, щелкните правой кнопкой мыши группу доступности, выберите "Дополнительные действия" и выберите " Показать отчет о зависимостях". Когда зависимости настроены правильно, группа доступности зависит от имени сети, которое, в свою очередь, зависит от IP-адреса.
Задайте параметры кластера в PowerShell:
a. Скопируйте следующий скрипт PowerShell на один из экземпляров SQL Server. Обновите переменные для среды.
$ClusterNetworkName
Найдите имя в диспетчере отказоустойчивых кластеров, выбрав "Сети", щелкните сеть правой кнопкой мыши и выберите "Свойства". $ClusterNetworkName находится на вкладке "Имя" на вкладке "Общие".$IPResourceName
— это имя, заданное ресурсу IP-адреса в диспетчере отказоустойчивости кластеров. Это находится в диспетчере отказоустойчивых кластеров, выбрав роли, выберите имя группы доступности SQL Server или FCI, перейдите на вкладку "Ресурсы" в разделе "Имя сервера", щелкните правой кнопкой мыши ресурс IP-адреса и выберите "Свойства". Правильное значение находится на вкладке "Имя " на вкладке "Общие".$ListenerILBIP
— IP-адрес создан в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности. Найдите $ListenerILBIP в диспетчере отказоустойчивости кластеров на той же странице свойств, что и имя ресурса прослушивателя SQL Server AG/FCI.$ListenerProbePort
— это порт, настроенный в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности, например 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. В первый раз используйте
$ListenerILBIP
значения$ListenerProbePort
из первого региона. Во второй раз используйте$ListenerILBIP
значения$ListenerProbePort
из второго региона. Имя сети кластера и имя ресурса IP-кластера разные для каждого региона.Доведите роль кластера для группы доступности в сети. В диспетчере отказоустойчивых кластеров в разделе "Роли" щелкните правой кнопкой мыши роль и выберите " Пуск роли".
При необходимости повторите описанные выше действия, чтобы задать параметры кластера для IP-адреса отказоустойчивого кластера Windows Server:
Получите ИМЯ IP-адреса отказоустойчивого кластера Windows Server. В диспетчере отказоустойчивости кластеров в разделе "Ресурсы ядра кластера" найдите имя сервера.
Щелкните правой кнопкой мыши IP-адрес и выберите пункт "Свойства".
Скопируйте имя IP-адреса из имени. Это может быть IP-адрес кластера.
Задайте параметры кластера в PowerShell:
a. Скопируйте следующий скрипт PowerShell на один из экземпляров SQL Server. Обновите переменные для среды.
$ClusterCoreIP
— это IP-адрес, созданный в подсистеме балансировки нагрузки Azure для основного ресурса кластера отказоустойчивого кластера Windows Server. Он отличается от IP-адреса прослушивателя группы доступности.$ClusterProbePort
— это порт, настроенный в подсистеме балансировки нагрузки Azure для пробы работоспособности отказоустойчивого кластера 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 на одном из узлов кластера.
Если любой ресурс SQL настроен для использования порта от 49152 до 65536 ( динамический диапазон портов по умолчанию для TCP/IP), добавьте исключение для каждого порта. Такие ресурсы могут включать:
- Ядро СУБД 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 и подключитесь к основной реплике.
Перейдите к прослушивателям групп>доступности>AlwaysOn с высоким уровнем доступности.
Теперь вы увидите имя прослушивателя, созданного в диспетчере отказоустойчивости кластеров. Щелкните имя прослушивателя правой кнопкой мыши и выберите пункт Свойства.
В поле Порт укажите номер порта для прослушивателя группы доступности с помощью использованного ранее параметра $EndpointPort (по умолчанию использовалось значение "1433") и нажмите кнопку ОК.
Проверка подключения к прослушивателю
Чтобы проверить подключение, необходимо:
Подключитесь по протоколу удаленного рабочего стола (RDP) к экземпляру SQL Server, который находится в той же виртуальной сети, но не содержит реплику. Это может быть другой сервер SQL Server в кластере.
Для проверки подключения используйте служебную программу sqlcmd . Например, в следующем сценарии sqlcmd подключается к основной реплике через прослушиватель с использованием аутентификации Windows.
sqlcmd -S <listenerName> -E
Если прослушиватель использует порт, отличный от порта по умолчанию (1433), укажите порт в строке подключения. Например, следующая команда sqlcmd подключается к прослушивателю через порт 1435.
sqlcmd -S <listenerName>,1435 -E
sqlcmd автоматически подключается к любому экземпляру SQL Server, на котором размещена основная реплика.
Примечание.
Указанный порт должен быть открыт в брандмауэре обоих серверов SQL Server. Для обоих серверов требуется правило для входящего трафика используемого TCP-порта. Дополнительные сведения см. в статье Добавление и изменение правила брандмауэра.
Если вы находитесь на виртуальной машине вторичной реплики и не удается подключиться к прослушивателю, возможно, порт пробы не настроен правильно.
Чтобы проверить правильность настройки порта пробы для группы доступности, можно использовать следующий скрипт:
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.
Если вы используете внутреннюю подсистему балансировки нагрузки, доступ к прослушивателю можно получить только из этой же виртуальной сети.
Если вы ограничиваете доступ с помощью группы безопасности сети Azure, убедитесь, что правила разрешения включают следующие элементы:
- IP-адреса виртуальной машины SQL Server;
- плавающие IP-адреса подсистемы балансировки нагрузки для прослушивателя группы доступности;
- основной IP-адрес кластера, если применимо.
Создайте конечную точку службы в случае использования Load Balancer (цен. категория "Стандартный") и службы хранилища Azure для облачного свидетеля. Дополнительные сведения см. в разделе Предоставление доступа из виртуальной сети.
Командлеты PowerShell
Для создания внутренней подсистемы балансировки нагрузки на виртуальных машинах Azure можно использовать указанные ниже командлеты PowerShell.
- Командлет New-AzLoadBalancer создает подсистему балансировки нагрузки.
- Командлет New-AzLoadBalancerFrontendIpConfig создает конфигурацию внешних IP-адресов для подсистемы балансировки нагрузки.
- Командлет New-AzLoadBalancerRuleConfig создает конфигурацию правила для подсистемы балансировки нагрузки.
- Командлет New-AzLoadBalancerBackendAddressPoolConfig создает конфигурацию внутреннего пула IP-адресов для подсистемы балансировки нагрузки.
- Командлет New-AzLoadBalancerProbeConfig создает конфигурацию пробы для подсистемы балансировки нагрузки.
- Командлет Remove-AzLoadBalancer удаляет подсистему балансировки нагрузки из группы ресурсов Azure.
Следующие шаги
Дополнительные сведения см. на следующих ресурсах: