Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начните с создания службы Private Link, связанной с вашей службой. Предоставьте доступ через Private Link к вашей службе или ресурсу, развернутым за стандартным балансировщиком нагрузки Azure. Пользователи службы имеют закрытый доступ из своей виртуальной сети.
Предпосылки
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Azure Cloud Shell или Azure PowerShell.
The steps in this quickstart run the Azure PowerShell cmdlets interactively in Azure Cloud Shell. Чтобы выполнить команды в Cloud Shell, выберите Open Cloudshell в правом верхнем углу блока кода. Выберите "Копировать", чтобы скопировать код, а затем вставьте его в Cloud Shell, чтобы запустить его. Вы также можете запустить Cloud Shell из портала Azure.
Вы также можете установить Azure PowerShell локально для выполнения командлетов. Для действий, описанных в этой статье, требуется модуль Azure PowerShell версии 5.4.1 или более поздней. Выполните
Get-Module -ListAvailable Az
, чтобы узнать установленную версию. Если вам нужно обновить модуль Azure PowerShell, см. статью Обновление модуля Azure PowerShell.Если вы запускаете PowerShell локально, выполните команду
Connect-AzAccount
для подключения к Azure.
Создайте группу ресурсов
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.
Create a resource group with New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Создание внутреннего балансировщика нагрузки
В этом разделе описано, как создать виртуальную сеть и внутреннюю подсистему балансировки нагрузки Azure.
Виртуальная сеть
В этом разделе вы создаете виртуальную сеть и подсеть для размещения балансировщика нагрузки, который обращается к службе Private Link.
- Создайте виртуальную сеть с помощью New-AzVirtualNetwork.
## Create backend subnet config ##
$subnet = @{
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
Subnet = $subnetConfig
}
$vnet = New-AzVirtualNetwork @net
Создание стандартной подсистемы балансировки нагрузки
В этом разделе описано, как создать и настроить следующие компоненты подсистемы балансировки нагрузки:
Создайте внешний IP-адрес с помощью New-AzLoadBalancerFrontendIpConfig для пула внешних IP-адресов. Этот IP-адрес получает входящий трафик в подсистеме балансировки нагрузки.
Create a back-end address pool with New-AzLoadBalancerBackendAddressPoolConfig for traffic sent from the frontend of the load balancer. This pool is where your backend virtual machines are deployed.
Создайте проверку состояния с использованием Add-AzLoadBalancerProbeConfig, которая определяет работоспособность всех экземпляров серверных виртуальных машин.
Создайте правило балансировщика нагрузки с помощью Add-AzLoadBalancerRuleConfig, которое определяет, как распределяется трафик на виртуальные машины.
Создайте общедоступную подсистему балансировки нагрузки с помощью New-AzLoadBalancer.
## Place virtual network created in previous step into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
## Create load balancer frontend configuration and place in variable. ##
$lbip = @{
Name = 'frontend'
PrivateIpAddress = '10.0.0.4'
SubnetId = $vnet.subnets[0].Id
}
$feip = New-AzLoadBalancerFrontendIpConfig @lbip
## Create backend address pool configuration and place in variable. ##
$bepool = New-AzLoadBalancerBackendAddressPoolConfig -Name 'backend-pool'
## Create the health probe and place in variable. ##
$probe = @{
Name = 'health-probe'
Protocol = 'http'
Port = '80'
IntervalInSeconds = '360'
ProbeCount = '5'
RequestPath = '/'
}
$healthprobe = New-AzLoadBalancerProbeConfig @probe
## Create the load balancer rule and place in variable. ##
$lbrule = @{
Name = 'http-rule'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
IdleTimeoutInMinutes = '15'
FrontendIpConfiguration = $feip
BackendAddressPool = $bePool
}
$rule = New-AzLoadBalancerRuleConfig @lbrule -EnableTcpReset
## Create the load balancer resource. ##
$loadbalancer = @{
ResourceGroupName = 'test-rg'
Name = 'load-balancer'
Location = 'eastus2'
Sku = 'Standard'
FrontendIpConfiguration = $feip
BackendAddressPool = $bePool
LoadBalancingRule = $rule
Probe = $healthprobe
}
New-AzLoadBalancer @loadbalancer
Отключение политики сети
Перед созданием службы приватного канала в виртуальной сети необходимо отключить параметр privateLinkServiceNetworkPolicies
.
- Отключите политику сети с помощью Set-AzVirtualNetwork.
## Place the subnet name into a variable. ##
$subnet = 'subnet-1'
## Place the virtual network configuration into a variable. ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Set the policy as disabled on the virtual network. ##
($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq $subnet}).privateLinkServiceNetworkPolicies = "Disabled"
## Save the configuration changes to the virtual network. ##
$vnet | Set-AzVirtualNetwork
Создать службу частной ссылки
In this section, create a private link service that uses the Standard Azure Load Balancer created in the previous step.
Создайте конфигурацию IP службы приватного канала с New-AzPrivateLinkServiceIpConfig.
Create the private link service with New-AzPrivateLinkService.
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
## Create the IP configuration for the private link service. ##
$ipsettings = @{
Name = 'ipconfig-1'
PrivateIpAddress = '10.0.0.5'
Subnet = $vnet.subnets[0]
}
$ipconfig = New-AzPrivateLinkServiceIpConfig @ipsettings
## Place the load balancer frontend configuration into a variable. ##
$par = @{
Name = 'load-balancer'
ResourceGroupName = 'test-rg'
}
$fe = Get-AzLoadBalancer @par | Get-AzLoadBalancerFrontendIpConfig
## Create the private link service for the load balancer. ##
$privlinksettings = @{
Name = 'private-link-service'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
LoadBalancerFrontendIpConfiguration = $fe
IpConfiguration = $ipconfig
}
New-AzPrivateLinkService @privlinksettings
Ваша служба частного подключения создана и может принимать трафик. Если вы хотите просмотреть потоки трафика, настройте приложение за стандартной системой балансировки нагрузки.
Создание частной конечной точки
В этом разделе вы сопоставляете службу приватной ссылки с частной конечной точкой. Виртуальная сеть содержит частную конечную точку для сервиса Private Link. This virtual network contains the resources that access your private link service.
Создание виртуальной сети с частной конечной точкой
- Создайте виртуальную сеть с помощью New-AzVirtualNetwork.
## Create backend subnet config ##
$subnet = @{
Name = 'subnet-pe'
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$net = @{
Name = 'vnet-pe'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.1.0.0/16'
Subnet = $subnetConfig
}
$vnetpe = New-AzVirtualNetwork @net
Создание конечной точки и подключения
Используйте Get-AzPrivateLinkService , чтобы разместить конфигурацию службы приватного канала, созданной на раннем этапе в переменную для последующего использования.
Чтобы создать конфигурацию подключения, используйте New-AzPrivateLinkServiceConnection .
Чтобы создать конечную точку, используйте New-AzPrivateEndpoint .
## Place the private link service configuration into variable. ##
$par1 = @{
Name = 'private-link-service'
ResourceGroupName = 'test-rg'
}
$pls = Get-AzPrivateLinkService @par1
## Create the private link configuration and place in variable. ##
$par2 = @{
Name = 'connection-1'
PrivateLinkServiceId = $pls.Id
}
$plsConnection = New-AzPrivateLinkServiceConnection @par2
## Place the virtual network into a variable. ##
$par3 = @{
Name = 'vnet-pe'
ResourceGroupName = 'test-rg'
}
$vnetpe = Get-AzVirtualNetwork @par3
## Create private endpoint ##
$par4 = @{
Name = 'private-endpoint'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnetpe.subnets[0]
PrivateLinkServiceConnection = $plsConnection
}
New-AzPrivateEndpoint @par4 -ByManualRequest
Утвердите подключение частной конечной точки
В этом разделе описано, как утвердить соединение, созданное на предыдущих шагах.
- Используйте Approve-AzPrivateEndpointConnection для утверждения подключения.
## Place the private link service configuration into variable. ##
$par1 = @{
Name = 'private-link-service'
ResourceGroupName = 'test-rg'
}
$pls = Get-AzPrivateLinkService @par1
$par2 = @{
Name = $pls.PrivateEndpointConnections[0].Name
ServiceName = 'private-link-service'
ResourceGroupName = 'test-rg'
Description = 'Approved'
PrivateLinkResourceType = 'Microsoft.Network/privateLinkServices'
}
Approve-AzPrivateEndpointConnection @par2
IP-адрес частной конечной точки
В этом разделе вы найдете IP-адрес частной конечной точки, которая соответствует службе балансировки нагрузки и службы приватного канала.
- Используйте Get-AzPrivateEndpoint для получения IP-адреса .
## Get private endpoint and the IP address and place in a variable for display. ##
$par1 = @{
Name = 'private-endpoint'
ResourceGroupName = 'test-rg'
ExpandResource = 'networkinterfaces'
}
$pe = Get-AzPrivateEndpoint @par1
## Display the IP address by expanding the variable. ##
$pe.NetworkInterfaces[0].IpConfigurations[0].PrivateIpAddress
❯ $pe.NetworkInterfaces[0].IpConfigurations[0].PrivateIpAddress
10.1.0.4
Очистка ресурсов
Когда в них больше нет необходимости, вы можете использовать командлет Remove-AzResourceGroup, чтобы удалить группу ресурсов, подсистему балансировки нагрузки и все оставшиеся ресурсы.
Remove-AzResourceGroup -Name 'test-rg'
Дальнейшие действия
In this quickstart, you:
Создали виртуальную сеть и внутренний Azure Load Balancer.
Создание сервиса частных ссылок
Чтобы узнать больше о частной конечной точке Azure, ознакомьтесь со следующей статьей: