Bootstrap the VM-Series Firewall in Azure

To perform bootstrapping, you must be familiar with the process of creating a VHD and must know about storage accounts and containers in Azure, and how to attach the VHD to a virtual machine.
  1. Create the VHD. Use the Azure documentation for the commands required to complete the process of creating a VHD.
    1. On the Azure portal, deploy a Linux virtual machine.
    2. On the Linux virtual machine, Add a data disk ranging between 1 to 39 GB. Make sure to save the disk to the same storage account that you will use for the VM-Series firewall.
    3. Connect to the console or CLI of the Linux virtual machine.
    4. Partition the disk and format the file system as ext3.
    5. Create the top-level directory structure for the bootstrap package. and Add content within each folder. You can leave a folder empty, but you must have all the four folders.
    6. Copy the contents of the bootstrap package you created above to the disk.
    7. Unmount the disk.
    8. Detach the disk from the Azure portal. The disk is stored as a page blob.
    9. Store the disk as a page blob within the same storage account that you will use for the VM-Series firewall.
  2. Customize the ARM template to point to the VHD so that the firewall can access the disk on first boot. For example, you need to add the following object in the virtualMachine resource in the Template file:
    "storageProfile": {	                "imageReference": {	                    "publisher": "[parameters('imagePublisher')]",	                    "offer": "[parameters('imageOffer')]",	                    "sku": "[parameters('imageSku')]",	                    "version": "latest"	                },	                "dataDisks": [	                 {	                   "name": "datadisk1",	                   "diskSizeGB": "[parameters('BootstrapUriSizeGB')]",	                   "lun": 0,	                   "vhd": {	                       "uri": "[parameters('BootstrapUri')]"	                   },	                   "caching": "ReadOnly",	                   "createOption": "Attach"	                 }	                ],	                "osDisk": {	                    "name": "osdisk",	                    "vhd": {	                        "uri": "[concat('http://', parameters('storageAccountName'), '.blob.core.windows.net/vhds/', parameters('vmName'), '-', parameters('imageOffer'), '-', parameters('imageSku'), '.vhd')]"	                    },	                    "caching": "ReadWrite",	                    "createOption": "FromImage"	                }	            },
  3. Verify Bootstrap Completion.

Related Documentation