Citrix Virtual Apps and Desktops

Erstellen eines Katalogs für vorbereitete Image-Maschinen in Azure

Erstellen Sie vorbereitete Images und verwenden Sie diese, um einen MCS-Maschinenkatalog zu erstellen, indem Sie:

Die wichtigsten Schritte zum Erstellen eines MCS-Maschinenkatalogs mithilfe des vorbereiteten Images sind:

  1. Erstellen Sie die Imagestruktur und die anfänglichen Imageversionen.
  2. Verwenden Sie die Imageversion als vorbereitetes Image, um einen Katalog zu erstellen.

Verwenden von Web Studio

Erstellen einer Imagestruktur und anfänglichen Imageversion

Gehen Sie wie folgt vor, um eine Imagestruktur und die anfängliche Imageversion zu erstellen:

  1. Navigieren Sie in Web Studio zum Knoten Images und klicken Sie auf Create Image Definition. Klicken Sie auf der Seite Introduction auf Next.
  2. Geben Sie auf der Seite Image Definition den OS type und den Session type für die Imagestruktur an.
  3. Wählen Sie eine vorhandene Ressourcengruppe aus oder erstellen Sie eine neue, um die Image-Ressourcen zu speichern. Um die Imagefreigabe zu aktivieren, wählen Sie Place image versions in der Azure Compute Gallery und wählen Sie dann, ob Sie eine neue Galerie erstellen oder eine vorhandene verwenden möchten, um die Imageversionen zu speichern.
  4. Wählen Sie auf der Seite Image die Option Resources (nur die für die festgelegte Verbindung anwendbaren Ressourcen werden aufgelistet) und ein Masterimage aus, das als Vorlage zum Erstellen der Imageversion verwendet werden soll. Sie können das Kontrollkästchen Use a machine profile aktivieren und ein Maschinenprofil auswählen.

    Hinweis:

    • Vergewissern Sie sich vor der Auswahl eines Images, dass auf dem Masterimage VDA 2311 oder höher installiert ist und der MCSIO-Treiber auf dem VDA installiert ist.
    • Wenn Sie ein vorbereitetes Image vom Typ „vertrauliche VM“ zum Erstellen eines MCS-Katalogs verwenden möchten, erstellen Sie ein vorbereitetes Image mit dem Masterimage vom Typ „vertrauliche VM“ und einem Maschinenprofil vom Typ „vertrauliche VM“. Weitere Informationen zum Vorbereiten von Masterimages und Maschinenprofilen vom Typ „vertrauliche VM“ finden Sie unter Vertrauliche Azure-VMs.
  5. Wählen Sie auf der Seite Storage and Licenses Types den Speicher- und Lizenztyp aus, der im Rahmen des Image-Vorbereitungsprozesses verwendet werden soll.

    Hinweis:

    Wenn Sie auf der Seite Image ein Maschinenprofil auswählen, wird der Lizenztyp des Maschinenprofils basierend auf der Profileinstellung vorausgewählt.

  6. Wählen Sie auf der Seite Machine Specification eine Maschinengröße aus. Wenn Sie auf der Seite Image ein Maschinenprofil auswählen, wird die Maschinengröße des Maschinenprofils standardmäßig ausgewählt.
  7. Wählen oder fügen Sie auf der Seite NICs NICs für das Vorbereitungsimage hinzu. Wählen Sie für jede NIC ein zugehöriges virtuelles Netzwerk aus.
  8. Wählen Sie auf der Seite Disk Settings den vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) aus. Wenn das Maschinenprofil keinen CMEK hat, das Masterimage jedoch einen, wird der CMEK aus dem Masterimage vorausgewählt.
  9. Geben Sie auf der Seite Version Description eine Beschreibung für die erstellte anfängliche Imageversion ein.
  10. Überprüfen Sie auf der Seite Summary die Details der Imagestruktur und der erstellten anfänglichen Imageversion. Geben Sie einen Namen und eine Beschreibung für die Imagestruktur ein. Klicken Sie auf Finish.

Erstellen von Imageversionen

Imageversionen ermöglichen die Verwaltung verschiedener Iterationen oder Updates eines bestimmten Images. Diese Funktionalität ermöglicht es Ihnen, mehrere Versionen eines Images für verschiedene Zwecke zu verwalten.

Gehen Sie wie folgt vor, um Imageversionen aus der anfänglichen Imageversion zu erstellen:

