次の方法で共有


Bicep を使用して仮想ネットワーク リソースを作成する

多くの 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 ファイルの外部で操作を呼び出すこともできます。