Bagikan melalui


Fungsi CIDR untuk templat ARM

Artikel ini menjelaskan fungsi untuk bekerja dengan CIDR di templat Azure Resource Manager (templat ARM).

Tip

Kami merekomendasikan Bicep karena menawarkan kemampuan yang sama dengan templat ARM dan sintaksnya lebih mudah digunakan. Untuk mempelajari lebih lanjut, lihat fungsi cidr .

parseCidr

parseCidr(network)

Mengurai rentang alamat IP dalam notasi CIDR untuk mendapatkan berbagai properti rentang alamat.

Di Bicep, gunakan fungsi parseCidr .

Parameter

Parameter Wajib Tipe Deskripsi
jaringan Ya string String dalam notasi CIDR yang berisi rentang alamat IP yang akan dikonversi.

Nilai hasil

Objek yang berisi berbagai properti rentang alamat.

Contoh

Contoh berikut mengurai string CIDR IPv4:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "v4info": {
      "type": "object",
      "value": "[parseCidr('10.144.0.0/20')]"
    }
  }
}

Contoh sebelumnya menampilkan objek berikut:

{
  "network":"10.144.0.0",
  "netmask":"255.255.240.0",
  "broadcast":"10.144.15.255",
  "firstUsable":"10.144.0.1",
  "lastUsable":"10.144.15.254",
  "cidr":20
}

Contoh berikut mengurai string CIDR IPv6:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "v6info": {
      "type": "object",
      "value": "[parseCidr('fdad:3236:5555::/48')]"
    }
  }
}

Contoh sebelumnya menampilkan objek berikut:

{
  "network":"fdad:3236:5555::",
  "netmask":"ffff:ffff:ffff::",
  "firstUsable":"fdad:3236:5555::",
  "lastUsable":"fdad:3236:5555:ffff:ffff:ffff:ffff:ffff",
  "cidr":48
}

cidrSubnet

cidrSubnet(network, newCIDR, subnetIndex)

Memisahkan rentang alamat IP yang ditentukan dalam notasi CIDR menjadi subnet dengan nilai CIDR baru dan mengembalikan rentang alamat IP subnet dengan indeks yang ditentukan.

Di Bicep, gunakan fungsi cidrSubnet .

Parameter

Parameter Wajib Tipe Deskripsi
jaringan Ya string String yang berisi rentang alamat IP untuk dikonversi dalam notasi CIDR.
newCIDR Ya int Bilangan bulat yang mewakili CIDR yang akan digunakan untuk subnet. Nilai ini harus sama atau lebih besar dari nilai CIDR dalam network parameter .
subnetIndex Ya int Indeks rentang alamat IP subnet yang diinginkan untuk dikembalikan.

Nilai hasil

String rentang alamat IP subnet dengan indeks yang ditentukan.

Contoh

Contoh berikut menghitung lima /24 subnet pertama berkisar dari /20 yang ditentukan:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "v4subnets": {
      "type": "array",
      "copy": {
        "count": "[length(range(0, 5))]",
        "input": "[cidrSubnet('10.144.0.0/20', 24, range(0, 5)[copyIndex()])]"
      }
    }
  }
}

Contoh sebelumnya mengembalikan array berikut:

[
  "10.144.0.0/24",
  "10.144.1.0/24",
  "10.144.2.0/24",
  "10.144.3.0/24",
  "10.144.4.0/24"
]

Contoh berikut menghitung lima subnet /52 pertama berkisar dari /48 yang ditentukan:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "v6subnets": {
      "type": "array",
      "copy": {
        "count": "[length(range(0, 5))]",
        "input": "[cidrSubnet('fdad:3236:5555::/48', 52, range(0, 5)[copyIndex()])]"
      }
    }
  }
}

Contoh sebelumnya mengembalikan array berikut:

[
  "fdad:3236:5555::/52"
  "fdad:3236:5555:1000::/52"
  "fdad:3236:5555:2000::/52"
  "fdad:3236:5555:3000::/52"
  "fdad:3236:5555:4000::/52"
]

cidrHost

cidrHost(network, hostIndex)

Menghitung alamat IP host yang dapat digunakan dengan indeks yang ditentukan pada rentang alamat IP yang ditentukan dalam notasi CIDR. Misalnya, dalam kasus , ada alamat IP yang dipesan 192.168.1.0/24: 192.168.1.0 berfungsi sebagai alamat pengidentifikasi jaringan, sementara 192.168.1.255 berfungsi sebagai alamat siaran. Hanya alamat IP mulai dari 192.168.1.1 hingga 192.168.1.254 yang dapat ditetapkan ke host, yang disebut sebagai alamat IP "dapat digunakan". Jadi, ketika fungsi diteruskan hostIndex dari 0, 192.168.1.1 dikembalikan.

Di Bicep, gunakan fungsi cidrHost .

Parameter

Parameter Wajib Tipe Deskripsi
jaringan Ya string String yang berisi jaringan ip untuk dikonversi (harus format jaringan yang benar).
hostIndex Ya int Indeks alamat IP host yang akan dikembalikan.

Nilai hasil

String alamat IP.

Contoh

Contoh berikut menghitung lima alamat IP host pertama yang dapat digunakan dari /24 yang ditentukan:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "v4hosts": {
      "type": "array",
      "copy": {
        "count": "[length(range(0, 5))]",
        "input": "[cidrHost('10.144.3.0/24', range(0, 5)[copyIndex()])]"
      }
    }
  }
}

Contoh sebelumnya mengembalikan array berikut:

[
  "10.144.3.1"
  "10.144.3.2"
  "10.144.3.3"
  "10.144.3.4"
  "10.144.3.5"
]

Contoh berikut menghitung lima alamat IP host pertama yang dapat digunakan dari /52 yang ditentukan:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "v6hosts": {
      "type": "array",
      "copy": {
        "count": "[length(range(0, 5))]",
        "input": "[cidrHost('fdad:3236:5555:3000::/52', range(0, 5)[copyIndex()])]"
      }
    }
  }
}

Contoh sebelumnya mengembalikan array berikut:

[
  "fdad:3236:5555:3000::1"
  "fdad:3236:5555:3000::2"
  "fdad:3236:5555:3000::3"
  "fdad:3236:5555:3000::4"
  "fdad:3236:5555:3000::5"
]

Langkah berikutnya