Hinweis:

Die Hosting-Einheit aller Imageversionen muss identisch sein.

  1. Navigieren Sie zum Knoten Images, wählen Sie eine Imageversion oder eine Imagestruktur aus und klicken Sie auf Create Image Version.
  2. Auf der Seite „Image definition“ können Sie die Hosting-Einheit ändern und das Masterimage sowie das Maschinenprofil für diese Imageversion neu auswählen.
  3. Wenn die Konfiguration der Imageversion von der anfänglich konfigurierten Imageversion abweichen soll, konfigurieren Sie die Einstellungen auf den Seiten Storage and License Types, Machine Specification, NICs und Disk Settings des Dialogfelds Create Image Version.
  4. Fügen Sie eine Beschreibung für die Imageversion hinzu. Klicken Sie auf Finish.

Imageversionen erstellen

Hinweis:

Wenn die Erstellung der Imageversion aus irgendeinem Grund fehlschlägt, bietet die Registerkarte Troubleshoot unten eine Option zum Retry.

Freigegebene vorbereitete Images

Um vorbereitete Images über verschiedene Hosting-Einheiten für Azure hinweg freizugeben, führen Sie die folgenden Schritte aus:

  1. Klicken Sie mit der rechten Maustaste auf eine Image-Version und wählen Sie Image-Freigabe verwalten. Alle Hosting-Einheiten in Ihrer Azure-Umgebung werden angezeigt. Die Ressourcen, von denen die Image-Version erstellt wurde, sind für alle Aktionen deaktiviert.
  2. Wählen Sie die Hosting-Einheiten aus, mit denen Sie das Image freigeben möchten, und klicken Sie auf Speichern. Die Spalte Freigabestatus zeigt „In Bearbeitung“ an.
  3. Klicken Sie auf die Registerkarte Ressourcen, um weitere Details zum Freigabestatus anzuzeigen.

Hinweis:

Wenn der Status der Image-Versionsfreigabe „In Bearbeitung“ ist, sind die Optionen Image-Version löschen oder Image-Freigabe verwalten deaktiviert.

Maschinenkatalog über den Knoten „Images“ erstellen

Verwenden Sie die Option Katalog erstellen im Knoten Images, um einen Katalog mithilfe der Image-Version zu erstellen.

Alternativ können Sie die Version beim Erstellen eines Katalogs im Knoten Maschinenkataloge auswählen, wobei auf die Option für vorbereitete Images im Workflow zur Katalogerstellung verwiesen wird. Siehe Maschinenkatalog über den Knoten „Maschinenkataloge“ erstellen

Um einen MCS-Maschinenkatalog über den Knoten Images zu erstellen, gehen Sie wie folgt vor:

  1. Wählen Sie eine Image-Version aus und klicken Sie auf Katalog erstellen. Klicken Sie auf der Seite Einführung auf Weiter.
  2. Wählen Sie auf der Seite Desktop-Erfahrung die gewünschte Desktop-Erfahrung aus.
  3. Von der Seite Image bis zur Seite Datenträgereinstellungen sind die Einstellungen basierend auf der ausgewählten Image-Version vorausgewählt.
  4. Auf der Seite Ressourcengruppe können Sie wählen, ob Sie eine neue Ressourcengruppe erstellen oder eine vorhandene Ressourcengruppe verwenden möchten, um die Ressourcen dieses Katalogs zu platzieren.
  5. Schließen Sie die Einstellungen auf den folgenden Seiten ab.
  6. Überprüfen Sie auf der Seite Zusammenfassung die Details des Maschinenkatalogs. Geben Sie einen Namen und eine Beschreibung für den Maschinenkatalog ein. Klicken Sie auf Fertig stellen.
  7. Gehen Sie zum Knoten Maschinenkataloge, um den erstellten Maschinenkatalog anzuzeigen.

Maschinenkatalog über den Knoten „Maschinenkataloge“ erstellen

