Guia de início rápido: criar um serviço de Link Privado usando o Azure PowerShell
Comece a criar um serviço Private Link que se refira ao seu serviço. Dê acesso ao Link Privado ao seu serviço ou recurso implantado atrás de um Balanceador de Carga Padrão do Azure. Os utilizadores do seu serviço têm acesso privado a partir da sua rede virtual.
Pré-requisitos
Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
Azure Cloud Shell ou Azure PowerShell.
As etapas neste início rápido executam os cmdlets do Azure PowerShell interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Abrir Cloudshell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e cole-o no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell de dentro do portal do Azure.
Você também pode instalar o Azure PowerShell localmente para executar os cmdlets. As etapas neste artigo exigem o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute
Get-Module -ListAvailable Az
para encontrar a versão instalada. Se você precisar atualizar, consulte Atualizar o módulo do Azure PowerShell.Se você executar o PowerShell localmente, execute
Connect-AzAccount
para se conectar 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.
Crie um grupo de recursos com New-AzResourceGroup:
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Criar um balanceador de carga interno
Nesta seção, você cria uma rede virtual e um Balanceador de Carga do Azure interno.
Rede virtual
Nesta seção, você cria uma rede virtual e uma sub-rede para hospedar o balanceador de carga que acessa seu serviço de Link Privado.
- 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 padrão
Esta secção descreve como pode criar e configurar os seguintes componentes do balanceador de carga:
Crie um IP front-end com New-AzLoadBalancerFrontendIpConfig para o pool de IP frontend. Este IP recebe o tráfego de entrada no balanceador de carga
Crie um pool de endereços back-end com New-AzLoadBalancerBackendAddressPoolConfig para o tráfego enviado do front-end do balanceador de carga. Esse pool é onde suas máquinas virtuais de back-end são implantadas.
Crie uma sonda de integridade com Add-AzLoadBalancerProbeConfig que determina a integridade das instâncias de VM de back-end.
Crie uma regra de balanceador de carga com Add-AzLoadBalancerRuleConfig que define 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 a política de rede
Antes que um serviço de link privado possa ser criado na rede virtual, a configuração privateLinkServiceNetworkPolicies
deve ser desabilitada.
- 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 link privado
Nesta seção, crie um serviço de link privado que use o Balanceador de Carga do Azure Standard criado na etapa anterior.
Crie a configuração IP do serviço de link privado com New-AzPrivateLinkServiceIpConfig.
Crie o serviço de link privado 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
Seu serviço de link privado é criado e pode receber tráfego. Se você quiser ver fluxos de tráfego, configure seu aplicativo atrás do balanceador de carga padrão.
Criar ponto de extremidade privado
Nesta seção, você mapeia o serviço de link privado para um ponto de extremidade privado. Uma rede virtual contém o ponto de extremidade privado para o serviço de link privado. Esta rede virtual contém os recursos que acedem ao seu serviço de ligação privada.
Criar rede virtual de ponto de extremidade privada
- 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 de extremidade e conexão
Use Get-AzPrivateLinkService para colocar a configuração do serviço de link privado que você criou anteriormente em uma variável para uso posterior.
Use New-AzPrivateLinkServiceConnection para criar a configuração de conexão.
Use New-AzPrivateEndpoint para criar o ponto de extremidade.
## 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 conexão de ponto de extremidade privado
Nesta seção, você aprova a conexão criada nas etapas anteriores.
- Use Approve-AzPrivateEndpointConnection para aprovar a conexã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 de extremidade privado
Nesta seção, você encontra o endereço IP do ponto de extremidade privado que corresponde ao balanceador de carga e ao serviço de link privado.
- Use Get-AzPrivateEndpoint para recuperar 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
Clean up resources (Limpar recursos)
Quando não for mais necessário, você poderá usar o comando Remove-AzResourceGroup para remover o grupo de recursos, o balanceador de carga e os recursos restantes.
Remove-AzResourceGroup -Name 'test-rg'
Próximos passos
Neste início rápido, irá:
Criou uma rede virtual e um Balanceador de Carga do Azure interno.
Criou um serviço de link privado
Para saber mais sobre o ponto de extremidade privado do Azure, continue: