Azure Virtual Desktop で session host 追加するときに使われる ARM template

2023/03/11に公開

ARM template を追いかけていく

Azure Virtual Desktop で、Azure Portal から既存の Host pool に Session host を追加しようとしたときの動きを追いかけてみます。
該当部分の ARM template の一部はこんな感じです。
LinkedTemplate が使われていますね。

        {
            "apiVersion": "2018-05-01",
            "name": "[concat('vmCreation-linkedTemplate-', parameters('deploymentId'))]",
            "resourceGroup": "[parameters('vmResourceGroup')]",
            "dependsOn": [
                "[concat('AVSet-linkedTemplate-', parameters('deploymentId'))]"
            ],
            "type": "Microsoft.Resources/deployments",
            "properties": {
                "mode": "Incremental",
                "templateLink": {
                    "uri": "[variables('vmTemplateUri')]",
                    "contentVersion": "1.0.0.0"
                },

variables('vmTemplateUri') についてはこんな感じになっています。

        "vmTemplateName": "[concat( 'managedDisks-', toLower(replace(parameters('vmImageType'),' ', '')), 'vm')]",
        "vmTemplateUri": "[concat(parameters('nestedTemplatesLocation'), variables('vmTemplateName'),'.json')]",

parameter.json 側ではこんな感じに与えられています。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
...
        "nestedTemplatesLocation": {
            "value": "https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/armtemplates/Hostpool_01-19-2023/nestedTemplates/"
        },
...
        "vmImageType": {
            "value": "CustomImage"
        },

で、これらを concat() とか toLower() していくので、例えばこんな感じにになるわけですね。

https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/armtemplates/Hostpool_01-19-2023/nestedTemplates/managedDisks-customimagevm.json

Azure Marketplace にあるそのままの image からデプロイする際には vmImageType が "Gallery" となるため、URL もこのようになります。

https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/armtemplates/Hostpool_01-19-2023/nestedTemplates/managedDisks-galleryvm.json

日付のところかが定期的に変わっていくんでしょう、たぶん。

Discussion