Início Rápido: Criar um serviço de Private Link com o Azure PowerShell
Comece a criar um serviço Private Link que se refira ao seu serviço. Dê Private Link acesso ao seu serviço ou recurso implementado atrás de um Balanceador de Carga Standard do Azure. Os utilizadores do seu serviço têm acesso privado a partir da respetiva rede virtual.
Pré-requisitos
Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
Azure Cloud Shell ou Azure PowerShell.
Os passos neste início rápido executam os cmdlets Azure PowerShell interativamente no Azure Cloud Shell. Para executar os comandos na Cloud Shell, selecione Abrir Cloudshell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e, em seguida, cole-o no Cloud Shell para executá-lo. Também pode executar o Cloud Shell a partir do portal do Azure.
Também pode instalar Azure PowerShell localmente para executar os cmdlets. Os passos neste artigo requerem Azure PowerShell versão 5.4.1 ou posterior do módulo. Execute
Get-Module -ListAvailable Az
para localizar a versão instalada. Se precisar de atualizar, consulte Atualizar o módulo Azure PowerShell.Se executar o PowerShell localmente, execute
Connect-AzAccount
para ligar ao Azure.
Criar um grupo de recursos
Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
Criar um grupo de recursos com New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Criar um balanceador de carga interno
Nesta secção, vai criar uma rede virtual e uma Balanceador de Carga do Azure interna.
Rede virtual
Nesta secção, vai criar uma rede virtual e uma sub-rede para alojar o balanceador de carga que acede ao seu serviço Private Link.
- Crie uma rede virtual com 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
Criar balanceador de carga standard
Esta secção descreve como pode criar e configurar os seguintes componentes do balanceador de carga:
Crie um IP de front-end com New-AzLoadBalancerFrontendIpConfig para o conjunto IP de front-end. Este IP recebe o tráfego de entrada no balanceador de carga
Crie um conjunto de endereços de back-end com New-AzLoadBalancerBackendAddressPoolConfig para o tráfego enviado a partir do front-end do balanceador de carga. É neste conjunto que as máquinas virtuais de back-end são implementadas.
Crie uma sonda de estado de funcionamento com Add-AzLoadBalancerProbeConfig que determina o estado de funcionamento das instâncias da VM de back-end.
Crie uma regra de balanceador de carga com Add-AzLoadBalancerRuleConfig que defina a forma como o tráfego é distribuído para as VMs.
Crie um balanceador de carga público com 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
Desativar política de rede
Antes de um serviço de ligação privada poder ser criado na rede virtual, a definição privateLinkServiceNetworkPolicies
tem de ser desativada.
- Desative a política de rede com 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
Criar um serviço de ligação privada
Nesta secção, crie um serviço de ligação privada que utilize o Balanceador de Carga do Azure Standard criado no passo anterior.
Crie a configuração de IP do serviço de ligação privada com New-AzPrivateLinkServiceIpConfig.
Crie o serviço de ligação privada com 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
O seu serviço de ligação privada é criado e pode receber tráfego. Se quiser ver fluxos de tráfego, configure a aplicação por trás do balanceador de carga padrão.
Criar ponto final privado
Nesta secção, vai mapear o serviço de ligação privada para um ponto final privado. Uma rede virtual contém o ponto final privado do serviço de ligação privada. Esta rede virtual contém os recursos que acedem ao seu serviço de ligação privada.
Criar rede virtual de ponto final privado
- Crie uma rede virtual com 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
Criar ponto final e ligação
Utilize Get-AzPrivateLinkService para colocar a configuração do serviço de ligação privada que criou numa variável para utilização posterior.
Utilize New-AzPrivateLinkServiceConnection para criar a configuração da ligação.
Utilize New-AzPrivateEndpoint para criar o ponto final.
## 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
Aprovar a ligação de ponto final privado
Nesta secção, vai aprovar a ligação que criou nos passos anteriores.
- Utilize Approve-AzPrivateEndpointConnection para aprovar a ligação.
## 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
Endereço IP do ponto final privado
Nesta secção, encontrará o endereço IP do ponto final privado que corresponde ao balanceador de carga e ao serviço de ligação privada.
- Utilize Get-AzPrivateEndpoint para obter o endereço 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
Limpar os recursos
Quando já não for necessário, pode utilizar o comando Remove-AzResourceGroup para remover o grupo de recursos, o balanceador de carga e os recursos restantes.
Remove-AzResourceGroup -Name 'test-rg'
Passos seguintes
Neste início rápido, irá:
Criou uma rede virtual e Balanceador de Carga do Azure internos.
Criou um serviço de ligação privada
Para saber mais sobre o Ponto final privado do Azure, continue para: