Démarrage rapide : Créer un point de terminaison privé en utilisant Azure PowerShell
Démarrez avec Azure Private Link en créant et utilisant un point de terminaison privé pour vous connecter en toute sécurité à une application web Azure.
Dans ce guide de démarrage rapide, créez un point de terminaison privé pour une application web Azure App Services, puis créez et déployez une machine virtuelle (VM) pour tester la connexion privée.
Vous pouvez créer des points de terminaison privés pour divers services Azure, tels qu’Azure SQL et Stockage Azure.
Prérequis
Compte Azure avec un abonnement actif. Si vous n’avez pas encore de compte Azure, créez-en un gratuitement.
Une application web Azure avec un niveau PremiumV2 ou un plan App Service supérieur déployé dans votre abonnement Azure.
Pour plus d’informations et pour obtenir un exemple, consultez Démarrage rapide : Créer une application web ASP.NET Core dans Azure.
L'exemple d'application web de cet article est nommé webapp-1. Remplacez l’exemple par le nom de votre application web.
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 :
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Créez un réseau virtuel
Utilisez New-AzVirtualNetwork pour créer un réseau virtuel nommé vnet-1 avec le préfixe d’adresse IP 10.0.0.0/16 dans le groupe de ressources test-rg et l’emplacement eastus2.
$vnet = @{ Name = 'vnet-1' ResourceGroupName = 'test-rg' Location = 'eastus2' AddressPrefix = '10.0.0.0/16' } $virtualNetwork = New-AzVirtualNetwork @vnet
Azure déploie des ressources vers un sous-réseau au sein d’un réseau virtuel. Utilisez Add-AzVirtualNetworkSubnetConfig pour créer une configuration de sous-réseau nommée subnet-1 avec un préfixe d’adresse 10.0.0.0/24.
$subnet = @{ Name = 'subnet-1' VirtualNetwork = $virtualNetwork AddressPrefix = '10.0.0.0/24' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Associez ensuite la configuration du sous-réseau au réseau virtuel à l’aide de Set-AzVirtualNetwork.
$virtualNetwork | Set-AzVirtualNetwork
Déployer Azure Bastion
Azure Bastion utilise votre navigateur web pour se connecter aux machines virtuelles de votre réseau virtuel au moyen de SSH (Secure Shell) ou RDP (Remote Desktop Protocol) à l’aide de leurs adresses IP privées. Les machines virtuelles ne requièrent pas d’adresse IP publique, de logiciel client ou de configuration spéciale. Pour plus d’informations sur Azure Bastion, voir Azure Bastion.
Remarque
Le tarif horaire commence à partir du moment où Bastion est déployé, quelle que soit l’utilisation des données sortantes. Pour plus d’informations, consultez Tarifications et Références SKU. Si vous déployez Bastion dans le cadre d’un tutoriel ou d’un test, nous vous recommandons de supprimer cette ressource après l’avoir utilisée.
Configurez le sous-réseau Azure Bastion pour votre réseau virtuel. Ce sous-réseau est exclusivement réservé aux ressources Azure Bastion et doit être nommé AzureBastionSubnet.
$subnet = @{ Name = 'AzureBastionSubnet' VirtualNetwork = $virtualNetwork AddressPrefix = '10.0.1.0/26' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Définissez la configuration.
$virtualNetwork | Set-AzVirtualNetwork
Créez une adresse IP publique pour Azure Bastion. L’hôte bastion utilise l’adresse IP publique pour accéder au protocole SSH(Secure Shell) et au protocole RDP sur le port 443.
$ip = @{ ResourceGroupName = 'test-rg' Name = 'public-ip' Location = 'eastus2' AllocationMethod = 'Static' Sku = 'Standard' Zone = 1,2,3 } New-AzPublicIpAddress @ip
Utilisez la commande New-AzBastion pour créer un hôte Azure Bastion de référence SKU Standard dans AzureBastionSubnet.
$bastion = @{ Name = 'bastion' ResourceGroupName = 'test-rg' PublicIpAddressRgName = 'test-rg' PublicIpAddressName = 'public-ip' VirtualNetworkRgName = 'test-rg' VirtualNetworkName = 'vnet-1' Sku = 'Basic' } New-AzBastion @bastion
Le déploiement des ressources Bastion prend environ 10 minutes.
Créer un Private Endpoint
Un service Azure qui prend en charge les points de terminaison privés est nécessaire pour configurer le point de terminaison privé et la connexion au réseau virtuel. Pour obtenir les exemples de cet article, nous utilisons une application web Azure à partir des conditions préalables. Pour plus d’informations sur les services Azure qui prennent en charge un point de terminaison privé, consultez Disponibilité d’Azure Private Link.
Un point de terminaison privé peut avoir une adresse IP statique ou affectée dynamiquement.
Important
Vous devez avoir une WebApp Azure App Services précédemment déployée pour procéder aux étapes de cet article. Pour plus d’informations, consultez Prérequis.
Dans cette section, vous allez :
Créez une connexion de service de liaison privée avec New-AzPrivateLinkServiceConnection.
Créez le point de terminaison privé avec New-AzPrivateEndpoint.
Si vous le souhaitez, créez la configuration IP statique du point de terminaison privé avec New-AzPrivateEndpointIpConfiguration.
## Place the previously created webapp into a variable. ##
$webapp = Get-AzWebApp -ResourceGroupName test-rg -Name webapp-1
## Create the private endpoint connection. ##
$pec = @{
Name = 'connection-1'
PrivateLinkServiceId = $webapp.ID
GroupID = 'sites'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @pec
## Place the virtual network you created previously into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
## Create the private endpoint. ##
$pe = @{
ResourceGroupName = 'test-rg'
Name = 'private-endpoint'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
PrivateLinkServiceConnection = $privateEndpointConnection
}
New-AzPrivateEndpoint @pe
Configurer la zone DNS privée
Une zone DNS privée est utilisée pour résoudre le nom DNS du point de terminaison privé dans le réseau virtuel. Pour cet exemple, nous utilisons les informations DNS pour une application web Azure. Pour plus d’informations sur la configuration DNS des points de terminaison privés, consultez Configuration DNS des points de terminaison privés Azure.
Dans cette section, vous allez :
Créer une zone DNS Azure privée avec New-AzPrivateDnsZone
Lier la zone DNS au réseau virtuel que vous avez créé précédemment avec New-AzPrivateDnsVirtualNetworkLink
Créer une configuration de zone DNS avec New-AzPrivateDnsZoneConfig
Créer un groupe de zones DNS avec New-AzPrivateDnsZoneGroup
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'
## Create the private DNS zone. ##
$zn = @{
ResourceGroupName = 'test-rg'
Name = 'privatelink.azurewebsites.net'
}
$zone = New-AzPrivateDnsZone @zn
## Create a DNS network link. ##
$lk = @{
ResourceGroupName = 'test-rg'
ZoneName = 'privatelink.azurewebsites.net'
Name = 'dns-link'
VirtualNetworkId = $vnet.Id
}
$link = New-AzPrivateDnsVirtualNetworkLink @lk
## Configure the DNS zone. ##
$cg = @{
Name = 'privatelink.azurewebsites.net'
PrivateDnsZoneId = $zone.ResourceId
}
$config = New-AzPrivateDnsZoneConfig @cg
## Create the DNS zone group. ##
$zg = @{
ResourceGroupName = 'test-rg'
PrivateEndpointName = 'private-endpoint'
Name = 'zone-group'
PrivateDnsZoneConfig = $config
}
New-AzPrivateDnsZoneGroup @zg
Créer une machine virtuelle de test
Pour vérifier l’adresse IP statique et les fonctionnalités du point de terminaison privé, une machine virtuelle de test connectée à votre réseau virtuel est requise.
Dans cette section, vous allez :
Créer des informations d’identification de connexion pour la machine virtuelle avec Get-Credential
Créez une interface réseau avec New-AzNetworkInterface pour la machine virtuelle
Créer une configuration de machine virtuelle avec New-AzVMConfig, Set-AzVMOperatingSystem, Set-AzVMSourceImage et Add-AzVMNetworkInterface
Créez la machine virtuelle avec New-AzVM
## Create the credential for the virtual machine. Enter a username and password at the prompt. ##
$cred = Get-Credential
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name vnet-1 -ResourceGroupName test-rg
## Create a network interface for the virtual machine. ##
$nic = @{
Name = 'nic-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create the configuration for the virtual machine. ##
$vm1 = @{
VMName = 'vm-1'
VMSize = 'Standard_DS1_v2'
}
$vm2 = @{
ComputerName = 'vm-1'
Credential = $cred
}
$vm3 = @{
PublisherName = 'MicrosoftWindowsServer'
Offer = 'WindowsServer'
Skus = '2022-Datacenter'
Version = 'latest'
}
$vmConfig =
New-AzVMConfig @vm1 | Set-AzVMOperatingSystem -Windows @vm2 | Set-AzVMSourceImage @vm3 | Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the virtual machine. ##
New-AzVM -ResourceGroupName 'test-rg' -Location 'eastus2' -VM $vmConfig
Notes
Les machines virtuelles d’un réseau virtuel avec un hôte bastion n’ont pas besoin d’adresses IP publiques. Bastion fournit l’adresse IP publique et les machines virtuelles utilisent des adresses IP privées pour communiquer au sein du réseau. Vous pouvez supprimer les adresses IP publiques des machines virtuelles des réseaux virtuels hébergés par bastion. Pour plus d’informations, consultez Dissocier une adresse IP publique d’une machine virtuelle Azure.
Remarque
Azure fournit une adresse IP d’accès sortant par défaut pour les machines virtuelles qui n’ont pas d’adresse IP publique ou qui se trouvent dans le pool de back-ends d’un équilibreur de charge Azure de base interne. Le mécanisme d’adresse IP d’accès sortant par défaut fournit une adresse IP sortante qui n’est pas configurable.
L’adresse IP de l’accès sortant par défaut est désactivée quand l’un des événements suivants se produit :
- Une adresse IP publique est affectée à la machine virtuelle.
- La machine virtuelle est placée dans le pool principal d’un équilibreur de charge standard, avec ou sans règles de trafic sortant.
- Une ressource Azure NAT Gateway est attribuée au sous-réseau de la machine virtuelle.
Les machines virtuelles que vous avez créées, au moyen de groupes de machines virtuelles identiques en mode d’orchestration flexible, n’ont pas d’accès sortant par défaut.
Pour plus d’informations sur les connexions sortantes dans Azure, consultez Accès sortant par défaut dans Azure et Utiliser SNAT (Source Network Address Translation) pour les connexions sortantes.
Tester la connectivité au point de terminaison privé
Utilisez la machine virtuelle que vous avez créée pour vous connecter à l’application web via le point de terminaison privé.
Dans la zone de recherche située en haut du portail, entrez Machine virtuelle. Sélectionnez Machines virtuelles.
Sélectionnez vm-1.
Sur la page de présentation de vm-1, sélectionnez Se connecter, puis l'onglet Bastion.
Sélectionnez Utiliser Bastion.
Entrez le nom d’utilisateur et le mot de passe que vous avez utilisés lors de la création de la machine virtuelle.
Sélectionnez Connecter.
Une fois connecté, ouvrez PowerShell sur le serveur.
Entrez
nslookup webapp-1.azurewebsites.net
. Vous recevez un message similaire à l'exemple suivant :Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: webapp-1.privatelink.azurewebsites.net Address: 10.0.0.10 Aliases: webapp-1.azurewebsites.net
Une adresse IP privée de 10.0.0.10 est renvoyée pour le nom de l'application Web si vous avez choisi une adresse IP statique dans les étapes précédentes. Cette adresse se trouve dans le sous-réseau du réseau virtuel que vous avez créé plus tôt.
Dans la connexion de l’hôte bastion à vm-1, ouvrez le navigateur web.
Entrez l’URL de votre application web,
https://webapp-1.azurewebsites.net
.Si votre application Web n'a pas été déployée, vous obtenez la page d'application Web par défaut suivante :
Nettoyer les ressources
Lorsque vous n'en avez plus besoin, vous pouvez utiliser la commande Remove-AzResourceGroup pour supprimer le groupe de ressources, le réseau virtuel et les ressources restantes.
Remove-AzResourceGroup -Name 'test-rg'
Étapes suivantes
Pour plus d’informations sur les services qui prennent en charge les points de terminaison privés, consultez :