Image building with internal services
Let’s assume we want to build an SPSS image.
In order for SPSS to work, we need to specify a License server for it to connect to. Assuming you successfully followed the previous steps and have a working Private Link Service up and running we will now begin to build the new image and configure the deployment template to make this work.
We also assume you’ve already gone through the image building process at least once so you’re familiar with the general concept of AVD Image Building.
Let’s start by creating a new layer:
avdcli image new -n spss -o ./images/spss
Then in our properties.json5
file we will add the following:
{ internalServices: { "spss": "[[[param:spssInternalServiceId]]]", }}
internalServices
is a special key used in the properties.json5
file that you can use to pass a map of key: value
parameters that you will later be asked to resolve during the package deployment process with the Private Link Service ID of your internal service.
The deployment template will make sure that each specified key
defined in internalServices
will get a Private Endpoint deployed in the exam’s resource group and also a custom DNS entry pointing to the Private Endpoint (you can customize this from the deployment template) with the subdomain beeing the key
specified in internalServices
We will go into more details in the next step of this process, but assuming we’ve configured the internalServicesPrivateDNSZoneName
parameter in the deployment template with customerinternalservices.syavd.local
and you have the above properties file, after the deployment you will end up with a FQDN spss.customerinternalservices.syavd.local
which you can use to connect to your license server from the sessionhosts.
You can then use that FQDN during the installation of SPSS to specify where to find the license server:
try { Write-Host "Installing IBM Spss... (LicenseServerHost: $LicenseServerHost)" Start-Process -FilePath msiexec.exe -ArgumentList "/i $downloadedInstallerPath /qn LSHOST=spss.customerinternalservices.syavd.local" -Wait -NoNewWindow Write-Host "Successfully installed spss"} catch { Write-Error "Failed to install spss: $_"}
This will configure SPSS to look for a license server on spss.customerinternalservices.syavd.local
when starting up.
Different programs will of course have different ways to specify this, however this gives you an idea on how you can setup a connection like this in your own image.
Finally you can go ahead and configure the deployment template in the last step.