Vytvoření prostředků virtuální sítě pomocí nástroje Bicep
Řada nasazení Azure vyžaduje nasazení a konfiguraci síťových prostředků. K definování síťových prostředků Azure můžete použít Bicep.
Virtuální sítě a podsítě
Definujte virtuální sítě vytvořením prostředku typu Microsoft.Network/virtualNetworks
.
Konfigurace podsítí pomocí vlastnosti podsítě
Virtuální sítě obsahují podsítě, což jsou logické skupiny IP adres v rámci virtuální sítě. Existují dva způsoby, jak definovat podsítě v nástroji Bicep: pomocí subnets
vlastnosti prostředku virtuální sítě a vytvořením podřízeného prostředku typu Microsoft.Network/virtualNetworks/subnets
.
Upozornění
Vyhněte se definování podsítí jako podřízených prostředků. Tento přístup může vést k výpadku vašich prostředků během následných nasazení nebo k selhání nasazení.
Nejlepší je definovat podsítě v rámci definice virtuální sítě, jak je znázorněno v tomto příkladu:
Následující příklad je součástí většího příkladu. Soubor Bicep, který můžete nasadit, najdete v kompletním souboru.
param location string = resourceGroup().location
var virtualNetworkName = 'my-vnet'
var subnet1Name = 'Subnet-1'
var subnet2Name = 'Subnet-2'
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: subnet1Name
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: subnet2Name
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
resource subnet1 'subnets' existing = {
name: subnet1Name
}
resource subnet2 'subnets' existing = {
name: subnet2Name
}
}
output subnet1ResourceId string = virtualNetwork::subnet1.id
output subnet2ResourceId string = virtualNetwork::subnet2.id
I když oba přístupy umožňují definovat a vytvářet podsítě, je zde důležitý rozdíl. Když definujete podsítě pomocí podřízených prostředků, při prvním nasazení souboru Bicep se virtuální síť nasadí. Po dokončení nasazení virtuální sítě se nasadí každá podsíť. K tomuto pořadí dochází, protože Azure Resource Manager nasazuje každý jednotlivý prostředek samostatně.
Při opětovném nasazení stejného souboru Bicep dojde ke stejné sekvenci nasazení. Virtuální síť se ale nasadí bez nakonfigurovaných podsítí, protože subnets
vlastnost je ve skutečnosti prázdná. Po překonfigurování virtuální sítě se prostředky podsítě znovu nasadí, čímž se každou podsíť znovu vytvoří. V některých situacích toto chování způsobí, že prostředky ve vaší virtuální síti během nasazení ztratí připojení. V jiných situacích Azure zabrání úpravám virtuální sítě a vaše nasazení selže.
ID prostředků podsítě přístupu
Často je potřeba odkazovat na ID prostředku podsítě. Když k definování podsítě použijete subnets
vlastnost , můžete pomocí klíčového existing
slova také získat odkaz na podsíť se silnými typy a pak získat přístup k vlastnosti podsítě id
:
The following example is part of a larger example. For a Bicep file that you can deploy, see the complete file.
param location string = resourceGroup().location
var virtualNetworkName = 'my-vnet'
var subnet1Name = 'Subnet-1'
var subnet2Name = 'Subnet-2'
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: subnet1Name
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: subnet2Name
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
resource subnet1 'subnets' existing = {
name: subnet1Name
}
resource subnet2 'subnets' existing = {
name: subnet2Name
}
}
output subnet1ResourceId string = virtualNetwork::subnet1.id
output subnet2ResourceId string = virtualNetwork::subnet2.id
Vzhledem k tomu, že tento příklad používá existing
klíčové slovo pro přístup k prostředku podsítě místo definování celého prostředku podsítě, neobsahuje rizika popsaná v předchozí části.
Můžete také kombinovat existing
klíčová slova a scope
a odkazovat na prostředek virtuální sítě nebo podsítě v jiné skupině prostředků.
Skupiny zabezpečení sítě
Skupiny zabezpečení sítě se často používají k použití pravidel, která řídí příchozí a odchozí tok provozu z podsítě nebo síťového rozhraní. Definování velkého počtu pravidel v souboru Bicep a sdílení pravidel mezi několika soubory Bicep může být náročné. Při práci se složitými nebo rozsáhlými skupinami zabezpečení sítě zvažte použití vzoru souboru sdílených proměnných .
Privátní koncové body
Privátní koncové body musí být schválené. V některých situacích probíhá schválení automaticky. V jiných scénářích ale musíte koncový bod schválit, než ho budete moct použít.
Schválení privátního koncového bodu je operace, takže ji nemůžete provést přímo v kódu Bicep. K vyvolání operace však můžete použít skript nasazení . Alternativně můžete operaci vyvolat mimo soubor Bicep, například ve skriptu kanálu.
Související prostředky
- Dokumentace k prostředkům
- Podřízené prostředky
- Šablony pro rychlý start