多くの Azure デプロイでは、ネットワーク リソースをデプロイして構成する必要があります。 Bicep を使用して、Azure ネットワーク リソースを定義できます。
仮想ネットワークとサブネット
Microsoft.Network/virtualNetworks
の種類を持つリソースを作成して、仮想ネットワークを定義します。
subnets プロパティを使用してサブネットを構成する
仮想ネットワークにはサブネットが含まれています。サブネットは、ネットワーク内の IP アドレスの論理的なグループです。 サブネットは常に子リソースとして管理する必要があり、 サブネット プロパティは仮想ネットワーク リソース内で定義しないでください。 この方法により、両方のリソースの種類に対して安全で独立したライフサイクルが確保されます。
注
AZURE Virtual Network API が更新され、PUT 要求にサブネット プロパティを含める必要なく、仮想ネットワークを変更できます。 以前は、サブネット プロパティを省略すると、既存のサブネットが削除されます。 新しい動作では、サブネット プロパティが PUT 要求に含まれていない場合、既存のサブネットは変更されません。 サブネット プロパティを空の値に明示的に設定すると、既存のすべてのサブネットが削除されますが、特定のサブネット構成では、それに応じてサブネットが作成または更新されます。 この変更により、更新中に意図しないサブネットが削除されるのを防ぎ、仮想ネットワーク管理が簡略化されます。 詳細については、「 Azure Virtual Network でサブネット プロパティのない更新プログラムがサポートされるようになりました」を参照してください。
次の例のように、サブネットを 子リソースとして定義することをお勧めします。
param ___location string = resourceGroup().___location
var virtualNetworkName = 'my-vnet'
var subnet1Name = 'Subnet-1'
var subnet2Name = 'Subnet-2'
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
name: virtualNetworkName
___location: ___location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
}
resource subnet1 'subnets' = {
name: subnet1Name
properties: {
addressPrefix: '10.0.0.0/24'
} }
resource subnet2 'subnets' = {
name: subnet2Name
properties: {
addressPrefix: '10.0.1.0/24'
}
}
}
output subnet1ResourceId string = virtualNetwork::subnet1.id
output subnet2ResourceId string = virtualNetwork::subnet2.id
親リソースの外部で入れ子になったリソースを参照するには、前の例に示すように、入れ子になったリソース名と :: 演算子で修飾する必要があります。
ネットワーク セキュリティ グループ
ネットワーク セキュリティ グループは、サブネットまたはネットワーク インターフェイスからのトラフィックの受信フローと送信フローを制御する規則を適用するために頻繁に使用されます。 Bicep ファイル内で多数のルールを定義したり、複数の Bicep ファイル間でルールを共有したりするのは面倒になる可能性があります。 複雑なネットワーク セキュリティ グループまたは大規模なネットワーク セキュリティ グループを使用する場合は、 共有変数ファイル パターン の使用を検討してください。
プライベート エンドポイント
プライベート エンドポイントを 承認する必要があります。 場合によっては、承認が自動的に行われます。 ただし、他のシナリオでは、使用する前にエンドポイントを承認する必要があります。
プライベート エンドポイントの承認は操作であるため、Bicep コード内で直接実行することはできません。 ただし、 デプロイ スクリプト を使用して操作を呼び出すことができます。 または、パイプライン スクリプトなど、Bicep ファイルの外部で操作を呼び出すこともできます。
関連リソース
- リソースのドキュメント
- 子リソース
- クイック スタート テンプレート