---
title: Deploying on Azure
slug: ps/help/en_us/ics/25x/vadep/deploying-on-azure
createdAt: 2026-09-21T05:29:32.364Z
---

- [Prerequisites and System Requirements on Azure](docId:11xezcsyfzxTrzp6IS_2C)
- [Supported Platform Systems](docId:11xezcsyfzxTrzp6IS_2C)
- [Deploying Ivanti Connect Secure on Azure Marketplace](docId:11xezcsyfzxTrzp6IS_2C)
- [Create a Resource Group](docId:11xezcsyfzxTrzp6IS_2C)
- [Create a Storage Account](docId:11xezcsyfzxTrzp6IS_2C)
- [Upload ICS Appliance Image to Storage Account](docId:11xezcsyfzxTrzp6IS_2C)
- [Upload Azure Resource Manager Template to Gallery](docId:11xezcsyfzxTrzp6IS_2C)
- [ICS Virtual Machine Deployment](docId:11xezcsyfzxTrzp6IS_2C)

## Prerequisites and System Requirements on Azure

To deploy the Ivanti Connect Secure Virtual Appliance on Azure custom deployment, you need the following:

- A Microsoft Azure account
- Access to the Microsoft Azure portal (https\://portal.azure.com)
- Ivanti Connect Secure Virtual Appliance Image (.vhd file).
- Azure Resource Manager template (ARM template)

## Supported Platform Systems

This section helps you in choosing the instance types that should be deployed with Ivanti Connect Secure.

- ISA4500-V
- ISA6500-V
- ISA8500-V

For more details, see [ISA VA Supported Platforms](docId:5RAgfN8DstZa5LJ7GbVq4).

## Deploying Ivanti Connect Secure on Azure Marketplace

1. Log into Azure portal and navigate to Azure Marketplace by clicking **Create a resource**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/1LT7Dnk1yBUXUK_obW_mo_deployingpulseconnectsecure387x172.png" position="flex-start" size="39" width="387" height="172" initialPath="img/deploying_pulse_connect_secure_387x172.png" githubPath="img/deploying_pulse_connect_secure_387x172.png" darkWidth="387" darkHeight="172" showCaption="false" indent="1"}

2. Search with keyword **Ivanti Connect Secure-25.x**.

:::Paragraph{indent="1"}
Azure Marketplace contains the following two Ivanti Connect Secure SKUs:
:::

:::Paragraph{listStyleType="disc" indent="2"}
Ivanti Connect Secure-25.x-BYOL 2 NIC
:::

:::Paragraph{listStyleType="disc" indent="2"}
Ivanti Connect Secure-25.x-BYOL 3 NIC
:::

3. Select **Ivanti Connect Secure-25.x-BYOL 2 NIC** and click **Create**. In this section, 2-NICs model is chosen as example.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/34Nm9o0sw13NIYQNGs1tL_azuremplaunchazuremarketplace677x474.png" position="flex-start" size="68" width="677" height="474" initialPath="img/azure_mp_launch_azure_marketplace_677x474.png" githubPath="img/azure_mp_launch_azure_marketplace_677x474.png" darkWidth="677" darkHeight="474" showCaption="false" indent="1"}

### Basic Configuration

4. In the Basic Configuration step, enter the following parameters and click **Next : Network Settings**:
   - Select the **Region** and **Zone**
   - **VM name**: Name of the Ivanti Connect Secure to be deployed. Virtual name can be only lower-case letters and numbers, and must be 1-9 characters long.
   - **SSH public key**: Copy and paste an RSA public key in the single-line format or the multi-line PEM format. This key is used to access ICS via SSH. The SSH keys are generated using ssh-keygen on Linux and OS X, or PuTTyGen on Windows. For details about generating the SSH key pairs, refer:

:::Paragraph{indent="1"}
For Windows: [https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ssh-from-windows](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ssh-from-windows)
:::

:::Paragraph{indent="1"}
For MacOS and Linux: [https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mac-create-ssh-keys](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/mac-create-ssh-keys)
:::

:::hint{type="info"}
Without providing the SSH key, an error is displayed during deployment.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Resource group**: Name of the resource group to be deployed.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/q2FZaQqRVdJziH4JkgOuC_azurempbasicconfig667x639.png" position="flex-start" size="67" width="667" height="639" initialPath="img/azure_mp_basicconfig_667x639.png" githubPath="img/azure_mp_basicconfig_667x639.png" showCaption="false" indent="1"}

### Network Settings

5. In the Network Settings configuration step, enter the following parameters and click **Next: Instance Configuration**

- **Virtual Network**:
  - Select an existing virtual network from the list or
  - Create a new virtual network. Specify the virtual network name and the address space.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/dKsXS2pIu8Jt9q3iVewNV_azurempnetworkconfig672x637.png" position="flex-start" size="67" width="672" height="637" initialPath="img/azure_mp_networkconfig_672x637.png" githubPath="img/azure_mp_networkconfig_672x637.png" showCaption="false" indent="1"}

- **Subnets**: Four subnets – external, internal, management and tunnel subnets - are auto-populated with names and address prefix values. Make any changes if required.
- Public IP name and DNS prefix for the External and Management interfaces are auto-populated. Make any changes if required.

:::hint{type="info"}
In a 2-NICs model, Public IP name and DNS prefix name for the External and Internal interfaces are auto-populated
:::

### Instance Configuration

6. In the Instance Configuration step, enter the following parameters:

- **Ivanti Connect Secure VM Size**: Specify the size of VM. By default, **1x Standard\_D8s\_v6** is set for 3-NICs model and **1x Standard\_D4s\_v6** is set for 2-NICs model.
- **Diagnostic storage account**: Storage account for the Virtual Machine’s diagnostics
- **Ivanti Connect Secure Version**: Enter the version
- **Ivanti Connect Secure admin and Password**: Enter the admin credentials. Password should be minimum of 12-character length. Special characters are not allowed in the password.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Ip8R25auE2XeupvL9gyiQ_azurempinstanceconfig714x686.png" position="flex-start" size="71" width="714" height="686" initialPath="img/azure_mp_instanceconfig_714x686.png" githubPath="img/azure_mp_instanceconfig_714x686.png" showCaption="false" indent="1"}

### Summary Step

7. In the Summary step, once the final validation is complete, click **Create**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Yds4Ek9HE5NngBnjIB5j-_azurempreview672x608.png" position="flex-start" size="67" width="672" height="608" initialPath="img/azure_mp_review_672x608.png" githubPath="img/azure_mp_review_672x608.png" showCaption="false" indent="1"}

8. The deployment process takes around five minutes. Use **Refresh&#x20;**&#x74;o see the status..

:::hint{type="info"}
For L3 connectivity, make sure that "\<ICS VM name>-UDR" is properly associated with the subnet where Backend/Protected resources are connected. For example:

- If ICS internal, external and management interfaces are connected to subnet1, subnet2 and subnet3 respectively and Backend/Protected resources are in subnet5, then we need to associate \<ICS VM name>-UDR to subnet5.
- If Backend/Protected resources are in Datacenter or in different virtual network, then associate \<ICS VM name>-UDR to GatewaySubnet.


:::

9. Once the deployment is complete, the Notifications panel shows Deployment succeeded.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/4FPgzoA0gXjypvZLH21sL_azurempdeploycomplete477x128.png" position="flex-start" size="48" width="477" height="128" initialPath="img/azure_mp_deploy_complete_477x128.png" githubPath="img/azure_mp_deploy_complete_477x128.png" showCaption="false" indent="1"}

10. Click **Go to resource group**. The page shows the created VM instance and other supported files.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/eI4QI6eP4Q_h7fJ_a6TcE_azurempvmfiles666x410.png" position="flex-start" size="67" width="666" height="410" initialPath="img/azure_mp_vm_files_666x410.png" githubPath="img/azure_mp_vm_files_666x410.png" showCaption="false" indent="1"}

### Enabling Secure Boot

11. Select **Help > Serial Console**. After validating the command line parameters, VM is forcibly shut down.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/ZRCh9ooukHjOLYyGvN-5m_azurempserialconsole1669x394.png" position="flex-start" size="67" width="669" height="394" initialPath="img/azure_mp_serialconsole1_669x394.png" githubPath="img/azure_mp_serialconsole1_669x394.png" showCaption="false" indent="1"}

12. To enable secure boot, select **Overview&#x20;**&#x61;nd scroll-down. Under **Security**, the **Enable secure boot** is **Disabled** by default.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/gDJ_5SJMawHBgGwxdA1tz_azurempsbdisabled677x467.png" position="flex-start" size="68" width="677" height="467" initialPath="img/azure_mp_sbdisabled_677x467.png" githubPath="img/azure_mp_sbdisabled_677x467.png" showCaption="false" indent="1"}

13. Click **Security**. In the window that is displayed, scroll-down to **Security Type** section. Select th&#x65;**&#x20;Enable secure boot** option, and then click **Apply**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Hc_5xZiY2RNVkF7CqjBla_azurempenablesb674x452.png" position="flex-start" size="67" width="674" height="452" initialPath="img/azure_mp_enablesb_674x452.png" githubPath="img/azure_mp_enablesb_674x452.png" showCaption="false" indent="1"}

14. The Notifications panel shows the VM configuration update is successful.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/p9QLstiLt0UVdx0lGFHkz_azurempnotification1343x316.png" position="flex-start" size="34" width="343" height="316" initialPath="img/azure_mp_notification1_343x316.png" githubPath="img/azure_mp_notification1_343x316.png" showCaption="false" indent="1"}

### Starting Virtual Machine

15. Select **Overview**. The Status shows Stopped.
16. To start the VM, scroll-down to **Security&#x20;**&#x73;ection and verify **Enable secure boot** option is **Enabled**.

:::hint{type="info"}
**Caution**: **Do not click the Stop option in this window. Stopping the VM may take up to 90 minutes to complete the deallocation operations.**
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/QaX-S0uqHnZQjyKb28jUH_azurempstart677x416.png" position="flex-start" size="68" width="677" height="416" initialPath="img/azure_mp_start_677x416.png" githubPath="img/azure_mp_start_677x416.png" showCaption="false" indent="1"}

17. Click **Start&#x20;**&#x74;o start the VM. The **Status&#x20;**&#x63;hanges to **Running**, and the Notifications panel shows the **Starting Virtual Machine** message.
18. Select the Serial Console window to see the progress. This process will take around 10 minutes.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/xNdZM-s3zU2jJfDlAYkPU_azurempserialconsole2544x589.png" position="flex-start" size="54" width="544" height="589" initialPath="img/azure_mp_serialconsole2_544x589.png" githubPath="img/azure_mp_serialconsole2_544x589.png" showCaption="false" indent="1"}

19. Once the VM is up and running, the notification panel shows Started VM successfully.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/loOErpeJMnUVgkXG05aMB_azurempnotification2374x359.png" position="flex-start" size="37" width="374" height="359" initialPath="img/azure_mp_notification2_374x359.png" githubPath="img/azure_mp_notification2_374x359.png" showCaption="false" indent="1"}

20. Log in to the ICS as administrator, verity the Platform and create additional users.

## Resizing a managed disk in the Azure portal

On fresh installation, 80 GB disk space is available by default. You can modify or increase the disk size only once on fresh installation or upgrade of the ICS images, but not on rollback or factory reset images.

To modify the disk size:

1. In the Azure portal, go to the virtual machine in which you want to expand the disk. Select **Stop** to de-allocate the VM.
2. In the left menu under Settings, select **Disks**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Bk9JaADW1wbT1MAJN1E4a_disks.png" position="flex-start" size="50" width="496" height="369" initialPath="img/disks.png" githubPath="img/disks.png" showCaption="false" indent="1"}

3. Under **Disk name**, select the disk you want to expand.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/PbYKEJdNahInUtrY-rsZf_diskos.png" position="flex-start" size="54" width="542" height="171" initialPath="img/diskos.png" githubPath="img/diskos.png" showCaption="false" indent="1"}

4. In the left menu under **Settings**, select **Size + performance**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/mMVTQUwp5qm4KXORMo4iI_disksize.png" position="flex-start" size="16" width="155" height="401" initialPath="img/disksize.png" githubPath="img/disksize.png" showCaption="false" indent="1"}

5. In **Size + performance**, select the disk size you want to resize and click **Save**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/P9MF1tZc4_MlYBvjQp7VD_azure-disksize788x329.png" position="flex-start" size="79" width="788" height="329" initialPath="img/azure-disksize_788x329.png" githubPath="img/azure-disksize_788x329.png" showCaption="false" indent="1"}

## Deploying Ivanti Connect Secure on Azure Cloud

### Create a Resource Group

To create a Resource group, do the following:

1. Log into Azure portal.
2. Navigate to **Resource Groups**. Enter unique **resource group name**.
3. Click **Review + create** to finalize and create resource group.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/iGzNRRV3ndrqjjWyM7Uh0_azure-1.png" position="flex-start" size="51" width="505" height="266" initialPath="img/azure-1.png" githubPath="img/azure-1.png" showCaption="false" indent="1"}

### Create a Storage Account

To create a Storage Account, do the following:

1. Log in to the Azure portal.
2. Click **New&#x20;**&#x61;nd create a **Storage Account**.
3. Choose the resource group you have already created.
4. Enter a unique name for the **storage account name**.
5. Click **Review + create** to create storage account.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/UPtd4TBvY7BCxo6b32ZdR_azure-2770x871.png" position="flex-start" size="77" width="770" height="871" initialPath="img/azure-2_770x871.png" githubPath="img/azure-2_770x871.png" showCaption="false" indent="1"}

### Upload ICS Appliance Image to Storage Account

To upload Ivanti Connect Secure Virtual Appliance image to Stroage Account, do the following:

1. Download the Azure ICS image file (ics-azure-isa-v-\<releaseno>-\<buildno>-package.zip) which is in the zipped format.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/97mDnWKlPaN5vmozNKzRE_zipfile.png" position="flex-start" size="36" width="361" height="135" initialPath="img/zipfile.png" githubPath="img/zipfile.png" showCaption="false" indent="1"}

- The package contains the following components:
  - ISA-V-AZVA-ICS-\<releaseno>-\<buildno>-SERIAL-azure.vhd: VHD disk image for Ivanti Connect Secure VA, to upload to Azure
  - ivanticonnectsecure-gallery: Publish VHD as Shared Image Gallery image
  - ivanticonnectsecure-2-nics: Deploy ICS with 2 NICs (new VNet)
  - ivanticonnectsecure-2-nics-existing-vnet: Deploy ICS with 2 NICs (existing VNet)
  - ivanticonnectsecure-3-nics: Deploy ICS with 3 NICs (new VNet)
  - ivanticonnectsecure-3-nics-existing-vnet: Deploy ICS with 3 NICs (existing VNet)
  - azuredeploy.json: ARM deployment templates

:::hint{type="success"}
Do not use old release templates. Always use the latest templates for gallery deployment and ICS VM deployment to ensure compatibility and proper functionality.
:::

2. Unzip the file and look for the Ivanti Connect Secure Virtual Appliance vhd image.
3. Log in to the Azure portal.
4. In the Azure portal, search for **storage accounts** and select the Storage Account you have created.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/CnHEe3wsY9meThdatGP7q_stroageaccounts444x169.png" position="flex-start" size="44" width="444" height="169" initialPath="img/stroage_accounts_444x169.png" githubPath="img/stroage_accounts_444x169.png" showCaption="false" indent="1"}

5. To upload ICS Virtual Appliance image. Select **Storage browser** in the left menu.
6. Click **Blob containers** and select your target container.
7. Click **Upload** at the top, browse for your file and hit the final **Upload** button and upload.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/ki-7ehjWD1z0liuigbPlH_upload742x209.png" position="flex-start" size="74" width="742" height="209" initialPath="img/upload_742x209.png" githubPath="img/upload_742x209.png" showCaption="false" indent="1"}

8. Inside your Storage Account, go to the left menu and click **Storage browser** under **Data storage**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/FdlwVujW0bevTwn2Gc_4u_stroragebrowser729x307.png" position="flex-start" size="73" width="729" height="307" initialPath="img/strorage_browser_729x307.png" githubPath="img/strorage_browser_729x307.png" showCaption="false" indent="1"}

9. Under **Blob containers**, find and select your container (e.g., az-images) where the VHD file is uploaded.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/nGwOKdeyPz-TJ6XMC2mlR_blobstore743x238.png" position="flex-start" size="74" width="743" height="238" initialPath="img/blob_store_743x238.png" githubPath="img/blob_store_743x238.png" showCaption="false" indent="1"}

10. Inside the container, find your VHD file (e.g., ISA-V-AZVA-ICS-\<releaseno>-\<buildno>-SERIAL-azure.vhd). Click on the file to open its properties.
11. In the **Overview** or properties pane, look for the field named **URL**. Click the **copy icon** next to it.

The URL will be in this format: https\://\<name>.blob.core.windows.net/az-images/ISA-V-AZVA-ICS-\<releaseno>-\<buildno>-SERIAL-azure.vhd. This URL is need to deploy the Azure Gallery

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/QBYJF-UaOXvsPgj51KsOD_url753x442.png" position="flex-start" size="75" width="753" height="442" initialPath="img/url_753x442.png" githubPath="img/url_753x442.png" showCaption="false" indent="1"}

### Upload Azure Resource Manager Template to Gallery

1. Navigate to **Custom Deployment**.
2. Select **Build your template in the editor**.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/pxRHHhDpzkPMKCWfMM8Ng_azure-4740x552.png" position="flex-start" size="74" width="740" height="552" initialPath="img/azure-4_740x552.png" githubPath="img/azure-4_740x552.png" showCaption="false" indent="1"}

3. Locate the Azure Gallery deployment template file in folder (**ivanticonnectsecure-gallery/azure-gallery-deploy.json**).
4. Open this file and **Copy&#x20;**&#x69;ts content and **paste&#x20;**&#x74;he into the designated field.
5. Click **Save&#x20;**&#x74;o apply the template.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/jBAq3JR9J-ybL2GYjBfQ-_azure-5753x886.png" position="flex-start" size="75" width="753" height="886" initialPath="img/azure-5_753x886.png" githubPath="img/azure-5_753x886.png" showCaption="false" indent="1"}

6. Fill or modify the following parameters:
   - **Region** (mandatory): place
   - **ICS Location**: Location of the Shared Image Gallery (Where Azrure Gallery image is deployed)
   - **Resource Group** (mandatory): A resource group is a collection of resources that share the same lifecycle, permissions, and policies, where ICS is getting deployed
   - **ICS Storage Account Name**: Storage account name where ICS image is uploaded
   - **ICS Storage Account Resource Group Name**: Resource group of the existing storage account where ICS image is uploaded
   - **ICS Image Location URI**: The is the URL to the location where ICS Azure vhd image is stored
   - **Gallery Name**: The name of the Shared Image Gallery (this value is from Azure Gallery image)
   - **Image Definition Name**: The name of the Image Definition (this value is from Azure Gallery image)
   - **Publisher**: The name of the VM image definition publisher
   - **Offer**: The name of the VM image definition offer
   - **SKU**: The name of the VM image definition SKU
   - **Version Name**: The VM image version name in semantic version pattern. The allowed characters are digit and period. For example: 0.0.1, 15.35.0. (this value is from Azure Gallery image)

:::ExpandableHeading
## Azure Gallery Naming Restrictions

| Resource Type          | Allowed Characters                                              | Disallowed Characters                        | Length     | Start/End                     | Rule Example           |
| ---------------------- | --------------------------------------------------------------- | -------------------------------------------- | ---------- | ----------------------------- | ---------------------- |
| **Gallery Name**       | Letters (A-Z, a-z), digits (0-9), underscores (\_), periods (.) | Dashes (-), spaces, other special characters | 1–80 chars | Cannot start/end with \_ or . | Ivanti\_ICS.Gallery    |
| **Image Definition**   | Letters, digits, underscores (\_), periods (.), hyphens (-)     | Name Spaces, other special characters        | 1–80 chars | None                          | ICS-Trusted\_Launch.25 |
| **Image Version Name** | Digits (0-9), periods (.)                                       | Letters, hyphens, other characters           | 1–80 chars | Must follow X.Y.Z format      | 25.1.1                 |
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/j5lqB0s4sU_p_mivC1Y5F_azure-6738x1400.png" position="flex-start" size="74" width="738" height="1400" initialPath="img/azure-6_738x1400.png" githubPath="img/azure-6_738x1400.png" showCaption="false" indent="1"}

1. Click **Review+ create** to review your selections.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/8kwohhDfNiI-CYNjhepK1_azure-7662x1255.png" position="flex-start" size="66" width="662" height="1255" initialPath="img/azure-7_662x1255.png" githubPath="img/azure-7_662x1255.png" showCaption="false" indent="1"}

2. Click **Create**. Deployment will take 10 to 15 Minutes.

:::Paragraph{indent="1"}
After a successful deployment, the Azure Gallery image for ICS will be ready for deploying the ICS virtual appliance.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/XMnU1loPWYxpyTXt3TxCd_azure-8788x240.png" position="flex-start" size="79" width="788" height="240" initialPath="img/azure-8_788x240.png" githubPath="img/azure-8_788x240.png" showCaption="false" indent="1"}

## ICS Virtual Machine Deployment

1. Navigate to **Custom Deployment**.
2. Select **Build your own template** in the editor.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/eyCUZZmE3GT99rAtY0mUX_azure-9761x566.png" position="flex-start" size="76" width="761" height="566" initialPath="img/azure-9_761x566.png" githubPath="img/azure-9_761x566.png" showCaption="false" indent="1"}

3. Download the Azure deployment template 2-NIC or 3-NIC from "Azure-template" folder (**ivanticonnectsecure-3-nics/azuredeploy.json**) to get **azuredeploy.json**.

::::ExpandableHeading
## 25.1.1.0

:::hint{type="info"}
ISA4000-V supports only 2-NIC deployment. ISA6000-V and ISA8000-V support 2-NIC and 3-NIC deployments.
:::

| Standard Model                  | vCPU | RAM(GiB) | Disk Space | NICs |
| ------------------------------- | ---- | -------- | ---------- | ---- |
| ISA4000-V (Standard\_D4s\_v6)   | 4    | 16 GB    | 80 GB      | 2    |
| ISA4000-V (Standard\_D4ds\_v6)  | 4    | 16 GB    | 80 GB      | 2    |
| ISA6000-V (Standard\_D8s\_v6)   | 8    | 32 GB    | 80 GB      | 3    |
| ISA6000-V (Standard\_D8ds\_v6)  | 8    | 32 GB    | 80 GB      | 3    |
| ISA8000-V (Standard\_D16ds\_v6) | 16   | 64 GB    | 80 GB      | 3    |
| ISA4000-V (Standard\_F4as\_v6)  | 4    | 16 GB    | 80 GB      | 2    |
| ISA6000-V (Standard\_F8as\_v6)  | 8    | 32 GB    | 80 GB      | 3    |
| ISA8000-V (Standard\_F16as\_v6) | 16   | 64 GB    | 80 GB      | 3    |
::::

:::ExpandableHeading
## 25.1.3.0

| Standard Model                  | vCPU | RAM(GiB) | Disk Space | NICs |
| ------------------------------- | ---- | -------- | ---------- | ---- |
| ISA4500-V (Standard\_D4s\_v6)   | 4    | 16 GB    | 80 GB      | 2    |
| ISA4500-V (Standard\_D4ds\_v6)  | 4    | 16 GB    | 80 GB      | 2    |
| ISA6500-V (Standard\_D8s\_v6)   | 8    | 32 GB    | 80 GB      | 3    |
| ISA6500-V (Standard\_D8ds\_v6)  | 8    | 32 GB    | 80 GB      | 3    |
| ISA8500-V (Standard\_D16ds\_v6) | 16   | 64 GB    | 80 GB      | 3    |
| ISA4500-V (Standard\_F4as\_v6)  | 4    | 16 GB    | 80 GB      | 2    |
| ISA6500-V (Standard\_F8as\_v6)  | 8    | 32 GB    | 80 GB      | 3    |
| ISA8500-V (Standard\_F16as\_v6) | 16   | 64 GB    | 80 GB      | 3    |
:::

1. **Copy&#x20;**&#x61;nd **paste&#x20;**&#x74;he **azuredeploy.json** into the designated field.
2. Edit Virtual Machine Standards - variables section "variables": \["VirtualMachineSize": "Standard\_D8ds\_v6",]
3. Click **Save&#x20;**&#x74;o apply the template.

You can modify the following parameters in the VM Template to suit your requirements:

- Gallery name, Image Definition name, and Image Version number
- Network Details

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/L7iKBUkXmELZ2EGyvw4CP_azure-10829x1095.png" position="flex-start" size="80" width="829" height="1095" initialPath="img/azure-10_829x1095.png" githubPath="img/azure-10_829x1095.png" showCaption="false" indent="1"}

4. Fill or modify the following parameters:
   - **ICS Storage Account Name**: Storage account name where ICS image is uploaded
   - **ICS Storage Account Resource Group Name**: Resource group of the existing storage account where ICS image is uploaded
   - **Gallery Name**: The name of the Shared Image Gallery (This value is from Azure gallery image created)
   - **Image Definition Name**: The name of the Image Definition (This value is from Azure gallery image created)
   - **Version Name**: The VM image version name in semantic version pattern. The allowed characters are digit and period. For example: 0.0.1, 15.35.0 (This value is from Azure gallery image created)
   - **ICS VM Name**: This is the name given to ICS Virtual Appliance.
   - **ICS Admin User**: Ivanti Connect Secure Admin User, value must be 2-30 characters long.
   - **ICS Admin Password**: Ivanti Connect Secure Admin Password, value must be 12-128 characters long and no special characters.
   - **SSH Public Key**: This is an RSA public key that is used to access Ivanti Connect Secure via SSH.
   - **ICS Config**: This section contains provisioning parameters that are required during the deployment of a Virtual Appliance. An XML-based configuration file can be present in another Virtual Machine in Azure cloud or in the corporate network which is accessible for Ivanti Connect Secure through site-to-site VPN between Azure and the corporate data center.
   - **Key pair name**: The new ssh key pair name.
   - **DNS Label Prefix Ext**: This is the prefix for External Interface DNS label.
   - **DNS Label Prefix Mgmt**: This is the prefix for Management Interface DNS label.

:::hint{type="info"}
In case of two NIC deployment, the management port would not be auto-populated and admin has to provide details for internal port manually.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**VNet Address Space**: This is a Virtual Network address space
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Internal Subnet**: Subnet from which Ivanti Connect Secure Internal Interface needs to lease IP.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**External Subnet**: Subnet from which Ivanti Connect Secure External Interface needs to lease IP.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Management Subnet**: Subnet from which Ivanti Connect Secure Management Interface needs to lease IP.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Tunnel Subnet**: Subnet which will be configured as Tunnel IP pool in Ivanti Connect Secure VPN profile.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/i4NbLqJ--4dfRDVaadVp8_azure-11769x1158.png" position="flex-start" size="77" width="769" height="1158" initialPath="img/azure-11_769x1158.png" githubPath="img/azure-11_769x1158.png" showCaption="false" indent="2"}

5. Click **Review + create** to review your selections.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/lA4aCq7dC4vIScFAMpzbk_azure-12790x1181.png" position="flex-start" size="79" width="790" height="1181" initialPath="img/azure-12_790x1181.png" githubPath="img/azure-12_790x1181.png" showCaption="false" indent="1"}

6. Click **Create**. A prompt will appear for generating new key pairs

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/TCcicMwWBO0G6Uoys11A3_azure-13356x210.png" position="flex-start" size="36" width="356" height="210" initialPath="img/azure-13_356x210.png" githubPath="img/azure-13_356x210.png" showCaption="false" indent="1"}

7. Click "**Download + Create**" to download the PEM key and begin deploying the virtual appliance (VA).

:::Paragraph{indent="1"}
This action will create all required network resources, routes, and deploy the VA.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/HGBJhLXU8LXAw-LhbZgwR_azure-14819x386.png" position="flex-start" size="80" width="819" height="386" initialPath="img/azure-14_819x386.png" githubPath="img/azure-14_819x386.png" showCaption="false" indent="1"}

8. Once the virtual appliance (VA) status shows as "Created," the VA will appear in the list of Virtual Machines.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/v4pvOWtPL3BP7LIUSCGR9_azure-15812x264.png" position="flex-start" size="80" width="812" height="264" initialPath="img/azure-15_812x264.png" githubPath="img/azure-15_812x264.png" showCaption="false" indent="1"}

The new ICS virtual appliance will boot with the following features enabled:

- Secure Boot
- vTPM (virtual Trusted Platform Module)
- Disk controller type set to NVME

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/MYPKmdD_98h8zbQhMQCRI_azure-16825x594.png" position="flex-start" size="80" width="825" height="594" initialPath="img/azure-16_825x594.png" githubPath="img/azure-16_825x594.png" showCaption="false" indent="1"}

