Memahami urutan penyebaran dalam Azure Blueprints

Azure Blueprints menggunakan urutan untuk menentukan urutan pembuatan sumber daya saat memproses penetapan definisi cetak biru. Artikel ini menjelaskan konsep berikut:

  • Urutan default yang digunakan
  • Cara menyesuaikan urutan
  • Bagaimana urutan yang disesuaikan diproses

Ada variabel dalam contoh JSON yang perlu Anda ganti dengan nilai Anda sendiri:

  • {YourMG} - Ganti dengan nama grup manajemen Anda

Urutan default

Jika definisi cetak biru tidak berisi arahan untuk urutan untuk menyebarkan artefak atau arahan adalah null, urutan berikut digunakan:

  • Artefak penetapan peran tingkat langganan diurutkan menurut nama artefak
  • Artefak penetapan kebijakan tingkat langganan diurutkan menurut nama artefak
  • Artefak templat Azure Resource Manager (templat ARM) tingkat langganan diurutkan menurut nama artefak
  • Artefak grup sumber daya (termasuk artefak anak) diurutkan menurut nama tempat penampung

Dalam setiap artefak grup sumber daya, urutan berikut digunakan untuk artefak yang akan dibuat dalam grup sumber daya tersebut:

  • Artefak penetapan peran anak sumber daya diurutkan menurut nama artefak
  • Artefak penetapan kebijakan anak grup sumber daya diurutkan menurut nama artefak
  • Artefak templat Azure Resource Manager (templat ARM) anak grup sumber daya diurutkan menurut nama artefak

Catatan

Penggunaan artefak() membuat dependensi implisit pada artefak yang dimaksud.

Menyesuaikan urutan

Saat menyusun definisi cetak biru besar, mungkin sumber daya perlu dibuat dalam urutan tertentu. Pola penggunaan yang paling umum dari skenario ini adalah saat definisi cetak biru mencakup beberapa templat ARM. Azure Blueprints menangani pola ini dengan memungkinkan urutan ditentukan.

Urutan dilakukan dengan mendefinisikan properti dependsOn di JSON. Definisi cetak biru, untuk grup sumber daya, dan objek artefak mendukung properti ini. dependsOn adalah array string nama artefak yang artefaknya perlu dibuat sebelum nama dibuat.

Catatan

Saat membuat objek cetak biru, setiap sumber daya artefak mendapatkan namanya dari nama file, jika menggunakan PowerShell, atau titik akhir URL, jika menggunakan REST API. Referensi resourceGroup dalam artefak harus cocok dengan yang didefinisikan dalam definisi cetak biru.

Contoh - grup sumber daya yang diurutkan

Contoh definisi cetak biru ini memiliki grup sumber daya yang telah menentukan urutan kustom dengan mendeklarasikan nilai untuk dependsOn, bersama dengan grup sumber daya standar. Dalam hal ini, artefak bernama assignPolicyTags akan diproses sebelum grup sumber daya ordered-rg. standard-rg akan diproses sesuai urutan default.

{
    "properties": {
        "description": "Example blueprint with custom sequencing order",
        "resourceGroups": {
            "ordered-rg": {
                "dependsOn": [
                    "assignPolicyTags"
                ],
                "metadata": {
                    "description": "Resource Group that waits for 'assignPolicyTags' creation"
                }
            },
            "standard-rg": {
                "metadata": {
                    "description": "Resource Group that follows the standard sequence ordering"
                }
            }
        },
        "targetScope": "subscription"
    },
    "type": "Microsoft.Blueprint/blueprints"
}

Contoh - artefak dengan urutan kustom

Contoh ini adalah artefak kebijakan yang bergantung pada templat ARM. Berdasarkan urutan default, artefak kebijakan akan dibuat sebelum templat ARM. Urutan ini memungkinkan artefak kebijakan menunggu templat ARM dibuat.

{
    "properties": {
        "displayName": "Assigns an identifying tag",
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
        "resourceGroup": "standard-rg",
        "dependsOn": [
            "customTemplate"
        ]
    },
    "kind": "policyAssignment",
    "type": "Microsoft.Blueprint/artifacts"
}

Contoh - artefak templat tingkat langganan tergantung pada grup sumber daya

Contoh ini adalah untuk templat ARM yang disebarkan di tingkat langganan untuk bergantung pada grup sumber daya. Dalam urutan default, artefak tingkat langganan akan dibuat sebelum grup sumber daya dan artefak anak dalam grup sumber daya tersebut. Grup sumber daya didefinisikan dalam definisi cetak biru seperti ini:

"resourceGroups": {
    "wait-for-me": {
        "metadata": {
            "description": "Resource Group that is deployed prior to the subscription level template artifact"
        }
    }
}

Artefak templat tingkat langganan tergantung pada grup sumber daya wait-for-me didefinisikan seperti ini:

{
    "properties": {
        "template": {
            ...
        },
        "parameters": {
            ...
        },
        "dependsOn": ["wait-for-me"],
        "displayName": "SubLevelTemplate",
        "description": ""
    },
    "kind": "template",
    "type": "Microsoft.Blueprint/blueprints/artifacts"
}

Memproses urutan yang disesuaikan

Selama proses pembuatan, jenis topologis digunakan untuk membuat grafik dependensi artefak cetak biru. Pemeriksaan memastikan setiap tingkat dependensi antara grup sumber daya dan artefak didukung.

Jika dependensi artefak dinyatakan tidak akan mengubah urutan default, tidak ada perubahan yang dilakukan. Contohnya adalah grup sumber daya yang bergantung pada kebijakan tingkat langganan. Contoh lain adalah penetapan kebijakan anak 'standard-rg' grup sumber daya yang bergantung pada penetapan peran anak 'standard-rg' grup sumber daya. Dalam kedua kasus, dependsOn tidak akan mengubah urutan default dan tidak ada perubahan yang akan dilakukan.

Langkah berikutnya