Um einen MCS-Maschinenkatalog über den Knoten Maschinenkataloge zu erstellen, gehen Sie wie folgt vor:

  1. Klicken Sie im linken Navigationsbereich auf Maschinenkataloge.
  2. Klicken Sie auf Maschinenkatalog erstellen. Die Seite Maschinenkatalog-Setup wird angezeigt. Klicken Sie auf den Seiten Einführung, Maschinentyp und Maschinenverwaltung jeweils auf Weiter.
  3. Wählen Sie auf der Seite Maschinenverwaltung die folgenden Einstellungen aus:
    1. Wählen Sie Maschinen, die energieverwaltet sind (z. B. virtuelle Maschinen oder Blade-PCs).
    2. Wählen Sie Citrix Bereitstellungstechnologie. Wählen Sie dann Citrix Machine Creation Services™.
    3. Im Feld Ressourcen werden die Ressourcen aufgelistet, die zu verschiedenen Zonen gehören. Wählen Sie eine beliebige Azure-Netzwerkressource aus und klicken Sie auf Weiter.
  4. Auf der Seite Image: Gehen Sie für den Master-Image-Typ wie folgt vor:
    1. Wählen Sie Master-Image aus.
    2. Wählen Sie unter dem Master-Image ein Image aus. Das Blade listet alle Images auf, die zur selben Region gehören wie die Ressourcen.
    3. Klicken Sie auf Fertig.
    4. Wählen Sie für den Typ „Vorbereitetes Image“ die Option Vorbereitetes Image.
    5. Wählen Sie unter dem Vorbereiteten Image eine Image-Version einer Image-Definition aus. Fügen Sie bei Bedarf eine Notiz für die ausgewählte vorbereitete Image-Version hinzu.
    6. Klicken Sie auf den Namen der Image-Version. Um weitere Details zur ausgewählten Image-Version anzuzeigen, klicken Sie auf die Versionsnummer, die unterstrichen ist.
    7. Wenn die ausgewählte Image-Version mit einem Maschinenprofil konfiguriert ist, wählen Sie ein Maschinenprofil aus. Wenn die ausgewählte Image-Version nicht mit einem Maschinenprofil konfiguriert ist, können Sie kein Maschinenprofil verwenden.
  5. Konfigurieren Sie die Einstellungen auf den folgenden Seiten.
  6. Wenn auf der Seite Datenträgereinstellungen das ausgewählte vorbereitete Image einen Datenträgerverschlüsselungssatz verwendet, können Sie den Verschlüsselungssatz nicht entfernen, aber den Schlüssel in einen anderen Verschlüsselungsschlüssel ändern.
  7. Auf der Seite Ressourcengruppe können Sie wählen, ob Sie eine neue Ressourcengruppe erstellen oder eine vorhandene Ressourcengruppe verwenden möchten, um die Ressourcen dieses Katalogs zu platzieren.
  8. Schließen Sie die Einstellungen auf den folgenden Seiten ab.
  9. Überprüfen Sie auf der Seite Zusammenfassung die Details des Maschinenkatalogs. Geben Sie einen Namen und eine Beschreibung für den Maschinenkatalog ein. Klicken Sie auf Fertig stellen.

PowerShell verwenden

Vorbereitetes Image erstellen

