Zjistěte, jak vytvořit virtuální síť Azure pomocí webu Azure Portal, Azure CLI, Azure PowerShellu, šablony Azure Resource Manageru (ARM), šablony Bicep a Terraformu. K otestování připojení mezi virtuálními počítači ve stejné virtuální síti se nasadí dva virtuální počítače a hostitel služby Azure Bastion. Hostitel Služby Azure Bastion usnadňuje zabezpečené a bezproblémové připojení RDP a SSH k virtuálním počítačům přímo na webu Azure Portal přes PROTOKOL SSL.
Virtuální síť je základním stavebním blokem privátních sítí v Azure. Azure Virtual Network umožňuje prostředkům Azure, jako jsou virtuální počítače, bezpečně komunikovat mezi sebou a internetem.
Vytvoření skupiny zdrojů
Přihlaste se k webu Azure Portal pomocí svého účtu Azure.
Do vyhledávacího pole v horní části portálu zadejte skupinu prostředků. Ve výsledcích hledání vyberte skupiny prostředků.
Vyberte + Vytvořit.
Na kartě Základy v části Vytvořit skupinu prostředků zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
| Předplatné |
Vyberte své předplatné. |
| Skupina zdrojů |
Zadejte <skupinu> prostředků. |
| Región |
Vyberte <oblast>. |
Vyberte možnost Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Vytvoření virtuální sítě
Do vyhledávacího pole v horní části portálu zadejte virtuální síť. Ve výsledcích hledání vyberte virtuální sítě .
Vyberte + Vytvořit.
Na kartě ZákladyVytvořit virtuální síť zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
|
Podrobnosti projektu |
|
| Předplatné |
Vyberte své předplatné. |
| Skupina zdrojů |
Vyberte <skupinu> prostředků. |
|
Podrobnosti o instanci |
|
| Název |
Zadejte <virtuální síť>. |
| Región |
Vyberte <oblast>. |
Výběrem možnosti Další přejděte na kartu Zabezpečení .
Výběrem možnosti Další přejděte na kartu IP adresy .
V poli Adresní prostor v Podsítě vyberte výchozí podsíť.
V části Upravit podsíť zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
|
Podrobnosti o podsíti |
|
| Šablona podsítě |
Ponechte výchozí Default. |
| Název |
Zadejte <podsíť>. |
| Počáteční adresa |
Ponechte výchozí hodnotu 10.0.0.0. |
| Velikost podsítě |
Ponechte výchozí hodnotu /24 (256 adres). |
Vyberte Uložit.
Vyberte Zkontrolovat a vytvořit v dolní části obrazovky a po ověření vyberte Vytvořit.
Nasazení služby Azure Bastion
Azure Bastion používá váš prohlížeč k připojení k virtuálním počítačům ve vaší virtuální síti přes protokol SSH (Secure Shell) nebo protokol RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci. Další informace o službě Azure Bastion najdete v tématu Azure Bastion.
Poznámka:
Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.
Do vyhledávacího pole v horní části portálu zadejte Bastion. Ve výsledcích hledání vyberte bastions .
Vyberte + Vytvořit.
Na kartě ZákladyVytvoření bastionu zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
|
Podrobnosti projektu |
|
| Předplatné |
Vyberte své předplatné. |
| Skupina zdrojů |
Vyberte <skupinu> prostředků. |
|
Podrobnosti o instanci |
|
| Název |
Zadejte <bastion>. |
| Región |
Vyberte <oblast>. |
| Vrstva |
Vyberte Vývojář. |
|
Konfigurace virtuálních sítí |
|
| Virtuální síť |
Vyberte <virtuální síť>. |
Vyberte možnost Zkontrolovat a vytvořit.
Vyberte Vytvořit.
Vytvoření virtuálních počítačů
Následující postup vytvoří ve virtuální síti dva virtuální počítače s názvem <virtual-machine-1> a <virtual-machine-2> :
Na portálu vyhledejte a vyberte Virtuální počítače.
Ve virtuálních počítačích vyberte + Vytvořit a pak vyberte virtuální počítač Azure.
Na kartě Základy vytvoření virtuálního počítače zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
|
Podrobnosti projektu |
|
| Předplatné |
Vyberte své předplatné. |
| Skupina zdrojů |
Vyberte <skupinu> prostředků. |
|
Podrobnosti o instanci |
|
| Název virtuálního počítače |
Zadejte <virtuální počítač-1>. |
| Región |
Vyberte <oblast>. |
| Možnosti dostupnosti |
Vyberte Možnost Bez redundance infrastruktury. |
| Typ zabezpečení |
Ponechte výchozí hodnotu Standard. |
| Obrázek |
Vyberte Ubuntu Server 22.04 LTS - x64 Gen2. |
| Architektura virtuálního počítače |
Ponechte výchozí hodnotu x64. |
| Velikost |
Vyberte velikost. |
|
Účet správce |
|
| Typ autentizace |
Vyberte veřejný klíč SSH. |
| Uživatelské jméno |
Zadejte azureuser. |
| Zdroj veřejného klíče SSH |
Vyberte Vygenerovat nový pár klíčů. |
| Název páru klíčů |
Zadejte <virtuální počítač-1-klíč>. |
|
Pravidla portů pro příchozí spojení |
|
| Veřejné příchozí porty |
Vyberte Žádné. |
Vyberte kartu Sítě . Zadejte nebo vyberte následující informace:
| Nastavení |
Hodnota |
|
Síťové rozhraní |
|
| Virtuální síť |
Vyberte <virtuální síť>. |
| Podsíť |
Vyberte <podsíť> (10.0.0.0/24). |
| Veřejná IP adresa |
Vyberte Žádné. |
| Skupina zabezpečení sítě NIC |
Vyberte Upřesnit. |
| Konfigurace skupiny zabezpečení sítě |
Vyberte Vytvořit nový.
Jako název zadejte <skupinu> zabezpečení sítě.
Ponechte zbytek ve výchozím nastavení a vyberte OK. |
Zbývající nastavení ponechte ve výchozím nastavení a vyberte Zkontrolovat a vytvořit.
Zkontrolujte nastavení a vyberte Vytvořit.
Počkejte, až se první virtuální počítač nasadí, a potom zopakujte předchozí kroky a vytvořte druhý virtuální počítač s následujícím nastavením:
| Nastavení |
Hodnota |
| Název virtuálního počítače |
Zadejte <virtuální počítač-2>. |
| Zdroj veřejného klíče SSH |
Vyberte Vygenerovat nový pár klíčů. |
| Název páru klíčů |
Zadejte <virtuální počítač-2-klíč>. |
| Virtuální síť |
Vyberte <virtuální síť>. |
| Podsíť |
Vyberte <podsíť> (10.0.0.0/24). |
| Veřejná IP adresa |
Vyberte Žádné. |
| Skupina zabezpečení sítě NIC |
Vyberte Upřesnit. |
| Konfigurace skupiny zabezpečení sítě |
Vyberte <skupinu> zabezpečení sítě. |
Poznámka:
Virtuální počítače ve virtuální síti s hostitelem služby Azure Bastion nepotřebují veřejné IP adresy. Bastion poskytuje veřejnou IP adresu a virtuální počítače používají privátní IP adresy ke komunikaci v síti. Veřejné IP adresy můžete odebrat z libovolného virtuálního počítače ve virtuálních sítích hostovaných službou Bastion. Další informace najdete v tématu Odpojení veřejné IP adresy od virtuálního počítače Azure.
Poznámka:
Azure poskytuje výchozí odchozí IP adresu pro virtuální počítače, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endovém fondu interního základního nástroje pro vyrovnávání zatížení Azure. Výchozí mechanismus odchozích IP adres poskytuje odchozí IP adresu, která není konfigurovatelná.
Výchozí ip adresa odchozího přístupu je zakázaná, když dojde k jedné z následujících událostí:
- Virtuálnímu počítači se přiřadí veřejná IP adresa.
- Virtuální počítač je umístěn do back-end poolu standardního load balanceru s odchozími pravidly nebo bez nich.
- Prostředek Azure NAT Gateway je přiřazen k podsíti virtuálního počítače.
Virtuální počítače, které vytvoříte pomocí škálovacích sad virtuálních počítačů v flexibilním režimu orchestrace, nemají výchozí odchozí přístup.
Další informace o odchozích připojeních v Azure najdete v tématu Výchozí odchozí přístup v Azure a použití překladu zdrojových síťových adres (SNAT) pro odchozí připojení.
Vytvoření skupiny zdrojů
Pomocí rutiny New-AzResourceGroup vytvořte skupinu prostředků pro virtuální síť. Spuštěním následujícího kódu vytvořte skupinu prostředků s názvem <resource-group> v <oblasti> Azure:
# Variable declarations
$resourceGroupName = 'test-rg' # <resource-group>
$location = 'eastus2' # <region>
$rg = @{
Name = $resourceGroupName
Location = $location
}
New-AzResourceGroup @rg
Vytvoření virtuální sítě
Pomocí rutiny New-AzVirtualNetwork vytvořte virtuální síť s názvem <virtual-network> s předponou IP adresy 10.0.0.0/16 ve <skupině prostředků> a <umístění oblasti> :
# Variable declarations
$virtualNetworkName = 'vnet-1' # <virtual-network>
$resourceGroupName = 'test-rg' # <resource-group>
$location = 'eastus2' # <region>
$vnet = @{
Name = $virtualNetworkName
ResourceGroupName = $resourceGroupName
Location = $location
AddressPrefix = '10.0.0.0/16'
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Azure nasadí prostředky do podsítě v rámci virtuální sítě. Pomocí rutiny Add-AzVirtualNetworkSubnetConfig vytvořte konfiguraci podsítě >s< předponou adresy 10.0.0.0/24:
# Variable declarations
$subnetName = 'subnet-1' # <subnet>
$subnet = @{
Name = $subnetName
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Přidružte konfiguraci podsítě k virtuální síti pomocí rutiny Set-AzVirtualNetwork:
$virtualNetwork | Set-AzVirtualNetwork
Nasazení služby Azure Bastion
Azure Bastion se pomocí prohlížeče připojuje k virtuálním počítačům ve vaší virtuální síti přes Secure Shell (SSH) nebo RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci. Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?
Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.
Nakonfigurujte podsíť Bastion pro vaši virtuální síť. Tato podsíť je vyhrazená výhradně pro prostředky Bastionu a musí mít název AzureBastionSubnet.
$subnet = @{
Name = 'AzureBastionSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.1.0/26'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Nastavte konfiguraci:
$virtualNetwork | Set-AzVirtualNetwork
Vytvořte veřejnou IP adresu pro Bastion. Hostitel Bastion používá veřejnou IP adresu pro přístup k SSH a RDP přes port 443.
# Variable declarations
$resourceGroupName = 'test-rg' # <resource-group>
$location = 'eastus2' # <region>
$ip = @{
ResourceGroupName = $resourceGroupName
Name = 'public-ip'
Location = $location
AllocationMethod = 'Static'
Sku = 'Standard'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip
Pomocí příkazu New-AzBastion vytvořte nového Bastion hosta typu Basic SKU v AzureBastionSubnet:
# Variable declarations
$bastionName = 'bastion' # <bastion>
$resourceGroupName = 'test-rg' # <resource-group>
$virtualNetworkName = 'vnet-1' # <virtual-network>
$bastion = @{
Name = $bastionName
ResourceGroupName = $resourceGroupName
PublicIpAddressRgName = $resourceGroupName
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = $resourceGroupName
VirtualNetworkName = $virtualNetworkName
Sku = 'Basic'
}
New-AzBastion @bastion
Nasazení prostředků Bastionu trvá přibližně 10 minut. Virtuální počítače můžete vytvořit v další části, zatímco Bastion se nasadí do vaší virtuální sítě.
Vytvoření virtuálních počítačů
Vytvoření prvního virtuálního počítače
Vytvořte virtuální počítač pomocí rutiny New-AzVM. Následující příklad vytvoří virtuální počítač s názvem <virtual-machine-1> ve <virtuální síti virtuální sítě> .
# Variable declarations
$resourceGroupName = 'test-rg' # <resource-group>
$location = 'eastus2' # <region>
$vm1Name = 'vm-1' # <virtual-machine-1>
$virtualNetworkName = 'vnet-1' # <virtual-network>
$subnetName = 'subnet-1' # <subnet>
# Create a credential object
$cred = Get-Credential
# Define the virtual machine parameters
$vmParams = @{
ResourceGroupName = $resourceGroupName
Location = $location
Name = $vm1Name
Image = "Ubuntu2204"
Size = "Standard_DS1_v2"
Credential = $cred
VirtualNetworkName = $virtualNetworkName
SubnetName = $subnetName
PublicIpAddressName = "" # No public IP address
SshKeyName = "$vm1Name-ssh-key"
GenerateSshKey = $true
}
# Create the virtual machine
New-AzVM @vmParams
Vytvoření druhého virtuálního počítače
# Variable declarations
$resourceGroupName = 'test-rg' # <resource-group>
$location = 'eastus2' # <region>
$vm2Name = 'vm-2' # <virtual-machine-2>
$virtualNetworkName = 'vnet-1' # <virtual-network>
$subnetName = 'subnet-1' # <subnet>
# Create a credential object
$cred = Get-Credential
# Define the virtual machine parameters
$vmParams = @{
ResourceGroupName = $resourceGroupName
Location = $location
Name = $vm2Name
Image = "Ubuntu2204"
Size = "Standard_DS1_v2"
Credential = $cred
VirtualNetworkName = $virtualNetworkName
SubnetName = $subnetName
PublicIpAddressName = "" # No public IP address
SshKeyName = "$vm2Name-ssh-key"
GenerateSshKey = $true
}
# Create the virtual machine
New-AzVM @vmParams
Vytvoření virtuálních počítačů v Azure trvá několik minut. Jakmile Azure dokončí vytváření virtuálních počítačů, vrátí výstup do PowerShellu.
Poznámka:
Virtuální počítače ve virtuální síti s hostitelem Bastion nepotřebují veřejné IP adresy. Bastion poskytuje veřejnou IP adresu a virtuální počítače používají privátní IP adresy ke komunikaci v síti. Veřejné IP adresy můžete odebrat z libovolného virtuálního počítače ve virtuálních sítích hostovaných službou Bastion. Další informace najdete v tématu Zrušení přidružení veřejné IP adresy z virtuálního počítače Azure.
Poznámka:
Azure poskytuje výchozí odchozí IP adresu pro virtuální počítače, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endovém fondu interního základního nástroje pro vyrovnávání zatížení Azure. Výchozí mechanismus odchozích IP adres poskytuje odchozí IP adresu, která není konfigurovatelná.
Výchozí ip adresa odchozího přístupu je zakázaná, když dojde k jedné z následujících událostí:
- Virtuálnímu počítači se přiřadí veřejná IP adresa.
- Virtuální počítač je umístěn do back-end poolu standardního load balanceru s odchozími pravidly nebo bez nich.
- Prostředek Azure NAT Gateway je přiřazen k podsíti virtuálního počítače.
Virtuální počítače, které vytvoříte pomocí škálovacích sad virtuálních počítačů v flexibilním režimu orchestrace, nemají výchozí odchozí přístup.
Další informace o odchozích připojeních v Azure najdete v tématu Výchozí odchozí přístup v Azure a použití překladu zdrojových síťových adres (SNAT) pro odchozí připojení.
Vytvoření skupiny zdrojů
Pomocí příkazu az group create vytvořte skupinu prostředků pro hostování virtuální sítě. Pomocí následujícího kódu vytvořte skupinu prostředků s názvem <resource-group> v <oblasti> Azure:
# Variable declarations
resourceGroupName="test-rg" # <resource-group>
location="eastus2" # <region>
az group create \
--name $resourceGroupName \
--location $location
Vytvoření virtuální sítě a podsítě
Pomocí příkazu az network vnet create vytvořte virtuální síť s názvem <virtual-network> s podsítí s názvem< podsíť> ve <skupině prostředků skupiny> prostředků:
# Variable declarations
virtualNetworkName="vnet-1" # <virtual-network>
resourceGroupName="test-rg" # <resource-group>
subnetName="subnet-1" # <subnet>
az network vnet create \
--name $virtualNetworkName \
--resource-group $resourceGroupName \
--address-prefix 10.0.0.0/16 \
--subnet-name $subnetName \
--subnet-prefixes 10.0.0.0/24
Nasazení služby Azure Bastion
Azure Bastion se pomocí prohlížeče připojuje k virtuálním počítačům ve vaší virtuální síti přes Secure Shell (SSH) nebo RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci.
Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit. Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?
Pomocí příkazu az network vnet subnet create vytvořte podsíť Bastion pro vaši virtuální síť. Tato podsíť je vyhrazená výhradně pro prostředky Bastionu a musí mít název AzureBastionSubnet.
# Variable declarations
resourceGroupName="test-rg" # <resource-group>
virtualNetworkName="vnet-1" # <virtual-network>
az network vnet subnet create \
--name AzureBastionSubnet \
--resource-group $resourceGroupName \
--vnet-name $virtualNetworkName \
--address-prefix 10.0.1.0/26
Vytvořte veřejnou IP adresu pro Bastion. Tato IP adresa se používá k připojení k hostiteli Bastion z internetu. Pomocí příkazu az network public-ip create vytvořte veřejnou IP adresu s názvem public-ip ve <skupině prostředků skupiny> prostředků:
# Variable declarations
resourceGroupName="test-rg" # <resource-group>
location="eastus2" # <region>
az network public-ip create \
--resource-group $resourceGroupName \
--name public-ip \
--sku Standard \
--location $location \
--zone 1 2 3
Pomocí příkazu az network bastion create vytvořte hostitele Bastionu ve službě AzureBastionSubnet pro vaši virtuální síť:
# Variable declarations
bastionName="bastion" # <bastion>
resourceGroupName="test-rg" # <resource-group>
virtualNetworkName="vnet-1" # <virtual-network>
location="eastus2" # <region>
az network bastion create \
--name $bastionName \
--public-ip-address public-ip \
--resource-group $resourceGroupName \
--vnet-name $virtualNetworkName \
--location $location \
--sku Basic
Nasazení prostředků Bastionu trvá přibližně 10 minut. Virtuální počítače můžete vytvořit v další části, zatímco Bastion se nasadí do vaší virtuální sítě.
Vytvoření virtuálních počítačů
Vytvoření prvního virtuálního počítače
Vytvořte virtuální počítač pomocí příkazu az vm create. Následující příklad vytvoří virtuální počítač s názvem <virtual-machine-1> ve <virtuální síti virtuální sítě> . Pokud klíče SSH ještě neexistují ve výchozím umístění klíče, příkaz je vytvoří. Tato --no-wait možnost vytvoří virtuální počítač na pozadí, takže můžete pokračovat k dalšímu kroku.
# Variable declarations
resourceGroupName="test-rg" # <resource-group>
vm1Name="vm-1" # <virtual-machine-1>
virtualNetworkName="vnet-1" # <virtual-network>
subnetName="subnet-1" # <subnet>
az vm create \
--resource-group $resourceGroupName \
--name $vm1Name \
--image Ubuntu2204 \
--vnet-name $virtualNetworkName \
--subnet $subnetName \
--public-ip-address "" \
--admin-username azureuser \
--generate-ssh-keys \
--no-wait
Vytvoření druhého virtuálního počítače
Vytvořte virtuální počítač s názvem <virtual-machine-2> ve <virtuální síti virtuální sítě> .
# Variable declarations
resourceGroupName="test-rg" # <resource-group>
vm2Name="vm-2" # <virtual-machine-2>
virtualNetworkName="vnet-1" # <virtual-network>
subnetName="subnet-1" # <subnet>
az vm create \
--resource-group $resourceGroupName \
--name $vm2Name \
--image Ubuntu2204 \
--vnet-name $virtualNetworkName \
--subnet $subnetName \
--public-ip-address "" \
--admin-username azureuser \
--generate-ssh-keys
Vytvoření virtuálního počítače trvá několik minut.
Poznámka:
Virtuální počítače ve virtuální síti s hostitelem Bastion nepotřebují veřejné IP adresy. Bastion poskytuje veřejnou IP adresu a virtuální počítače používají privátní IP adresy ke komunikaci v síti. Veřejné IP adresy můžete odebrat z libovolného virtuálního počítače ve virtuálních sítích hostovaných službou Bastion. Další informace najdete v tématu Odpojení veřejné IP adresy od virtuálního počítače Azure.
Poznámka:
Azure poskytuje výchozí odchozí IP adresu pro virtuální počítače, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endovém fondu interního základního nástroje pro vyrovnávání zatížení Azure. Výchozí mechanismus odchozích IP adres poskytuje odchozí IP adresu, která není konfigurovatelná.
Výchozí ip adresa odchozího přístupu je zakázaná, když dojde k jedné z následujících událostí:
- Virtuálnímu počítači se přiřadí veřejná IP adresa.
- Virtuální počítač je umístěn do back-end poolu standardního load balanceru s odchozími pravidly nebo bez nich.
- Prostředek Azure NAT Gateway je přiřazen k podsíti virtuálního počítače.
Virtuální počítače, které vytvoříte pomocí škálovacích sad virtuálních počítačů v flexibilním režimu orchestrace, nemají výchozí odchozí přístup.
Další informace o odchozích připojeních v Azure najdete v tématu Výchozí odchozí přístup v Azure a použití překladu zdrojových síťových adres (SNAT) pro odchozí připojení.
Kontrola šablony
Šablona, kterou použijete v tomto rychlém startu, je ze šablon Rychlého startu 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')]"
}
}
]
}
}
]
}
Šablona definuje následující prostředky Azure:
Nasazení šablony
Nasazení šablony Resource Manageru do Azure:
Výběrem Nasadit do Azure se přihlaste k Azure a otevřete šablonu. Šablona vytvoří virtuální síť se dvěma podsítěmi.
Na portálu na stránce Vytvořit virtuální síť se dvěma podsítěmi zadejte nebo vyberte následující hodnoty:
-
Skupina prostředků: Vyberte Vytvořit nový, jako název skupiny prostředků zadejte CreateVNetQS-rg a pak vyberte OK.
-
Název virtuální sítě: Zadejte název nové virtuální sítě.
Vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.
Po dokončení nasazení vyberte tlačítko Přejít k prostředku a zkontrolujte prostředky, které jste nasadili.
Kontrola nasazených prostředků
Prozkoumejte prostředky, které jste vytvořili s virtuální sítí, procházením panelů nastavení pro VNet1:
Další informace o syntaxi a vlastnostech JSON pro virtuální síť v šabloně najdete v tématu Microsoft.Network/virtualNetworks.
Vytvoření virtuální sítě a virtuálních počítačů
V tomto rychlém startu se k vytvoření virtuální sítě, podsítě prostředků a virtuálních počítačů používají šablony Bicep pro dvě virtuální počítače ve virtuální síti z šablon Azure Resource Manageru . Šablona Bicep definuje následující prostředky Azure:
Zkontrolujte soubor 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
Nasazení šablony Bicep
Uložte soubor Bicep do místního počítače jako main.bicep.
Nasaďte soubor Bicep pomocí Azure CLI nebo Azure PowerShellu:
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
Po dokončení nasazení se zobrazí zpráva, že nasazení bylo úspěšné.
Nasazení služby Azure Bastion
Bastion používá váš prohlížeč k připojení k virtuálním počítačům ve vaší virtuální síti přes Secure Shell (SSH) nebo RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci. Další informace o službě Azure Bastion najdete v tématu Co je Azure Bastion?
Poznámka:
Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.
K nasazení a konfiguraci Bastionu ve vaší virtuální síti použijte šablonu Azure Bastion jako šablonu Bicep služby Azure Resource Manager . Tato šablona Bicep definuje následující prostředky Azure:
Zkontrolujte soubor 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
}
}
}
]
}
}
Nasazení šablony Bicep
Uložte soubor Bicep do místního počítače jako bastion.bicep.
Pomocí textového editoru nebo editoru kódu proveďte v souboru následující změny:
- Řádek 2: Změna
param vnetName string z 'vnet01' na 'VNet'.
- Řádek 5: Změna
param vnetIpPrefix string z '10.1.0.0/16' na '10.0.0.0/16'.
- Řádek 12: Změna
param vnetNewOrExisting string z 'new' na 'existing'.
- Řádek 15: Změna
param bastionSubnetIpPrefix string z '10.1.1.0/26' na '10.0.1.0/26'.
- Řádek 18: Změňte
param bastionHostName string na param bastionHostName = 'VNet-bastion'.
Prvních 18 řádků vašeho souboru Bicep by teď mělo vypadat jako v tomto příkladu:
@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'
Uložte soubor bastion.bicep .
Nasaďte soubor Bicep pomocí Azure CLI nebo Azure PowerShellu:
CLI
az deployment group create \
--resource-group TestRG \
--template-file bastion.bicep
PowerShell
$deploymentParams = @{
ResourceGroupName = 'TestRG'
TemplateFile = 'bastion.bicep'
}
New-AzResourceGroupDeployment @deploymentParams
Po dokončení nasazení se zobrazí zpráva, že nasazení bylo úspěšné.
Poznámka:
Virtuální počítače ve virtuální síti s hostitelem Bastion nepotřebují veřejné IP adresy. Bastion poskytuje veřejnou IP adresu a virtuální počítače používají privátní IP adresy ke komunikaci v síti. Veřejné IP adresy můžete odebrat z libovolného virtuálního počítače ve virtuálních sítích hostovaných službou Bastion. Další informace najdete v tématu Odpojení veřejné IP adresy od virtuálního počítače Azure.
Kontrola nasazených prostředků
Pomocí Azure CLI, Azure PowerShellu nebo webu Azure Portal zkontrolujte nasazené prostředky:
CLI
az resource list --resource-group TestRG
PowerShell
Get-AzResource -ResourceGroupName TestRG
Portal
Na webu Azure Portal vyhledejte a vyberte skupiny prostředků. Na stránce Skupiny prostředků vyberte TestRG ze seznamu skupin prostředků.
Na stránce Přehled pro TestRG zkontrolujte všechny prostředky, které jste vytvořili, včetně virtuální sítě, dvou virtuálních počítačů a hostitele Bastion.
Vyberte virtuální síť VNet. Na stránce Přehledvirtuální sítě si poznamenejte definovaný adresní prostor 10.0.0.0/16.
V nabídce vlevo vyberte Podsítě. Na stránce Podsítě si všimněte nasazených podsítí back-endSubnet a AzureBastionSubnet s přiřazenými hodnotami ze souborů Bicep.