0

Я переношу решение из Classic VM, для которого у меня есть веб-приложение, доступное через ACL на конечной точке, к новым виртуальным серверам диспетчера ресурсов, работающим в виртуальной сети , Моя цель - использовать Point-to-Site, чтобы мое веб-приложение могло получить доступ к виртуальным машинам, используя внутренний IP-адрес, а не через интернет-вызов.Добавить внутренний балансировщик нагрузки Azure в существующую виртуальную сеть RM

Я создал новую виртуальную сеть. Внутри этого я создал новые RM VM и настроил их с моей службой. Все работает нормально, и мой сервис (Elasticsearch) способен связываться между всеми кластерами.

Теперь я хочу добавить внутренний контроллер нагрузки в VN. Я нахожу это трудным занятием, так как вся информация, которую я могу найти, создает сеть , а VM в процессе создания балансировщика нагрузки. Кроме того, многие из команд (хотя я думаю, что это могут быть команды в классическом режиме), попросите ServiceName. Я не создал службу.

Мне бы очень хотелось знать порядок, в котором эти ресурсы должны быть созданы. Чтобы повторить, в конце я хотел бы иметь новую виртуальную сеть с внутренним балансировщиком нагрузки, к которой я могу создать соединение «точка-точка», чтобы мое веб-приложение могло совершать не-интернет-вызов, и объединить его в одну из виртуальных машин в кластере.

+0

Вам действительно нужна настройка сайта. как только вы настроите Vnet и обмениваетесь данными через частные конечные точки. Виртуальные службы/облачные службы общаются с внутренним правом? – Aravind

ответ

0

При использовании внутреннего loadbalancer вы заполняете бэкэнд-пул, связывая сетевой адаптер на vnet с бэкэном LB. Когда вы интегрируете webapp в vnet, вы напрямую не управляете NIC, поскольку это работает через P2S VPN.

Это означает, что вы не можете добавить внутренний IP-адрес webapp в ILB. Если вы хотите выполнить балансировку между webapps на vnet по внутреннему IP, я бы предложил посмотреть на Azure Application Gateway. При этом вы можете добавлять FQDN или внутренние IP-адреса в бэкэнд-пул при создании шлюза вместо привязки сетевых адаптеров.

Если вы хотите продолжить работу с внутренним балансировщиком нагрузки, например, при загрузке виртуальных машин, вы также можете сделать это с помощью существующего vnet.

Вы можете выполнить шаги на https://azure.microsoft.com/en-us/documentation/articles/load-balancer-get-started-ilb-arm-ps/, которые, как я предполагаю, являются отправной точкой для вашего вопроса.

В статье представлены предварительные условия для создания балансировщика нагрузки, а затем создается сам loadbalancer. Первые два фрагменты предназначены для создания конфигурации подсети и VNET с этой конфигурацией:

$backendSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24 

$vnet= New-AzureRmVirtualNetwork -Name NRPVNet -ResourceGroupName NRP-RG -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $backendSubnet 

Это включен, так как следующий шаг (создание внешнего интерфейсом IP Config) требует subnetID в качестве входных данных. Если у вас уже есть VNET с подсети для использования, вы можете заменить две строки выше

$vnet = Get-AzureRmVirtualNetwork -Name YourNetwork -ResourceGroupName YourRG 

Остальные шаги будут тогда, предполагая, что вы с внешнего интерфейса IP, чтобы быть на первой подсети ваш VNET и IP-пространство, используемое в образце соответствует одному на вашем VNET:

$frontendIP = New-AzureRmLoadBalancerFrontendIpConfig -Name LB-Frontend -PrivateIpAddress 10.0.2.5 -SubnetId $vnet.subnets[0].Id 

$beaddresspool= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "LB-backend" 
$inboundNATRule1= New-AzureRmLoadBalancerInboundNatRuleConfig -Name "RDP1" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3441 -BackendPort 3389 

$inboundNATRule2= New-AzureRmLoadBalancerInboundNatRuleConfig -Name "RDP2" -FrontendIpConfiguration $frontendIP -Protocol TCP -FrontendPort 3442 -BackendPort 3389 

$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "HealthProbe" -RequestPath "HealthProbe.aspx" -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2 

$lbrule = New-AzureRmLoadBalancerRuleConfig -Name "HTTP" -FrontendIpConfiguration $frontendIP -BackendAddressPool $beAddressPool -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 
$NRPLB = New-AzureRmLoadBalancer -ResourceGroupName "NRP-RG" -Name "NRP-LB" -Location "West US" -FrontendIpConfiguration $frontendIP -InboundNatRule $inboundNATRule1,$inboundNatRule2 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe 

Предполагая, что бэкенд сетевые карты уже созданы, используйте следующий код для каждой сетевой карты, чтобы добавить их к loadbalancer бэкэнд бассейна:

$lb= Get-AzureRmLoadBalancer –name NRP-LB -resourcegroupname NRP-RG 
$backend= Get-AzureRmLoadBalancerBackendAddressPoolConfig -name backendpool1 -LoadBalancer $lb 

$nic=Get-AzureRmNetworkInterface –name lb-nic1-be -resourcegroupname NRP-RG 
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools=$backend 
Set-AzureRmNetworkInterface -NetworkInterface $nic 
+0

В настоящее время у меня есть мои персонажи в передней части моего VN. Я предположил, что цель состоит в том, что передним концом был прикладной уровень, а задний конец можно было использовать для чего-то вроде уровня базы данных. В этом случае я бы использовал только интерфейс. Мое веб-приложение, чтобы быть ясным, не является частью VN. Вот почему я хотел создать Point-to-Site. Я предположил, что у меня может быть lb в передней части VN, и оттуда направлять запросы к виртуальным машинам. Это то, о чем я думал, подразумевалось в изображении статьи. Нужно ли мне иметь один ник на передней панели, а затем lb для перехода на задний план? – John

+0

Что вы подразумеваете под «передней частью моего VN»? Это подсеть? Термины frontend и backend в контексте балансировки нагрузки не имеют ничего общего с макетом приложения (backends/databases/etc), а скорее с тем фактом, что loadbalancer получает запросы на интерфейсе и перенаправляет их на сетевые интерфейсы, связанные с его бэкэнд-пулом. Эта настройка loadbalancer может быть в любом месте vnet. – Niels

 Смежные вопросы

  • Нет связанных вопросов^_^