Démarrage rapide : Créer un service Private Link en utilisant Azure PowerShell
Commencez à créer un service Private Link qui fait référence à votre service. Accordez à Private Link un accès à votre service ou ressource déployé(e) derrière Azure Standard Load Balancer. Les utilisateurs de votre service ont un accès privé à partir de leur réseau virtuel.
Prérequis
Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Azure Cloud Shell ou Azure PowerShell.
Les étapes de ce démarrage rapide exécutent les applets de commande Azure PowerShell de manière interactive dans Azure Cloud Shell. Pour exécuter les commandes dans le Cloud Shell, sélectionnez Ouvrir Cloudshell dans le coin supérieur droit d’un bloc de code. Sélectionnez Copier pour copier le code, puis collez-le dans Cloud Shell pour l’exécuter. Vous pouvez également exécuter le Cloud Shell à partir du Portail Azure.
Vous pouvez également installer Azure PowerShell localement pour exécuter les applets de commande. Les étapes de cet article nécessitent le module Azure PowerShell version 5.4.1 ou ultérieure. Exécutez
Get-Module -ListAvailable Az
pour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Mise à jour d’Azure PowerShell.Si vous exécutez PowerShell localement, exécutez
Connect-AzAccount
pour vous connecter à Azure.
Créer un groupe de ressources
Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.
Créez un groupe de ressources avec New-AzResourceGroup :
New-AzResourceGroup -Name 'test-rg' -Location 'eastus2'
Créer un équilibrage de charge interne
Dans cette section, vous allez créer un réseau virtuel et un Azure Load Balancer interne.
Réseau virtuel
Dans cette section, vous allez créer un réseau virtuel et un sous-réseau pour héberger l’équilibreur de charge qui accède à votre service Private Link.
- Créez un réseau virtuel avec 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
Créer un équilibreur de charge standard
Cette section explique en détail comment vous pouvez créer et configurer les composants suivants de l’équilibreur de charge :
Créez une IP front-end avec New-AzLoadBalancerFrontendIpConfig pour le pool d’IP front-end. Cette adresse IP reçoit le trafic entrant sur l’équilibreur de charge.
Créez un pool d’adresses back-end avec New-AzLoadBalancerBackendAddressPoolConfig pour le trafic envoyé à partir du front-end de l’équilibreur de charge. Ce pool est l’emplacement où vos machines virtuelles de back-end sont déployées.
Créez une sonde d’intégrité avec Add-AzLoadBalancerProbeConfig qui détermine l’intégrité des instances de machine virtuelle du back-end.
Créez une règle d’équilibreur de charge avec Add-AzLoadBalancerRuleConfig qui définit la façon dont le trafic est distribué aux machines virtuelles.
Créez un équilibreur de charge public avec 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
Désactiver la stratégie réseau
Avant de pouvoir créer un service de liaison privée dans le réseau virtuel, le paramètre privateLinkServiceNetworkPolicies
doit être désactivé.
- Désactivez la stratégie réseau avec 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
Créer un service Private Link
Dans cette section, créez un service de liaison privée qui utilise l’équilibreur de charge Azure Standard créé à l’étape précédente.
Créez la configuration IP du service de liaison privée en utilisant la commande New-AzPrivateLinkServiceIpConfig.
Créez le service de liaison privée en utilisant la commande 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
Votre service de liaison privée est créé et peut recevoir du trafic. Si vous voulez voir les flux de trafic, configurez votre application derrière votre équilibreur de charge standard.
Créer un point de terminaison privé
Dans cette section, vous allez mapper le service de liaison privée à un point de terminaison privé. Un réseau virtuel contient le point de terminaison privé pour le service de liaison privée. Ce réseau virtuel contient les ressources qui auront accès à votre service de liaison privée.
Créer un réseau virtuel de point de terminaison privé
- Créez un réseau virtuel avec 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
Créer un point de terminaison et une connexion
Utilisez Get-AzPrivateLinkService pour placer la configuration du service de liaison privée créé plus tôt dans une variable en vue d’une utilisation ultérieure.
Utilisez New-AzPrivateLinkServiceConnection pour créer la configuration de la connexion.
Utilisez New-AzPrivateEndpoint pour créer le point de terminaison.
## 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
Approuver la connexion Private Endpoint
Dans cette section, vous allez approuver la connexion que vous avez créée lors des étapes précédentes.
- Utilisez Approve-AzPrivateEndpointConnection pour approuver la connexion.
## 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
Adresse IP du point de terminaison privé
Dans cette section, vous trouverez l’adresse IP du point de terminaison privé qui correspond à l’équilibreur de charge et au service de liaison privée.
- Utilisez Get-AzPrivateEndpoint pour récupérer l’adresse 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
Nettoyer les ressources
Lorsque vous n'en avez plus besoin, vous pouvez utiliser la commande Remove-AzResourceGroup pour supprimer le groupe de ressources, l'équilibreur de charge et les ressources restantes.
Remove-AzResourceGroup -Name 'test-rg'
Étapes suivantes
Dans ce guide de démarrage rapide, vous :
Avez créé un réseau virtuel et un Azure Load Balancer interne.
Avez créé un service de liaison privée.
Pour en savoir plus sur le point de terminaison privé Azure, passez à :