Die detaillierten PowerShell-Befehle zum Erstellen einer Spezifikation für eine vorbereitete Image-Version lauten wie folgt:

  1. Überprüfen Sie die verfügbaren Namen der Image-Definitionen mit dem Befehl Test-ProvImageDefinitionNameAvailable. Zum Beispiel:

    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]>
    <!--NeedCopy-->
    
  2. Erstellen Sie eine Image-Definition mit dem Befehl New-ProvImageDefinition. Zum Beispiel:

    New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
    <!--NeedCopy-->
    
  3. Erstellen Sie eine neue Konfiguration für die Image-Definition in der angegebenen Hosting-Verbindung mit dem Befehl Add-ProvImageDefinitionConnection.

    Die CustomProperties für Add-ProvImageDefinitionConnection können Folgendes enthalten. Wenn Sie die Parameter nicht verwenden, werden Standardwerte verwendet.

    • ResourceGroups: Die Ressourcengruppe, die die Basisdatenträger enthält.
    • UseSharedImageGallery: Indikator für den Typ der Basisdatenträger. Verwenden Sie true für ACG (Image-Freigabe) und false für Snapshot.
    • ImageGallery: Der Galeriename, wenn der Basisdatenträger eine ACG-Image-Version ist.

    Zum Beispiel: <== NEW

    • Im Falle eines Snapshots und einer vom Kunden bereitgestellten Ressourcengruppe: <== NEW

       $CustomerOwnRsourceGroupProperties = @"
       <CustomProperties xmlns="http:// schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="ResourceGroups" Value="yangj_image" />
       </CustomProperties>
       "@
       <!--NeedCopy-->
      
    • Im Falle von ACG und einer vom Kunden bereitgestellten Ressourcengruppe und Image-Galerie: <== NEW

       $CustomerOwnAllProperties = @"
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
       <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" />
       <Property xsi:type="StringProperty" Name="ImageGallery" Value="gallery" />
       </CustomProperties>
       "@
       <!--NeedCopy-->
      
    • In case of ACG and customer provided resource group only:

      $CustomerOwnResourceGroupProperties = @"
      <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
      <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" />
      </CustomProperties>
      "@
      <!--NeedCopy-->
      
    • In case of ACG and resource group and image gallery managed by Citrix:

       $CustomerOwnResourceGroupNothingProperties = @"
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
       </CustomProperties>
       "@
       <!--NeedCopy-->
      
    Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName Azure28 [-CustomProperties $CustomProperties]
    <!--NeedCopy-->
    
  4. Create an image version using the New-ProvImageVersion command. For example,

    New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
    <!--NeedCopy-->
    
  5. Add a master image version spec to the image version using the Add-ProvImageVersionSpec command. For example,

    Add-ProvImageVersionSpec -ImageDefinitionName  image1  -ImageVersionNumber  1 -HostingUnitName azure -MasterImagePath "XDHyp:\HostingUnits\azure\image.folder\azureresourcegroup.resourcegroup\win2022-snapshot.snapshot"
    <!--NeedCopy-->
    

    Note:

    You can add only one master image version spec to one image version for a hosting unit.

  6. Create a prepared image version spec from the master image version spec using the New-ProvImageVersionSpec command. For example,

    New-ProvImageVersionSpec
    -SourceImageVersionSpecUid  c6e7384c-b2f8-46d6-9519-29a2c57ed3cb
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure\virtualprivatecloud.folder\azureresourcegroup.resourcegroup\azure-vnet-eastus.virtualprivatecloud\dev.network"}
    -ServiceOffering"XDHyp:\HostingUnits\azure\serviceoffering.folder\Standard_B2ms.serviceoffering" -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"></CustomProperties>" -RunAsynchronously
    <!--NeedCopy-->
    
  7. You can also share a prepared image version spec with another hosting unit in all hosting connections by using the Add-ProvImageVersionSpecHostingUnit command. For example,

    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName AzureWest
    <!--NeedCopy-->
    

    Note:

    One hosting unit and preparation type can have only one prepared instance.

Example of the complete set of Powershell commands to create image definition, image version, and prepared image version spec:

New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
 
$CustomProperties = @"
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" />
    <Property xsi:type="StringProperty" Name="ImageGallery" Value="gallery" />
</CustomProperties>
"@  
 
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName Azure28 -CustomProperties $CustomProperties
 
$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
 
$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
    -HostingUnitUid $hostingunit.HostingUnitUid `
    -MasterImagePath "XDHyp:\HostingUnits\azure28\image.folder\abc.resourcegroup\def-snapshot.snapshot"
 
New-ProvImageVersionSpec -NetworkMapping @{"0" = "XDHyp:\HostingUnits\azure28\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\studio-mcs-infrastructure.resourcegroup\studio-mcs-vnet-eastus.virtualprivatecloud\mcs-dev.network" } -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`" /></CustomProperties>" -ServiceOffering "XDHyp:\HostingUnits\azure28\serviceoffering.folder\Standard_B2s.serviceoffering" -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName AzureWest
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->

Note:

  • All image version specs in an image definition must belong to the same hosting unit.
  • An image version can have only one master image version spec and one prepared image version spec.

    • All image version specs must either have a machine profile or none of the image version specs must have a machine profile.

Create a catalog using a prepared image version spec

Create an MCS machine catalog from the prepared image version spec using the New-ProvScheme command. For example,

New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>][-ImageAssignmentNote <string>]
<!--NeedCopy-->

Or,

New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitName <string> -IdentityPoolName <string> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>][-ImageAssignmentNote <string>]
<!--NeedCopy-->

If you want to use an ACG image version spec, then set UseSharedImageGallery as true. For example,

$provSchemeCustomProperties= @"
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
    <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
    <Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_LRS" />
