Inicio rápido: Creación de un servicio Private Link mediante Azure PowerShell
Introducción a la creación de un servicio Private Link que hace referencia a su servicio. Proporcione acceso de Private Link a su servicio o recurso implementado detrás de una instancia de Standard Load Balancer de Azure. Los usuarios del servicio tienen acceso privado desde su red virtual.
Requisitos previos
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Azure Cloud Shell o Azure PowerShell.
Los pasos de este inicio rápido ejecutarán los cmdlet de Azure PowerShell de forma interactiva en Azure Cloud Shell. Para ejecutar los comandos en Cloud Shell, seleccione Abrir CloudShell en la esquina superior derecha de un bloque de código. Seleccione Copiar para copiar el código y péguelo, a continuación, en Cloud Shell para ejecutarlo. También podrá ejecutar Cloud Shell desde Azure Portal.
También podrá instalar Azure PowerShell localmente para ejecutar los cmdlet. Los pasos descritos en este artículo requieren el módulo Azure PowerShell versión 5.4.1 o posterior. Ejecute
Get-Module -ListAvailable Az
para buscar la versión instalada. Si necesitase actualizarlo, consulte Instalación del módulo Azure PowerShell.Si ejecutase PowerShell localmente, ejecute
Connect-AzAccount
para conectarse a Azure.
Crear un grupo de recursos
Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.
Cree un grupo de recursos con New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Creación de un conjunto de equilibrador de carga interno
En esta sección, va a crear una red virtual y una instancia de Azure Load Balancer interna.
Virtual network
En esta sección, va a crear una red virtual y una subred para hospedar el equilibrador de carga que accede al servicio Private Link.
- Cree una red virtual con 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
Creación de un equilibrador de carga estándar
En esta sección se detalla cómo se pueden crear y configurar los componentes siguientes del equilibrador de carga:
Cree una dirección IP de front-end con New-AzLoadBalancerFrontendIpConfig para el grupo de direcciones IP de front-end. Esta dirección IP recibe el tráfico entrante en el equilibrador de carga.
Cree un grupo de direcciones de back-end con New-AzLoadBalancerBackendAddressPoolConfig para el tráfico que se envía desde el front-end del equilibrador de carga. Este grupo es donde se implementan las máquinas virtuales de back-end.
Cree un sondeo de estado con Add-AzLoadBalancerProbeConfig que determine el estado de máquinas virtuales de back-end.
Cree una regla de equilibrador de carga con Add-AzLoadBalancerRuleConfig que defina cómo se distribuye el tráfico a las máquinas virtuales.
Cree un equilibrador de carga público con 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
Deshabilitar la directiva de red
Para poder crear un servicio de vínculo privado en la red virtual, se debe deshabilitar la configuración privateLinkServiceNetworkPolicies
.
- Deshabilite la directiva de red con 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
Creación de un servicio Private Link
En esta sección, creará un servicio de vínculo privado que use una instancia de Standard Azure Load Balancer creada en el paso anterior.
Cree la configuración de IP del servicio de vínculo privado con New-AzPrivateLinkServiceIpConfig.
Cree el servicio de vínculo privado con 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
El servicio de vínculo privado se crea y puede recibir tráfico. Si desea ver los flujos de tráfico, configure la aplicación detrás de la instancia local de Standard Load Balancer.
Creación de un punto de conexión privado
En esta sección, asignará el servicio Private Link a un punto de conexión privado. Una red virtual contiene el punto de conexión privado para el servicio de vínculo privado. Esta red virtual contiene los recursos que acceden al servicio Private Link.
Creación de una red virtual de punto de conexión privado
- Cree una red virtual con 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
Creación de un punto de conexión y una conexión
Use Get-AzPrivateLinkService para colocar la configuración del servicio de vínculo privado que creó antes en una variable para su uso posterior.
Use New-AzPrivateLinkServiceConnection para crear la configuración de conexión.
Use New-AzPrivateEndpoint para crear el punto de conexión.
## 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
Aprobación de la conexión del punto de conexión privado
En esta sección, aprobará la conexión que creó en los pasos anteriores.
- Use APPROVE-AzPrivateEndpointConnection para aprobar la conexión.
## 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
Dirección IP del punto de conexión privado
En esta sección, encontrará la dirección IP del punto de conexión privado que se corresponde con el equilibrador de carga y el servicio de vínculo privado.
- Use Get-AzPrivateEndpoint para recuperar la dirección 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
Limpieza de recursos
Cuando ya no los necesite, puede usar el comando Remove-AzResourceGroup para quitar el grupo de recursos, el equilibrador de carga y el resto de los recursos.
Remove-AzResourceGroup -Name 'test-rg'
Pasos siguientes
En esta guía de inicio rápido:
Ha creado una red virtual y una instancia interna de Azure Load Balancer.
Ha creado un servicio Private Link.
Para más información sobre el punto de conexión privado de Azure, continúe a