Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Private Endpoint est le composant fondamental de Private Link dans Azure. Il permet à des ressources Azure, comme des machines virtuelles, de communiquer de façon privée avec des ressources Private Link.
Dans ce tutoriel, vous allez apprendre à :
- Créer un réseau virtuel et un hôte Azure bastion.
- Création d’une machine virtuelle
- Créer un serveur Azure SQL et un point de terminaison privé
- Tester la connectivité au point de terminaison privé du serveur SQL
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Si vous choisissez d’installer et d’utiliser PowerShell en local, vous devez exécuter le module Azure PowerShell version 5.4.1 ou ultérieure pour les besoins de cet article. Exécutez
Get-Module -ListAvailable Azpour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell en local, vous devez également exécuterConnect-AzAccountpour créer une connexion avec 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 'CreateSQLEndpointTutorial-rg' -Location 'eastus'
Créer un réseau virtuel et un hôte bastion
Dans cette section, vous créez un réseau virtuel, un sous-réseau et un hôte bastion.
L’hôte bastion sera utilisé pour se connecter de façon sécurisée à la machine virtuelle afin de tester le point de terminaison privé.
Créez un réseau virtuel et un hôte bastion avec :
## Create backend subnet config. ##
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name myBackendSubnet -AddressPrefix 10.0.0.0/24
## Create Azure Bastion subnet. ##
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig -Name AzureBastionSubnet -AddressPrefix 10.0.1.0/24
## Create the virtual network. ##
$parameters1 = @{
Name = 'MyVNet'
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
Location = 'eastus'
AddressPrefix = '10.0.0.0/16'
Subnet = $subnetConfig, $bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @parameters1
## Create public IP address for bastion host. ##
$parameters2 = @{
Name = 'myBastionIP'
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
Location = 'eastus'
Sku = 'Standard'
AllocationMethod = 'Static'
}
$publicip = New-AzPublicIpAddress @parameters2
## Create bastion host ##
$parameters3 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
Name = 'myBastion'
PublicIpAddress = $publicip
VirtualNetwork = $vnet
Sku = 'Basic'
}
New-AzBastion @parameters3
Le déploiement de l’hôte Azure Bastion peut prendre quelques minutes.
Créer une machine virtuelle de test
Dans cette section, vous créez une machine virtuelle qui est utilisée pour tester le point de terminaison privé.
Créez la machine virtuelle avec :
- Get-Credential
- New-AzNetworkInterface
- New-AzVM
- New-AzVMConfig
- Set-AzVMOperatingSystem
- Set-AzVMSourceImage
- Add-AzVMNetworkInterface
## Set credentials for server admin and password. ##
$cred = Get-Credential
## Command to get virtual network configuration. ##
$vnet = Get-AzVirtualNetwork -Name myVNet -ResourceGroupName CreateSQLEndpointTutorial-rg
## Command to create network interface for VM ##
$parameters1 = @{
Name = 'myNicVM'
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
Location = 'eastus'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @parameters1
## Create a virtual machine configuration.##
$parameters2 = @{
VMName = 'myVM'
VMSize = 'Standard_DS1_v2'
}
$parameters3 = @{
ComputerName = 'myVM'
Credential = $cred
}
$parameters4 = @{
PublisherName = 'MicrosoftWindowsServer'
Offer = 'WindowsServer'
Skus = '2019-Datacenter'
Version = 'latest'
}
$vmConfig =
New-AzVMConfig @parameters2 | Set-AzVMOperatingSystem -Windows @parameters3 | Set-AzVMSourceImage @parameters4 | Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the virtual machine ##
New-AzVM -ResourceGroupName 'CreateSQLEndpointTutorial-rg' -Location 'eastus' -VM $vmConfig
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.
Créer un serveur SQL Azure
Dans cette section, vous créez un serveur et une base de données SQL en utilisant les éléments suivants :
Créez un serveur et une base de données SQL. Remplacez <sql-server-name> par le nom de votre serveur unique :
## Set and administrator and password for the SQL server. ##
$cred = Get-Credential
## Create SQL server ##
$parameters1 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
ServerName = '<sql-server-name>'
SqlAdministratorCredentials = $cred
Location = 'eastus'
}
New-AzSqlServer @parameters1
## Create database. ##
$parameters2 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
ServerName = '<sql-server-name>'
DatabaseName = 'mysqldatabase'
RequestedServiceObjectiveName = 'S0'
SampleName = 'AdventureWorksLT'
}
New-AzSqlDatabase @parameters2
Créer un point de terminaison privé
Dans cette section, vous créez un point de terminaison privé et une connexion en tirant parti de :
## Place SQL server into variable. Replace <sql-server-name> with your server name ##
$server = Get-AzSqlServer -ResourceGroupName CreateSQLEndpointTutorial-rg -ServerName <sql-server-name>
## Create private endpoint connection. ##
$parameters1 = @{
Name = 'myConnection'
PrivateLinkServiceId = $server.ResourceID
GroupID = 'sqlserver'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @parameters1
## Place virtual network into variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'CreateSQLEndpointTutorial-rg' -Name 'myVNet'
## Disable private endpoint network policy ##
$vnet.Subnets[0].PrivateEndpointNetworkPolicies = "Disabled"
$vnet | Set-AzVirtualNetwork
## Create private endpoint
$parameters2 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
Name = 'myPrivateEndpoint'
Location = 'eastus'
Subnet = $vnet.Subnets[0]
PrivateLinkServiceConnection = $privateEndpointConnection
}
New-AzPrivateEndpoint @parameters2
Configurer la zone DNS privée
Dans cette section, vous créez et configurez la zone DNS privée en utilisant :
- New-AzPrivateDnsZone
- New-AzPrivateDnsVirtualNetworkLink
- New-AzPrivateDnsZoneConfig
- New-AzPrivateDnsZoneGroup
## Place virtual network into variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'CreateSQLEndpointTutorial-rg' -Name 'myVNet'
## Create private dns zone. ##
$parameters1 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
Name = 'privatelink.database.windows.net'
}
$zone = New-AzPrivateDnsZone @parameters1
## Create dns network link. ##
$parameters2 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
ZoneName = 'privatelink.database.windows.net'
Name = 'myLink'
VirtualNetworkId = $vnet.Id
}
$link = New-AzPrivateDnsVirtualNetworkLink @parameters2
## Create DNS configuration ##
$parameters3 = @{
Name = 'privatelink.database.windows.net'
PrivateDnsZoneId = $zone.ResourceId
}
$config = New-AzPrivateDnsZoneConfig @parameters3
## Create DNS zone group. ##
$parameters4 = @{
ResourceGroupName = 'CreateSQLEndpointTutorial-rg'
PrivateEndpointName = 'myPrivateEndpoint'
Name = 'myZoneGroup'
PrivateDnsZoneConfig = $config
}
New-AzPrivateDnsZoneGroup @parameters4
Tester la connectivité au point de terminaison privé
Dans cette section, vous utilisez la machine virtuelle que vous avez créée au cours de l’étape précédente pour vous connecter au serveur SQL via le point de terminaison privé.
Connectez-vous au portail Azure.
Dans le volet de navigation de gauche, sélectionnez Groupes de ressources.
Sélectionnez CreateSQLEndpointTutorial-rg.
Sélectionnez myVM.
Dans la page de vue d’ensemble pour myVM, sélectionnez Se connecter, puis Bastion.
Sélectionnez le bouton bleu Utiliser le 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.
Ouvrez Windows PowerShell sur le serveur après vous être connecté.
Entrez
nslookup <sqlserver-name>.database.windows.net. Remplacez <sqlserver-name> par le nom du serveur SQL que vous avez créé dans les étapes précédentes. Vous recevez un message similaire à ce qui est montré ci-dessous :Server: UnKnown Address: 172.63.129.16 Non-authoritative answer: Name: mysqlserver8675.privatelink.database.windows.net Address: 10.0.0.5 Aliases: mysqlserver8675.database.windows.netUne adresse IP privée 10.0.0.5 est retournée pour le nom du serveur SQL. Cette adresse se trouve dans le sous-réseau du réseau virtuel que vous avez créé précédemment.
Installez SQL Server Management Studio sur myVM.
Ouvrez SQL Server Management Studio.
Dans Se connecter au serveur, entrez ou sélectionnez les informations suivantes :
Paramètre Valeur Type de serveur Sélectionnez Moteur de base de données. Nom du serveur Entrez <nom-serveur-sql>.database.windows.net Authentification Sélectionnez Authentification SQL Server. Nom d’utilisateur Entrez le nom d’utilisateur que vous avez entré lors de la création du serveur. Mot de passe Entrez le mot de passe que vous avez entré lors de la création du serveur. Se souvenir du mot de passe Sélectionnez Oui. Sélectionnez Connecter.
Parcourez les bases de données dans le menu de gauche.
(Facultatif) Créez ou interrogez des informations à partir de mysqldatabase.
Fermez la connexion Bastion à myVM.
Nettoyer les ressources
Lorsque vous avez fini d’utiliser le point de terminaison privé, le serveur SQL et la machine virtuelle, supprimez le groupe de ressources et toutes les ressources qu’il contient :
Entrez CreateSQLEndpointTutorial-rg dans la zone Recherche située en haut du portail, puis sélectionnez CreateSQLEndpointTutorial-rg dans les résultats de la recherche.
Sélectionnez Supprimer le groupe de ressources.
Dans TAPER LE NOM DU GROUPE DE RESSOURCES, entrez CreateSQLEndpointTutorial-rg, puis sélectionnez Supprimer.
Étapes suivantes
Dans ce tutoriel, vous avez créé les éléments suivants :
- Un réseau virtuel et un hôte bastion.
- Une machine virtuelle
- Un serveur SQL Azure avec un point de terminaison privé
Vous avez utilisé la machine virtuelle pour tester de façon sécurisée la connectivité au serveur SQL via le point de terminaison privé.
Prochaine étape : examinez le scénario d’architecture Application web avec connectivité privée à une base de données Azure SQL qui connecte une application web en dehors du réseau virtuel au point de terminaison privé d’une base de données.