</CustomProperties>
"@
New-ProvScheme -ProvisioningSchemeName assignimage -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid `
    -HostingUnitUid $hostingunit.HostingUnitUid `
    -IdentityPoolUid $IdentityPool.IdentityPoolUid `
    -CleanOnBoot -Scope @() -SecurityGroup @() `
    -ServiceOffering "XDHyp:\HostingUnits\azure28\serviceoffering.folder\Standard_B2s.serviceoffering" `
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure28\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\studio-mcs-infrastructure.resourcegroup\studio-mcs-vnet-eastus.virtualprivatecloud\mcs-dev.network"} `
    -CustomProperties $provSchemeCustomProperties
<!--NeedCopy-->

Example of the complete set of Powershell commands to create a catalog:

$Catalog = New-BrokerCatalog  -AllocationType "Random"  -IsRemotePC $False  -MinimumFunctionalLevel "L7_20" -Name "azurecatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"

$IdentityPool = New-AcctIdentityPool  -AllowUnicode  -Domain "azure.local" -IdentityPoolName "azurecatalog" -IdentityType "ActiveDirectory"  -NamingScheme "azure##" -NamingSchemeType "Numeric" -Scope @()

$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"

$Task = New-ProvScheme -ProvisioningSchemeName azurecatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName azure -IdentityPoolName azurecatalog -CleanOnBoot -Scope @() -SecurityGroup @() -ServiceOffering "XDHyp:\HostingUnits\azure\serviceoffering.folder\Standard_B2s.serviceoffering" -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure\virtualprivatecloud.folder\azureresourcegroup.resourcegroup\azure-vnet-eastus.virtualprivatecloud\dev.network"} -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">    <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"StandardSSD_LRS`" /></CustomProperties>" -RunAsynchronously

Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName azurecatalog

<!--NeedCopy-->
```powershell
Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid

Share encrypted prepared image across regions, subscriptions, and tenants

Azure Compute Gallery (ACG) images can be encrypted with a Disk Encryption Set (DES). With ACG sharing feature, you can share an encrypted prepared image across regions, subscriptions and tenants for Azure. The target resource needs to pick a DES in its region from the subscription where the prepared image belongs. You can thereafter create a machine catalog in the resource where the encrypted prepared image is shared.

The key steps to share an encrypted prepared image are:

  1. Create Disk Encryption Set (DES) in each region: See the microsoft documentation Use the Azure portal to enable server-side encryption with customer-managed keys for managed disks.
  2. Create an image definition for the Azure host connection and image versions in Azure Compute Gallery (ACG) and specify the DES to encrypt the prepared image : See Create an image definition and initial image version.
  3. Share the encrypted prepared image across regions, subscriptions, and tenants: You can use Web Studio or PowerShell commands.

You can now create a machine catalog in the resource where the encrypted prepared image is shared. For more information on creating the catalog, see Create a prepared image machine catalog in Azure.

Note:

  • If the primary region is not encrypted, the shared regions also cannot have DES.
  • If two host units target the same region, they have the same DES.

Share the encrypted image across regions, subscriptions, and tenants using Web Studio

  1. Right-click an image version and select Manage Image Share. The resources with region and disk encryption set are listed.
  2. Select the resources that you want to share with the image version. The resources where the image version is created from is disabled for any actions. Select a DES from the drop-down menu if DES is not configured for a resource.

    Note:

    Resources within the same region must use the same encryption key.

  3. Click Save.
  4. Click the Resources tab for more details about the sharing status.

    Note:

    • When the status of the image version sharing is in progress, the option to Delete Image Version or Manage Image Share is disabled.
    • When a resource is successfully shared, the DES is not editable.

Share the encrypted image across regions, subscriptions, and tenants using PowerShell

Use the command Add-ProvImageVersionSpecHostingUnit and add the parameter CustomProperties. In CustomProperties, configure the DES for the target resource. When sharing the prepared encrypted image, each resource picks a DES in its region from the subscription which the prepared image belongs to. For example,

$CustomProperties = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">"
 "<Property xsi:type=`"StringProperty`" Name=`"DiskEncryptionSetId`" Value=`"/subscriptions/xxxxxx-7152-46c4-b061-xxxxxx70c/resourceGroups/resourcegroup1/providers/Microsoft.Compute/diskEncryptionSets/desid1`" />"+
 "</CustomProperties>"
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -CustomProperties $CustomProperties

Weitere Informationen

Nächste Schritte