In deze quickstart leert u hoe u een Azure Virtual Network (VNet) maakt met behulp van Azure Portal, Azure CLI, Azure PowerShell, Resource Manager-sjabloon, Bicep-sjabloon en Terraform. Er worden twee virtuele machines en een Azure Bastion-host geïmplementeerd om de connectiviteit tussen de virtuele machines in hetzelfde virtuele netwerk te testen. De Azure Bastion-host vereenvoudigt veilige en naadloze RDP- en SSH-connectiviteit met de virtuele machines rechtstreeks in Azure Portal via SSL.
Een virtueel netwerk is de fundamentele bouwsteen voor privénetwerken in Azure. Met Azure Virtual Network kunnen Azure-resources, zoals VM's, veilig met elkaar en internet communiceren.
Aanmelden bij Azure
Meld u aan bij Azure Portal met uw Azure-account.
Een virtueel netwerk en een Azure Bastion-host maken
Met de volgende procedure maakt u een virtueel netwerk met een resourcesubnet, een Azure Bastion-subnet en een Bastion-host:
Zoek en selecteer virtuele netwerken in de portal.
Selecteer + Maken op de pagina Virtuele netwerken.
Voer op het tabblad Basisbeginselen van Virtueel netwerk maken de volgende informatie in of selecteer deze.
Configuratie |
Waarde |
Projectdetails |
|
Abonnement |
Selecteer uw abonnement. |
Bronnengroep |
Selecteer Nieuwe maken.
Voer test-rg in voor de naam.
Klik op OK. |
Instantiegegevens |
|
Naam |
Voer vnet-1 in. |
Regio |
Selecteer Oost-Amerika 2. |
Selecteer Volgendeom door te gaan naar het tabblad Beveiliging.
In de sectie Azure Bastion, selecteer Azure Bastion inschakelen.
Bastion gebruikt uw browser om verbinding te maken met VM's in uw virtuele netwerk via Secure Shell (SSH) of RdP (Remote Desktop Protocol) met behulp van hun privé-IP-adressen. De VM's hebben geen openbare IP-adressen, clientsoftware of speciale configuratie nodig. Zie Wat is Azure Bastion? voor meer informatie.
Opmerking
De uurtarieven gaan in vanaf het moment dat Bastion wordt ingezet, ongeacht uitgaand dataverbruik. Zie Prijzen en SKU's voor meer informatie. Als je Bastion implementeert als onderdeel van een tutorial of test, raden we aan om deze bron te verwijderen nadat je ermee klaar bent.
Voer in Azure Bastion de volgende gegevens in of selecteer deze:
Configuratie |
Waarde |
Azure Bastion-hostnaam |
Voer bastion in. |
Openbaar IP-adres van Azure Bastion |
Selecteer Een openbaar IP-adres maken.
Voer public-ip-bastion in naam in.
Klik op OK. |
Selecteer Volgendeom door te gaan naar het tabblad IP-adressen.
Selecteer in het adresruimtevak in Subnetten het standaardsubnet .
In Subnet bewerken, voer de volgende gegevens in of selecteer deze:
Configuratie |
Waarde |
Doel van de subnet |
Laat de standaardwaarde Default staan. |
Naam |
Voer subnet-1 in. |
IPv4 |
|
IPv4-adresbereik |
Laat de standaardwaarde 10.0.0.0/16 staan. |
Beginadres |
Laat de standaardwaarde 10.0.0.0 staan. |
Grootte |
Laat de standaardwaarde /24 (256 adressen) staan. |
Selecteer Opslaan.
Selecteer Beoordelen en maken onderaan het venster. Wanneer de validatie is geslaagd, selecteert u Maken.
Virtuele machines maken
Met de volgende procedure maakt u twee virtuele machines met de naam vm-1 en vm-2 in het virtuele netwerk:
Zoek en selecteer virtuele machines in de portal.
Selecteer Virtuele machines, selecteer + Maken en selecteer vervolgens Azure virtuele machine.
In het tabblad Basis van Virtuele machine maken, voer de volgende gegevens in of selecteer deze:
Configuratie |
Waarde |
Projectdetails |
|
Abonnement |
Selecteer uw abonnement. |
Bronnengroep |
Selecteer test-rg. |
Instantiegegevens |
|
Naam van de virtuele machine |
Voer vm-1 in. |
Regio |
Selecteer Oost-Amerika 2. |
Beschikbaarheidsopties |
Selecteer Geen infrastructuurredundantie vereist. |
Beveiligingstype |
Laat de standaardwaarde van Standard staan. |
Afbeelding |
Selecteer Ubuntu Server 22.04 LTS - x64 Gen2. |
VM-architectuur |
Laat de standaardwaarde x64 staan. |
Grootte |
Selecteer een grootte. |
Beheerdersaccount |
|
Verificatietype |
Selecteer Wachtwoord. |
Gebruikersnaam |
Voer azureuser in. |
Wachtwoord |
Voer een wachtwoord in. |
Wachtwoord bevestigen |
Voer het wachtwoord opnieuw in. |
Regels voor binnenkomende poorten |
|
Openbare poorten voor inkomend verkeer |
Selecteer Geen. |
Selecteer het tabblad Netwerken . Voer de volgende gegevens in of selecteer deze:
Configuratie |
Waarde |
Netwerkinterface |
|
Virtueel netwerk |
Selecteer vnet-1. |
Subnetwerk |
Selecteer subnet-1 (10.0.0.0/24). |
Openbaar IP-adres |
Selecteer Geen. |
NIC netwerkbeveiligingsgroep |
Selecteer Geavanceerd. |
Netwerkbeveiligingsgroep configureren |
Selecteer Nieuwe maken.
Voer nsg-1 in als naam.
Laat de rest op de standaardwaarden staan en selecteer OK. |
Laat de rest van de instellingen op de standaardwaarden staan en selecteer Beoordelen en maken.
Controleer de instellingen en selecteer Maken.
Wacht tot de eerste virtuele machine is geïmplementeerd en herhaal vervolgens de vorige stappen om een tweede virtuele machine te maken met de volgende instellingen:
Configuratie |
Waarde |
Naam van de virtuele machine |
Voer vm-2 in. |
Virtueel netwerk |
Selecteer vnet-1. |
Subnetwerk |
Selecteer subnet-1 (10.0.0.0/24). |
Openbaar IP-adres |
Selecteer Geen. |
NIC netwerkbeveiligingsgroep |
Selecteer Geavanceerd. |
Netwerkbeveiligingsgroep configureren |
Klik op nsg-1. |
Opmerking
Virtuele machines in een virtueel netwerk met een Azure Bastion-host hebben geen openbare IP-adressen nodig. Bastion biedt het openbare IP-adres en de VM's gebruiken privé-IP's om binnen het netwerk te communiceren. U kunt de openbare IP-adressen verwijderen van vm's in virtuele netwerken die worden gehost door Bastion. Zie Een openbaar IP-adres loskoppelen van een Virtuele Azure-machine voor meer informatie.
Opmerking
Azure biedt een standaard ip-adres voor uitgaande toegang voor VM's waaraan geen openbaar IP-adres is toegewezen of zich in de back-endpool van een interne Azure-load balancer bevinden. Het standaard ip-mechanisme voor uitgaande toegang biedt een uitgaand IP-adres dat niet kan worden geconfigureerd.
Het standaard IP-adres voor uitgaande toegang is uitgeschakeld wanneer een van de volgende gebeurtenissen plaatsvindt:
- Er wordt een openbaar IP-adres toegewezen aan de VIRTUELE machine.
- De virtuele machine wordt in de backendpool van een standaard load balancer geplaatst, met of zonder uitgaande regels.
- Een Azure NAT Gateway hulpbron is toegewezen aan het subnet van de VM.
Virtuele machines die u maakt door virtuele-machineschaalsets in de flexibele orchestratiemodus te gebruiken, hebben geen standaard uitgaande toegang.
Voor meer informatie over uitgaande verbindingen in Azure, zie de standaardinstellingen voor uitgaande toegang in Azure en SNAT (Source Network Address Translation) gebruiken voor uitgaande verbindingen.
Een brongroep maken
Gebruik New-AzResourceGroup om een resourcegroep te maken om het virtuele netwerk te hosten. Voer de volgende code uit om een resourcegroep met de naam test-rg te maken in de Azure-regio eastus2 :
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Een virtueel netwerk maken
Gebruik New-AzVirtualNetwork om een virtueel netwerk met de naam vnet-1 met IP-adresvoorvoegsel 10.0.0.0/16 te maken in de test-rg-resourcegroep en eastus2-locatie:
$vnet = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Azure implementeert resources in een subnet binnen een virtueel netwerk. Gebruik Add-AzVirtualNetworkSubnetConfig om een subnetconfiguratie met de naam subnet-1 te maken met adresvoorvoegsel 10.0.0.0/24:
$subnet = @{
Name = 'subnet-1'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Koppel de subnetconfiguratie aan het virtuele netwerk met behulp van Set-AzVirtualNetwork:
$virtualNetwork | Set-AzVirtualNetwork
Azure Bastion implementeren
Azure Bastion gebruikt uw browser om verbinding te maken met VM's in uw virtuele netwerk via Secure Shell (SSH) of RdP (Remote Desktop Protocol) met behulp van hun privé-IP-adressen. De VM's hebben geen openbare IP-adressen, clientsoftware of speciale configuratie nodig. Zie Wat is Azure Bastion?voor meer informatie over Bastion.
De uurtarieven gaan in vanaf het moment dat Bastion wordt ingezet, ongeacht uitgaand dataverbruik. Zie Prijzen en SKU's voor meer informatie. Als je Bastion implementeert als onderdeel van een tutorial of test, raden we aan om deze bron te verwijderen nadat je ermee klaar bent.
Configureer een Bastion-subnet voor uw virtuele netwerk. Dit subnet is exclusief gereserveerd voor Bastion-resources en moet De naam AzureBastionSubnet hebben.
$subnet = @{
Name = 'AzureBastionSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.1.0/26'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Stel de configuratie in:
$virtualNetwork | Set-AzVirtualNetwork
Maak een openbaar IP-adres voor Bastion. De Bastion-host gebruikt het openbare IP-adres voor toegang tot SSH en RDP via poort 443.
$ip = @{
ResourceGroupName = 'test-rg'
Name = 'public-ip'
Location = 'eastus2'
AllocationMethod = 'Static'
Sku = 'Standard'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip
Gebruik de opdracht New-AzBastion om een nieuwe Standard SKU Bastion-host te maken in AzureBastionSubnet:
$bastion = @{
Name = 'bastion'
ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = 'test-rg'
VirtualNetworkName = 'vnet-1'
Sku = 'Basic'
}
New-AzBastion @bastion
Het duurt ongeveer 10 minuten om de Bastion-resources te implementeren. In de volgende sectie kunt u VM's maken terwijl Bastion wordt geïmplementeerd in uw virtuele netwerk.
Virtuele machines maken
Gebruik New-AzVM om twee virtuele machines met de naam vm-1 en vm-2 te maken in het subnet-1-subnet van het virtuele netwerk. Wanneer u om inloggegevens wordt gevraagd, voert u gebruikersnamen en wachtwoorden voor de VM's in.
Gebruik de volgende code om de eerste virtuele machine te maken:
# 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
Gebruik de volgende code om de tweede VIRTUELE machine te maken:
# 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
Aanbeveling
U kunt de -AsJob
optie gebruiken om een virtuele machine op de achtergrond te maken terwijl u doorgaat met andere taken. Voer bijvoorbeeld het volgende uit New-AzVM @vm1 -AsJob
. Wanneer Azure de VIRTUELE machine op de achtergrond gaat maken, krijgt u ongeveer de volgende uitvoer:
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost New-AzVM
Het duurt enkele minuten voordat Azure de VM's heeft gemaakt. Wanneer Azure klaar is met het maken van de VM's, wordt de uitvoer geretourneerd naar PowerShell.
Opmerking
Vm's in een virtueel netwerk met een Bastion-host hebben geen openbare IP-adressen nodig. Bastion biedt het openbare IP-adres en de VM's gebruiken privé-IP's om binnen het netwerk te communiceren. U kunt de openbare IP-adressen verwijderen van vm's in virtuele netwerken die worden gehost door Bastion. Zie Een openbaar IP-adres loskoppelen van een Virtuele Azure-machine voor meer informatie.
Opmerking
Azure biedt een standaard ip-adres voor uitgaande toegang voor VM's waaraan geen openbaar IP-adres is toegewezen of zich in de back-endpool van een interne Azure-load balancer bevinden. Het standaard ip-mechanisme voor uitgaande toegang biedt een uitgaand IP-adres dat niet kan worden geconfigureerd.
Het standaard IP-adres voor uitgaande toegang is uitgeschakeld wanneer een van de volgende gebeurtenissen plaatsvindt:
- Er wordt een openbaar IP-adres toegewezen aan de VIRTUELE machine.
- De virtuele machine wordt in de backendpool van een standaard load balancer geplaatst, met of zonder uitgaande regels.
- Een Azure NAT Gateway hulpbron is toegewezen aan het subnet van de VM.
Virtuele machines die u maakt door virtuele-machineschaalsets in de flexibele orchestratiemodus te gebruiken, hebben geen standaard uitgaande toegang.
Voor meer informatie over uitgaande verbindingen in Azure, zie de standaardinstellingen voor uitgaande toegang in Azure en SNAT (Source Network Address Translation) gebruiken voor uitgaande verbindingen.
Een brongroep maken
Gebruik az group create om een resourcegroep te maken om het virtuele netwerk te hosten. Gebruik de volgende code om een resourcegroep met de naam test-rg te maken in de Azure-regio Eastus2 :
az group create \
--name test-rg \
--location eastus2
Een virtueel netwerk en een subnet maken
Gebruik az network vnet create om een virtueel netwerk met de naam vnet-1 te maken met een subnet met de naam subnet-1 in de resourcegroep 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
Azure Bastion implementeren
Azure Bastion gebruikt uw browser om verbinding te maken met VM's in uw virtuele netwerk via Secure Shell (SSH) of RdP (Remote Desktop Protocol) met behulp van hun privé-IP-adressen. De VM's hebben geen openbare IP-adressen, clientsoftware of speciale configuratie nodig.
De uurtarieven gaan in vanaf het moment dat Bastion wordt ingezet, ongeacht uitgaand dataverbruik. Zie Prijzen en SKU's voor meer informatie. Als je Bastion implementeert als onderdeel van een tutorial of test, raden we aan om deze bron te verwijderen nadat je ermee klaar bent. Zie Wat is Azure Bastion?voor meer informatie over Bastion.
Gebruik az network vnet subnet create om een Bastion-subnet voor uw virtuele netwerk te maken. Dit subnet is exclusief gereserveerd voor Bastion-resources en moet De naam AzureBastionSubnet hebben.
az network vnet subnet create \
--name AzureBastionSubnet \
--resource-group test-rg \
--vnet-name vnet-1 \
--address-prefix 10.0.1.0/26
Maak een openbaar IP-adres voor Bastion. Dit IP-adres wordt gebruikt om vanaf internet verbinding te maken met de Bastion-host. Gebruik az network public-ip create om een openbaar IP-adres te maken met de naam public-ip in de test-rg-resourcegroep :
az network public-ip create \
--resource-group test-rg \
--name public-ip \
--sku Standard \
--location eastus2 \
--zone 1 2 3
Gebruik az network bastion create om een Bastion-host te maken in AzureBastionSubnet voor uw virtuele netwerk:
az network bastion create \
--name bastion \
--public-ip-address public-ip \
--resource-group test-rg \
--vnet-name vnet-1 \
--location eastus2
Het duurt ongeveer 10 minuten om de Bastion-resources te implementeren. In de volgende sectie kunt u VM's maken terwijl Bastion wordt geïmplementeerd in uw virtuele netwerk.
Virtuele machines maken
Gebruik az vm create om twee virtuele machines met de naam vm-1 en vm-2 te maken in het subnet-1-subnet van het virtuele netwerk. Wanneer u om referenties wordt gevraagd, voert u gebruikersnamen en wachtwoorden voor de virtuele machines in.
Gebruik de volgende opdracht om de eerste virtuele machine te maken:
az vm create \
--resource-group test-rg \
--admin-username azureuser \
--authentication-type password \
--name vm-1 \
--image Ubuntu2204 \
--public-ip-address ""
Gebruik de volgende opdracht om de tweede VIRTUELE machine te maken:
az vm create \
--resource-group test-rg \
--admin-username azureuser \
--authentication-type password \
--name vm-2 \
--image Ubuntu2204 \
--public-ip-address ""
Aanbeveling
U kunt ook de --no-wait
optie gebruiken om een virtuele machine op de achtergrond te maken terwijl u doorgaat met andere taken.
Het maken van de VM's duurt enkele minuten. Nadat Azure elke VIRTUELE machine heeft gemaakt, retourneert de Azure CLI uitvoer die vergelijkbaar is met het volgende bericht:
{
"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": ""
}
Opmerking
Vm's in een virtueel netwerk met een Bastion-host hebben geen openbare IP-adressen nodig. Bastion biedt het openbare IP-adres en de VM's gebruiken privé-IP's om binnen het netwerk te communiceren. U kunt de openbare IP-adressen verwijderen van vm's in virtuele netwerken die worden gehost door Bastion. Zie Een openbaar IP-adres loskoppelen van een Virtuele Azure-machine voor meer informatie.
Opmerking
Azure biedt een standaard ip-adres voor uitgaande toegang voor VM's waaraan geen openbaar IP-adres is toegewezen of zich in de back-endpool van een interne Azure-load balancer bevinden. Het standaard ip-mechanisme voor uitgaande toegang biedt een uitgaand IP-adres dat niet kan worden geconfigureerd.
Het standaard IP-adres voor uitgaande toegang is uitgeschakeld wanneer een van de volgende gebeurtenissen plaatsvindt:
- Er wordt een openbaar IP-adres toegewezen aan de VIRTUELE machine.
- De virtuele machine wordt in de backendpool van een standaard load balancer geplaatst, met of zonder uitgaande regels.
- Een Azure NAT Gateway hulpbron is toegewezen aan het subnet van de VM.
Virtuele machines die u maakt door virtuele-machineschaalsets in de flexibele orchestratiemodus te gebruiken, hebben geen standaard uitgaande toegang.
Voor meer informatie over uitgaande verbindingen in Azure, zie de standaardinstellingen voor uitgaande toegang in Azure en SNAT (Source Network Address Translation) gebruiken voor uitgaande verbindingen.
De sjabloon controleren
De sjabloon die u in deze quickstart gebruikt, is afkomstig van Azure-quickstartsjablonen.
{
"$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')]"
}
}
]
}
}
]
}
De sjabloon definieert de volgende Azure-resources:
De sjabloon implementeren
De Resource Manager-sjabloon implementeren in Azure:
Selecteer Implementeren in Azure om u aan te melden bij Azure en de sjabloon te openen. Met de sjabloon wordt een virtueel netwerk met twee subnetten gemaakt.
Voer in de portal op de pagina Een virtueel netwerk maken met twee subnetten de volgende waarden in of selecteer deze:
-
Resourcegroep: Selecteer Nieuwe maken, voer CreateVNetQS-rg in voor de naam van de resourcegroep en selecteer VERVOLGENS OK.
-
Naam van virtueel netwerk: voer een naam in voor het nieuwe virtuele netwerk.
Selecteer Beoordelen en maken en selecteer vervolgens Maken.
Wanneer de implementatie is voltooid, selecteert u de knop Ga naar de resource om de resources te controleren die u hebt geïmplementeerd.
Geïmplementeerde middelen beoordelen
Verken de resources die u met het virtuele netwerk hebt gemaakt door door de instellingenvensters voor VNet1 te bladeren:
Op het tabblad Overzicht ziet u de gedefinieerde adresruimte van 10.0.0.0/16.
Op het tabblad Subnetten ziet u de geïmplementeerde subnetten van Subnet1 en Subnet2 met de juiste waarden uit de sjabloon.
Raadpleeg Microsoft.Network/virtualNetworks voor meer informatie over de syntaxis en eigenschappen van JSON voor een virtueel netwerk in een sjabloon.
Het virtuele netwerk en de VM's maken
In deze quickstart wordt gebruikgemaakt van de Twee VM's in VNET Bicep-sjabloon van Azure Resource Manager Quickstart-sjablonen om het virtuele netwerk, het resourcesubnet en de VM's te maken. De Bicep-sjabloon definieert de volgende Azure-resources:
Bekijk het Bicep-bestand:
@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
De Bicep-sjabloon implementeren
Sla het Bicep-bestand op uw lokale computer op als main.bicep.
Implementeer het Bicep-bestand met behulp van de Azure CLI of Azure PowerShell:
CLI (Command Line Interface)
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
Wanneer de implementatie is voltooid, geeft een bericht aan dat de implementatie is geslaagd.
Azure Bastion implementeren
Bastion gebruikt uw browser om verbinding te maken met VM's in uw virtuele netwerk via Secure Shell (SSH) of RdP (Remote Desktop Protocol) met behulp van hun privé-IP-adressen. De VM's hebben geen openbare IP-adressen, clientsoftware of speciale configuratie nodig. Zie Wat is Azure Bastion?voor meer informatie over Bastion.
Opmerking
De uurtarieven gaan in vanaf het moment dat Bastion wordt ingezet, ongeacht uitgaand dataverbruik. Zie Prijzen en SKU's voor meer informatie. Als je Bastion implementeert als onderdeel van een tutorial of test, raden we aan om deze bron te verwijderen nadat je ermee klaar bent.
Gebruik de Azure Bastion as a Service Bicep-sjabloon van Azure Resource Manager-quickstartsjablonen om Bastion in uw virtuele netwerk te implementeren en te configureren. Deze Bicep-sjabloon definieert de volgende Azure-resources:
Bekijk het Bicep-bestand:
@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
}
}
}
]
}
}
De Bicep-sjabloon implementeren
Sla het Bicep-bestand op uw lokale computer op als bastion.bicep.
Gebruik een tekst- of code-editor om de volgende wijzigingen aan te brengen in het bestand:
- Regel 2: wijzigen
param vnetName string
van 'vnet01'
in 'VNet'
.
- Regel 5: Verander
param vnetIpPrefix string
van '10.1.0.0/16'
naar '10.0.0.0/16'
.
- Regel 12: Verander
param vnetNewOrExisting string
van 'new'
naar 'existing'
.
- Regel 15: wijzigen
param bastionSubnetIpPrefix string
van '10.1.1.0/26'
in '10.0.1.0/26'
.
- Regel 18: Wijzigen
param bastionHostName string
in param bastionHostName = 'VNet-bastion'
.
De eerste 18 regels van uw Bicep-bestand moeten er nu uitzien als in dit voorbeeld:
@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'
Sla het bastion.bicep-bestand op.
Implementeer het Bicep-bestand met behulp van de Azure CLI of Azure PowerShell:
CLI (Command Line Interface)
az deployment group create \
--resource-group TestRG \
--template-file bastion.bicep
PowerShell
$deploymentParams = @{
ResourceGroupName = 'TestRG'
TemplateFile = 'bastion.bicep'
}
New-AzResourceGroupDeployment @deploymentParams
Wanneer de implementatie is voltooid, geeft een bericht aan dat de implementatie is geslaagd.
Opmerking
Vm's in een virtueel netwerk met een Bastion-host hebben geen openbare IP-adressen nodig. Bastion biedt het openbare IP-adres en de VM's gebruiken privé-IP's om binnen het netwerk te communiceren. U kunt de openbare IP-adressen verwijderen van vm's in virtuele netwerken die worden gehost door Bastion. Zie Een openbaar IP-adres loskoppelen van een Virtuele Azure-machine voor meer informatie.
Geïmplementeerde middelen beoordelen
Gebruik de Azure CLI, Azure PowerShell of Azure Portal om de geïmplementeerde resources te controleren:
CLI (Command Line Interface)
az resource list --resource-group TestRG
PowerShell
Get-AzResource -ResourceGroupName TestRG
Portaal
Zoek en selecteer resourcegroepen in Azure Portal. Selecteer TestRG op de pagina Resourcegroepen in de lijst met resourcegroepen.
Bekijk op de overzichtspagina voor TestRG alle resources die u hebt gemaakt, inclusief het virtuele netwerk, de twee VM's en de Bastion-host.
Selecteer het virtuele VNet-netwerk . Noteer op de pagina Overzicht voor VNet de gedefinieerde adresruimte 10.0.0.0/16.
Selecteer Subnetten in het linkermenu. Noteer op de pagina Subnetten de geïmplementeerde subnetten van backendSubnet en AzureBastionSubnet met de toegewezen waarden uit de Bicep-bestanden.