Dans ce guide de démarrage rapide, découvrez comment créer un réseau virtuel Azure à l’aide du portail Azure, d’Azure CLI, d’Azure PowerShell, du modèle Resource Manager, du modèle Bicep et de Terraform. Deux machines virtuelles et un hôte Azure Bastion sont déployés pour tester la connectivité entre les machines virtuelles du même réseau virtuel. L’hôte Azure Bastion facilite la connectivité RDP et SSH sécurisée et transparente aux machines virtuelles directement dans le portail Azure via SSL.
Un réseau virtuel est l’élément de construction fondamental pour les réseaux privés dans Azure. Le réseau virtuel Microsoft Azure permet à des ressources Azure, comme des machines virtuelles, de communiquer de manière sécurisée entre elles et sur Internet.
Connexion à Azure
Connectez-vous au portail Azure avec votre compte Azure.
Créer un réseau virtuel et un hôte Azure Bastion
La procédure suivante crée un réseau virtuel avec un sous-réseau de ressources, un sous-réseau Azure Bastion et un hôte Bastion :
Dans le portail, recherchez et sélectionnez Réseaux virtuels.
Dans la page Réseaux virtuels, sélectionnez + Créer.
Sous l’onglet Informations de base de la page Créer un réseau virtuel, entrez ou sélectionnez les informations suivantes :
Réglage |
Valeur |
Détails du projet |
|
Abonnement |
Sélectionnez votre abonnement. |
groupe de ressources |
Sélectionnez Créer nouveau.
Entrez test-rg comme nom.
Sélectionnez OK. |
Détails de l’instance |
|
Nom |
Entrez vnet-1. |
Région |
Sélectionnez USA Est 2. |
Sélectionnez Suivant pour passer à l’onglet Sécurité.
Dans la section Azure Bastion, sélectionnez Activer Azure Bastion.
Bastion utilise votre navigateur pour se connecter aux machines virtuelles de votre réseau virtuel via le protocole SSH (Secure Shell) ou le protocole 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, consultez Présentation d’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.
Dans Azure Bastion, entrez ou sélectionnez les informations suivantes :
Réglage |
Valeur |
Nom d’hôte Azure Bastion |
Entrez bastion. |
Adresse IP publique Azure Bastion |
Sélectionnez Créer une adresse IP publique.
Saisissez public-ip-bastion dans le champ Nom.
Sélectionnez OK. |
Sélectionnez Suivant pour passer à l’onglet Adresses IP.
Dans la zone Espace d’adressage de Sous-réseaux, sélectionnez le sous-réseau par défaut.
Dans Modifier le sous-réseau, entrez ou sélectionnez les informations suivantes :
Réglage |
Valeur |
Objectif du sous-réseau |
Conservez la valeur par défaut de Valeur par défaut. |
Nom |
Entrez subnet-1. |
IPv4 |
|
Plage d'adresses IPv4 |
Conservez la valeur par défaut 10.0.0.0/16. |
Adresse de début |
Laissez la valeur par défaut sur 10.0.0.0. |
Taille |
Conservez la valeur par défaut /24 (256 adresses). |
Cliquez sur Enregistrer.
Sélectionnez Vérifier + créer en bas de la fenêtre. Quand la validation réussit, sélectionnez Créer.
Créer des machines virtuelles
La procédure suivante crée deux machines virtuelles nommées vm-1 et vm-2 dans le réseau virtuel :
Dans le portail, recherchez et sélectionnez Machines virtuelles.
Dans Machines virtuelles, sélectionnez + Créer, puis Machine virtuelle Azure.
Sous l’onglet Général de la page Créer une machine virtuelle, entrez ou sélectionnez les informations suivantes :
Réglage |
Valeur |
Détails du projet |
|
Abonnement |
Sélectionnez votre abonnement. |
groupe de ressources |
Sélectionnez test-rg. |
Détails de l’instance |
|
Nom de la machine virtuelle |
Entrez vm-1. |
Région |
Sélectionnez USA Est 2. |
Options de disponibilité |
Sélectionnez Aucune redondance d’infrastructure requise. |
Type de sécurité |
Conservez la valeur par défaut Standard. |
Image |
Sélectionnez Ubuntu Server 22.04 LTS - x64 Gen2. |
Architecture de machine virtuelle |
Laissez la valeur par défaut x64. |
Taille |
Sélectionnez une taille. |
Compte d’administrateur |
|
Type d’authentification |
Sélectionnez Mot de passe. |
Nom d’utilisateur |
Saisissez azureuser. |
Mot de passe |
Entrez un mot de passe. |
Confirmer le mot de passe |
Entrez de nouveau le mot de passe. |
Règles des ports d’entrée |
|
Ports d’entrée publics |
Sélectionnez Aucun. |
Sélectionnez l’onglet Réseau. Entrez ou sélectionnez les informations suivantes :
Réglage |
Valeur |
Interface réseau |
|
Réseau virtuel |
Sélectionnez vnet-1. |
Sous-réseau |
Sélectionnez subnet-1 (10.0.0.0/24). |
Adresse IP publique |
Sélectionnez Aucun. |
Groupe de sécurité réseau de la NIC |
Sélectionnez Avancé. |
Configurer un groupe de sécurité réseau |
Sélectionnez Créer nouveau.
Entrez nsg-1 pour le nom.
Pour le reste, laissez les valeurs par défaut et sélectionnez OK. |
Pour les autres paramètres, laissez les valeurs par défaut, puis sélectionnez Vérifier + créer.
Passez en revue les paramètres, puis sélectionnez Créer.
Attendez que la première machine virtuelle soit déployée, puis répétez les étapes précédentes pour créer une deuxième machine virtuelle avec les paramètres suivants :
Réglage |
Valeur |
Nom de la machine virtuelle |
Entrez vm-2. |
Réseau virtuel |
Sélectionnez vnet-1. |
Sous-réseau |
Sélectionnez subnet-1 (10.0.0.0/24). |
Adresse IP publique |
Sélectionnez Aucun. |
Groupe de sécurité réseau de la NIC |
Sélectionnez Avancé. |
Configurer un groupe de sécurité réseau |
Sélectionnez nsg-1. |
Remarque
Les machines virtuelles d’un réseau virtuel avec un hôte Azure 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 de n’importe laquelle des machines virtuelles dans 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 créez à l'aide d'ensembles de machines virtuelles 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 groupe de ressources
Utilisez New-AzResourceGroup pour créer un groupe de ressources afin d’héberger le réseau virtuel. Exécutez le code suivant pour créer un groupe de ressources nommé test-rg dans la région eastus2 Azure :
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Créer 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 la configuration du sous-réseau au réseau virtuel en utilisant Set-AzVirtualNetwork :
$virtualNetwork | Set-AzVirtualNetwork
Déployer Azure Bastion
Azure Bastion utilise votre navigateur pour se connecter aux machines virtuelles de votre réseau virtuel via le protocole SSH (Secure Shell) ou le protocole 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 Bastion, consultez Qu’est-ce qu’Azure Bastion ?.
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 Bastion pour votre réseau virtuel. Ce sous-réseau est exclusivement réservé aux ressources Azure Bastion et doit être nommé BastionSubnet.
$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 Bastion. L’hôte Bastion utilise l’adresse IP publique pour accéder à SSH et 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 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 dix minutes. Vous pouvez créer des machines virtuelles dans la section suivante lors du déploiement de Bastion sur votre réseau virtuel.
Créer des machines virtuelles
Utilisez New-AzVM pour créer deux machines virtuelles nommées vm-1 et vm-2 dans le sous-réseau subnet-1 du réseau virtuel. Lorsque vous êtes invité à entrer des informations d’identification, renseignez des noms d’utilisateur et des mots de passe pour les machines virtuelles.
Pour créer la première machine virtuelle, utilisez le code suivant :
# Set the administrator and password for the VM. ##
$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 VM. ##
$nic = @{
Name = "nic-1"
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create a virtual machine configuration. ##
$vmsz = @{
VMName = "vm-1"
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = "vm-1"
Credential = $cred
}
$vmimage = @{
PublisherName = 'Canonical'
Offer = '0001-com-ubuntu-server-jammy'
Skus = '22_04-lts-gen2'
Version = 'latest'
}
$vmConfig = New-AzVMConfig @vmsz `
| Set-AzVMOperatingSystem @vmos -Linux `
| Set-AzVMSourceImage @vmimage `
| Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the VM. ##
$vm = @{
ResourceGroupName = 'test-rg'
Location = 'eastus2'
VM = $vmConfig
}
New-AzVM @vm
Pour créer la deuxième machine virtuelle, utilisez le code suivant :
# Set the administrator and password for the VM. ##
$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 VM. ##
$nic = @{
Name = "nic-2"
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create a virtual machine configuration. ##
$vmsz = @{
VMName = "vm-2"
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = "vm-2"
Credential = $cred
}
$vmimage = @{
PublisherName = 'Canonical'
Offer = '0001-com-ubuntu-server-jammy'
Skus = '22_04-lts-gen2'
Version = 'latest'
}
$vmConfig = New-AzVMConfig @vmsz `
| Set-AzVMOperatingSystem @vmos -Linux `
| Set-AzVMSourceImage @vmimage `
| Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the VM. ##
$vm = @{
ResourceGroupName = 'test-rg'
Location = 'eastus2'
VM = $vmConfig
}
New-AzVM @vm
Conseil / Astuce
Vous pouvez utiliser l’option -AsJob
pour créer une machine virtuelle en arrière-plan pendant que vous poursuivez d’autres tâches. Par exemple, exécutez New-AzVM @vm1 -AsJob
. Lorsqu’Azure commence la création de la machine virtuelle en arrière-plan, vous obtenez quelque chose similaire à l’entrée suivante :
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost New-AzVM
Il ne faut que quelques minutes à Azure pour créer les machines virtuelles. Une fois qu’Azure a fini de créer les machines virtuelles, l’application retourne la sortie vers PowerShell.
Remarque
Les adresses IP publiques ne sont pas nécessaires pour les machines virtuelles d’un réseau virtuel avec un hôte Bastion. 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 de n’importe laquelle des machines virtuelles dans 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 créez à l'aide d'ensembles de machines virtuelles 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 groupe de ressources
Utilisez la commande az group create pour créer un groupe de ressources afin d’héberger le réseau virtuel. Utilisez le code suivant pour créer un groupe de ressources nommé test-rg dans la région Azure eastus2 :
az group create \
--name test-rg \
--location eastus2
Créer un réseau virtuel et un sous-réseau
Utilisez la commande az network vnet create pour créer un réseau virtuel nommé vnet-1 avec un sous-réseau nommé subnet-1 dans le groupe de ressources test-rg :
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefixes 10.0.0.0/24
Déployer Azure Bastion
Azure Bastion utilise votre navigateur pour se connecter aux machines virtuelles de votre réseau virtuel via le protocole SSH (Secure Shell) ou le protocole 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.
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. Pour plus d’informations sur Bastion, consultez Qu’est-ce qu’Azure Bastion ?.
Utilisez la commande az network vnet subnet create pour créer un sous-réseau Bastion pour votre réseau virtuel. Ce sous-réseau est exclusivement réservé aux ressources Azure Bastion et doit être nommé BastionSubnet.
az network vnet subnet create \
--name AzureBastionSubnet \
--resource-group test-rg \
--vnet-name vnet-1 \
--address-prefix 10.0.1.0/26
Créez une adresse IP publique pour Bastion. Cette adresse IP est utilisée pour se connecter à l’hôte Bastion à partir d’Internet. Utilisez la commande az network public-ip create pour créer une adresse IP publique nommée public-ip dans le groupe de ressources test-rg :
az network public-ip create \
--resource-group test-rg \
--name public-ip \
--sku Standard \
--location eastus2 \
--zone 1 2 3
Utilisez la commande az network bastion create pour créer un hôte Bastion dans AzureBastionSubnetpour votre réseau virtuel :
az network bastion create \
--name bastion \
--public-ip-address public-ip \
--resource-group test-rg \
--vnet-name vnet-1 \
--location eastus2
Le déploiement des ressources Bastion prend environ dix minutes. Vous pouvez créer des machines virtuelles dans la section suivante lors du déploiement de Bastion sur votre réseau virtuel.
Créer des machines virtuelles
Utilisez la commande az vm create pour créer deux machines virtuelles nommées vm-1 et vm-2 dans le sous-réseau subnet-1 du réseau virtuel. Lorsque vous êtes invité à entrer des informations d’identification, entrez des noms d’utilisateur et des mots de passe pour les machines virtuelles.
Pour créer la première machine virtuelle, utilisez la commande suivante :
az vm create \
--resource-group test-rg \
--admin-username azureuser \
--authentication-type password \
--name vm-1 \
--image Ubuntu2204 \
--public-ip-address ""
Pour créer la deuxième machine virtuelle, utilisez la commande suivant :
az vm create \
--resource-group test-rg \
--admin-username azureuser \
--authentication-type password \
--name vm-2 \
--image Ubuntu2204 \
--public-ip-address ""
Conseil / Astuce
Vous pouvez également utiliser l’option --no-wait
pour créer une machine virtuelle en arrière-plan pendant que vous poursuivez d’autres tâches.
La création des machines virtuelles peut prendre plusieurs minutes. Une fois la création des différentes machines virtuelles effectuée par Azure, Azure CLI retourne une sortie semblable au message suivant :
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-2",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.5",
"publicIpAddress": "",
"resourceGroup": "test-rg"
"zones": ""
}
Remarque
Les adresses IP publiques ne sont pas nécessaires pour les machines virtuelles d’un réseau virtuel avec un hôte Bastion. 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 de n’importe laquelle des machines virtuelles dans 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 créez à l'aide d'ensembles de machines virtuelles 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.
Vérifier le modèle
Le modèle que vous utilisez dans ce guide de démarrage rapide est tiré des modèles de démarrage rapide Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.6.18.56646",
"templateHash": "10806234693722113459"
}
},
"parameters": {
"vnetName": {
"type": "string",
"defaultValue": "VNet1",
"metadata": {
"description": "VNet name"
}
},
"vnetAddressPrefix": {
"type": "string",
"defaultValue": "10.0.0.0/16",
"metadata": {
"description": "Address prefix"
}
},
"subnet1Prefix": {
"type": "string",
"defaultValue": "10.0.0.0/24",
"metadata": {
"description": "Subnet 1 Prefix"
}
},
"subnet1Name": {
"type": "string",
"defaultValue": "Subnet1",
"metadata": {
"description": "Subnet 1 Name"
}
},
"subnet2Prefix": {
"type": "string",
"defaultValue": "10.0.1.0/24",
"metadata": {
"description": "Subnet 2 Prefix"
}
},
"subnet2Name": {
"type": "string",
"defaultValue": "Subnet2",
"metadata": {
"description": "Subnet 2 Name"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2021-08-01",
"name": "[parameters('vnetName')]",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('subnet1Name')]",
"properties": {
"addressPrefix": "[parameters('subnet1Prefix')]"
}
},
{
"name": "[parameters('subnet2Name')]",
"properties": {
"addressPrefix": "[parameters('subnet2Prefix')]"
}
}
]
}
}
]
}
Le modèle définit les ressources Azure suivantes :
Déployer le modèle
Déployez le modèle Resource Manager sur Azure :
Sélectionnez Déployer sur Azure pour vous connecter à Azure et ouvrir le modèle. Le modèle crée un réseau virtuel avec deux sous-réseaux.
Dans le portail, dans la page Créer un réseau virtuel avec deux sous-réseaux , entrez ou sélectionnez les valeurs suivantes :
-
Groupe de ressources : sélectionnez Créer, entrez CreateVNetQS-rg pour le nom du groupe de ressources, puis sélectionnez OK.
-
Nom du réseau virtuel : entrez un nom pour le nouveau réseau virtuel.
Sélectionnez Examiner + créer, puis sélectionnez Créer.
Une fois le déploiement terminé, sélectionnez le bouton Accéder à la ressource pour passer en revue les ressources que vous avez déployées.
Passer en revue les ressources déployées
Explorez les ressources que vous avez créées avec le réseau virtuel en parcourant les volets paramètres pour VNet1 :
L’onglet Vue d’ensemble affiche l’espace d’adressage défini de 10.0.0.0/16.
L’onglet Sous-réseaux affiche les sous-réseaux déployés du sous-réseau1 et du sous-réseau2 avec les valeurs appropriées du modèle.
Pour en savoir plus sur la syntaxe JSON et les propriétés d’un réseau virtuel dans un modèle, consultez Microsoft.Network/virtualNetworks.
Créer le réseau virtuel et les machines virtuelles
Ce guide de démarrage rapide utilise le modèle Bicep Deux machines virtuelles dans un réseau virtuel à partir des modèles de démarrage rapide Azure Resource Manager pour créer le réseau virtuel, le sous-réseau de ressources et les machines virtuelles. Le modèle Bicep définit les ressources Azure suivantes :
Examiner le fichier Bicep :
@description('Admin username')
param adminUsername string
@description('Admin password')
@secure()
param adminPassword string
@description('Prefix to use for VM names')
param vmNamePrefix string = 'BackendVM'
@description('Location for all resources.')
param location string = resourceGroup().location
@description('Size of the virtual machines')
param vmSize string = 'Standard_D2s_v3'
var availabilitySetName = 'AvSet'
var storageAccountType = 'Standard_LRS'
var storageAccountName = uniqueString(resourceGroup().id)
var virtualNetworkName = 'vNet'
var subnetName = 'backendSubnet'
var loadBalancerName = 'ilb'
var networkInterfaceName = 'nic'
var subnetRef = resourceId('Microsoft.Network/virtualNetworks/subnets', virtualNetworkName, subnetName)
var numberOfInstances = 2
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountType
}
kind: 'StorageV2'
}
resource availabilitySet 'Microsoft.Compute/availabilitySets@2023-09-01' = {
name: availabilitySetName
location: location
sku: {
name: 'Aligned'
}
properties: {
platformUpdateDomainCount: 2
platformFaultDomainCount: 2
}
}
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: subnetName
properties: {
addressPrefix: '10.0.2.0/24'
}
}
]
}
}
resource networkInterface 'Microsoft.Network/networkInterfaces@2023-09-01' = [for i in range(0, numberOfInstances): {
name: '${networkInterfaceName}${i}'
location: location
properties: {
ipConfigurations: [
{
name: 'ipconfig1'
properties: {
privateIPAllocationMethod: 'Dynamic'
subnet: {
id: subnetRef
}
loadBalancerBackendAddressPools: [
{
id: resourceId('Microsoft.Network/loadBalancers/backendAddressPools', loadBalancerName, 'BackendPool1')
}
]
}
}
]
}
dependsOn: [
virtualNetwork
loadBalancer
]
}]
resource loadBalancer 'Microsoft.Network/loadBalancers@2023-09-01' = {
name: loadBalancerName
location: location
sku: {
name: 'Standard'
}
properties: {
frontendIPConfigurations: [
{
properties: {
subnet: {
id: subnetRef
}
privateIPAddress: '10.0.2.6'
privateIPAllocationMethod: 'Static'
}
name: 'LoadBalancerFrontend'
}
]
backendAddressPools: [
{
name: 'BackendPool1'
}
]
loadBalancingRules: [
{
properties: {
frontendIPConfiguration: {
id: resourceId('Microsoft.Network/loadBalancers/frontendIpConfigurations', loadBalancerName, 'LoadBalancerFrontend')
}
backendAddressPool: {
id: resourceId('Microsoft.Network/loadBalancers/backendAddressPools', loadBalancerName, 'BackendPool1')
}
probe: {
id: resourceId('Microsoft.Network/loadBalancers/probes', loadBalancerName, 'lbprobe')
}
protocol: 'Tcp'
frontendPort: 80
backendPort: 80
idleTimeoutInMinutes: 15
}
name: 'lbrule'
}
]
probes: [
{
properties: {
protocol: 'Tcp'
port: 80
intervalInSeconds: 15
numberOfProbes: 2
}
name: 'lbprobe'
}
]
}
dependsOn: [
virtualNetwork
]
}
resource vm 'Microsoft.Compute/virtualMachines@2023-09-01' = [for i in range(0, numberOfInstances): {
name: '${vmNamePrefix}${i}'
location: location
properties: {
availabilitySet: {
id: availabilitySet.id
}
hardwareProfile: {
vmSize: vmSize
}
osProfile: {
computerName: '${vmNamePrefix}${i}'
adminUsername: adminUsername
adminPassword: adminPassword
}
storageProfile: {
imageReference: {
publisher: 'MicrosoftWindowsServer'
offer: 'WindowsServer'
sku: '2019-Datacenter'
version: 'latest'
}
osDisk: {
createOption: 'FromImage'
}
}
networkProfile: {
networkInterfaces: [
{
id: networkInterface[i].id
}
]
}
diagnosticsProfile: {
bootDiagnostics: {
enabled: true
storageUri: storageAccount.properties.primaryEndpoints.blob
}
}
}
}]
output location string = location
output name string = loadBalancer.name
output resourceGroupName string = resourceGroup().name
output resourceId string = loadBalancer.id
Déployer le modèle Bicep
Enregistrez le fichier Bicep sur votre ordinateur sous main.bicep.
Déployez le fichier Bicep à l’aide d’Azure CLI ou d’Azure PowerShell :
Interface de ligne de commande (CLI)
az group create \
--name TestRG \
--location eastus
az deployment group create \
--resource-group TestRG \
--template-file main.bicep
PowerShell
$rgParams = @{
Name = 'TestRG'
Location = 'eastus'
}
New-AzResourceGroup @rgParams
$deploymentParams = @{
ResourceGroupName = 'TestRG'
TemplateFile = 'main.bicep'
}
New-AzResourceGroupDeployment @deploymentParams
Une fois le déploiement terminé, un message s’affiche pour indiquer que le déploiement a réussi.
Déployer Azure Bastion
Bastion utilise votre navigateur pour se connecter aux machines virtuelles de votre réseau virtuel via le protocole SSH (Secure Shell) ou le protocole 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 Bastion, consultez Qu’est-ce qu’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.
Utilisez le modèle Bicep Azure Bastion as a service à partir des modèles de démarrage rapide Azure Resource Manager pour déployer et configurer Bastion dans votre réseau virtuel. Ce modèle Bicep définit les ressources Azure suivantes :
Examiner le fichier Bicep :
@description('Name of new or existing vnet to which Azure Bastion should be deployed')
param vnetName string = 'vnet01'
@description('IP prefix for available addresses in vnet address space')
param vnetIpPrefix string = '10.1.0.0/16'
@description('Specify whether to provision new vnet or deploy to existing vnet')
@allowed([
'new'
'existing'
])
param vnetNewOrExisting string = 'new'
@description('Bastion subnet IP prefix MUST be within vnet IP prefix address space')
param bastionSubnetIpPrefix string = '10.1.1.0/26'
@description('Name of Azure Bastion resource')
param bastionHostName string
@description('Azure region for Bastion and virtual network')
param location string = resourceGroup().location
var publicIpAddressName = '${bastionHostName}-pip'
var bastionSubnetName = 'AzureBastionSubnet'
resource publicIp 'Microsoft.Network/publicIPAddresses@2022-01-01' = {
name: publicIpAddressName
location: location
sku: {
name: 'Standard'
}
properties: {
publicIPAllocationMethod: 'Static'
}
}
// if vnetNewOrExisting == 'new', create a new vnet and subnet
resource newVirtualNetwork 'Microsoft.Network/virtualNetworks@2022-01-01' = if (vnetNewOrExisting == 'new') {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: [
vnetIpPrefix
]
}
subnets: [
{
name: bastionSubnetName
properties: {
addressPrefix: bastionSubnetIpPrefix
}
}
]
}
}
// if vnetNewOrExisting == 'existing', reference an existing vnet and create a new subnet under it
resource existingVirtualNetwork 'Microsoft.Network/virtualNetworks@2022-01-01' existing = if (vnetNewOrExisting == 'existing') {
name: vnetName
}
resource subnet 'Microsoft.Network/virtualNetworks/subnets@2022-01-01' = if (vnetNewOrExisting == 'existing') {
parent: existingVirtualNetwork
name: bastionSubnetName
properties: {
addressPrefix: bastionSubnetIpPrefix
}
}
resource bastionHost 'Microsoft.Network/bastionHosts@2022-01-01' = {
name: bastionHostName
location: location
dependsOn: [
newVirtualNetwork
existingVirtualNetwork
]
properties: {
ipConfigurations: [
{
name: 'IpConf'
properties: {
subnet: {
id: subnet.id
}
publicIPAddress: {
id: publicIp.id
}
}
}
]
}
}
Déployer le modèle Bicep
Enregistrez le fichier Bicep sur votre ordinateur sous bastion.bicep.
Utilisez un éditeur de texte ou de code pour apporter les modifications suivantes dans le fichier :
- Ligne 2 : modifiez
param vnetName string
, remplacez 'vnet01'
par 'VNet'
.
- Ligne 5 : modifiez
param vnetIpPrefix string
, remplacez '10.1.0.0/16'
par '10.0.0.0/16'
.
- Ligne 12 : modifiez
param vnetNewOrExisting string
, remplacez 'new'
par 'existing'
.
- Ligne 15 : modifiez
param bastionSubnetIpPrefix string
, remplacez '10.1.1.0/26'
par '10.0.1.0/26'
.
- Ligne 18 : remplacez
param bastionHostName string
par param bastionHostName = 'VNet-bastion'
.
Les 18 premières lignes de votre fichier Bicep devraient maintenant ressembler à cet exemple :
@description('Name of new or existing vnet to which Azure Bastion should be deployed')
param vnetName string = 'VNet'
@description('IP prefix for available addresses in vnet address space')
param vnetIpPrefix string = '10.0.0.0/16'
@description('Specify whether to provision new vnet or deploy to existing vnet')
@allowed([
'new'
'existing'
])
param vnetNewOrExisting string = 'existing'
@description('Bastion subnet IP prefix MUST be within vnet IP prefix address space')
param bastionSubnetIpPrefix string = '10.0.1.0/26'
@description('Name of Azure Bastion resource')
param bastionHostName = 'VNet-bastion'
Enregistrez le fichier bastion.bicep .
Déployez le fichier Bicep à l’aide d’Azure CLI ou d’Azure PowerShell :
Interface de ligne de commande (CLI)
az deployment group create \
--resource-group TestRG \
--template-file bastion.bicep
PowerShell
$deploymentParams = @{
ResourceGroupName = 'TestRG'
TemplateFile = 'bastion.bicep'
}
New-AzResourceGroupDeployment @deploymentParams
Une fois le déploiement terminé, un message s’affiche pour indiquer que le déploiement a réussi.
Remarque
Les adresses IP publiques ne sont pas nécessaires pour les machines virtuelles d’un réseau virtuel avec un hôte Bastion. 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 de n’importe laquelle des machines virtuelles dans des réseaux virtuels hébergés par Bastion. Pour plus d’informations, consultez Dissocier une adresse IP publique d’une machine virtuelle Azure.
Passer en revue les ressources déployées
Utilisez Azure CLI, Azure PowerShell ou le portail Azure pour examiner les ressources déployées :
Interface de ligne de commande (CLI)
az resource list --resource-group TestRG
PowerShell
Get-AzResource -ResourceGroupName TestRG
Portail
Dans le portail Azure, recherchez et sélectionnez Groupes de ressources. Dans la page Groupes de ressources, sélectionnez TestRG dans la liste des groupes de ressources.
Dans la page Vue d’ensemble de TestRG, examinez toutes les ressources que vous avez créées, y compris le réseau virtuel, les deux machines virtuelles et l’hôte Bastion.
Sélectionnez le réseau virtuel VNet. Dans la page Vue d’ensemble de VNet, notez l’espace d’adressage défini qui est 10.0.0.0/16.
Dans le menu de gauche, sélectionnez Sous-réseaux. Dans la page Sous-réseaux, notez les sous-réseaux déployés backendSubnet et AzureBastionSubnet avec les valeurs attribuées à partir des fichiers Bicep.