Citrix DaaS™

AWS EC2で準備済みイメージマシンカタログを作成

  • 準備済みイメージを作成し、その準備済みイメージを使用して、次の方法でMCSマシンカタログを作成します。

  • Studio
  • PowerShellコマンド

準備済みイメージを使用してMCSマシンカタログを作成する主な手順は次のとおりです。

  1. イメージ定義と初期イメージバージョンを作成します。
  2. イメージバージョンを準備済みイメージとして使用してカタログを作成します。

イメージ定義と初期イメージバージョンの作成

Studioの使用

イメージ定義と初期イメージバージョンを作成するには、次の手順を実行します。

  1. Studioで、[イメージ] ノードに移動し、[イメージ定義の作成] をクリックします。[はじめに] ページで [次へ] をクリックします。
  2. [イメージ定義] ページで、イメージ定義の [OSタイプ][セッションタイプ] を指定します。
  3. [イメージ] ページで、[リソース] (設定された接続に適用可能なリソースのみが一覧表示されます)、イメージバージョンを作成するためのテンプレートとして使用するマスターイメージ、およびハードウェアプロパティをキャプチャするマシンプロファイルを選択します。VMインスタンスまたは起動テンプレートバージョンからハードウェアプロパティをキャプチャするマシンプロファイルを選択します。

    注:

    • イメージを選択する前に、マスターイメージにVDA 2311以降がインストールされており、MCSIOドライバーがVDAにインストールされていることを確認してください。
    • インスタンスメタデータサービス(IMDS)V1とV2の両方がサポートされています。
  4. [マシン仕様] ページで、マシンサイズを選択します。マシンプロファイル([イメージ] ページで選択)のマシンサイズがデフォルトで選択されています。
  5. [NIC] ページで、準備イメージのNICを選択または追加します。各NICについて、関連するVPCサブネットを選択します。
  6. [バージョン説明] ページで、作成された初期イメージバージョンの説明を入力します。
  7. [概要] ページで、イメージ定義と作成された初期イメージバージョンの詳細を確認します。イメージ定義の名前と説明を入力します。[完了] をクリックします。

イメージバージョンの作成

イメージバージョンを使用すると、特定のイメージに対するさまざまなイテレーションや更新を管理できます。この機能により、さまざまな目的のために複数のイメージバージョンを維持できます。

初期イメージバージョンからイメージバージョンを作成するには、次の手順を実行します。

注:

すべてのイメージバージョンのホスティングユニットは同じである必要があります。

  1. [イメージ] ノードに移動し、イメージバージョンまたはイメージ定義を選択して、[イメージバージョンの作成] をクリックします。
  2. [イメージ定義] ページで、ホスティングユニットを変更し、そのイメージバージョンのマスターイメージとマシンプロファイルを再選択できます。
  3. イメージバージョンの構成を最初に構成されたイメージバージョンと異なるものにする場合は、[イメージバージョンの作成] ダイアログの [マシン仕様] ページと [NIC] ページで設定を構成します。
  4. イメージバージョンの説明を追加します。[完了] をクリックします。

注:

イメージバージョンの作成が何らかの理由で失敗した場合、下部にある [トラブルシューティング] タブに [再試行] オプションが表示されます。

PowerShellの使用

準備済みイメージバージョン仕様を作成するための詳細なPowerShellコマンドは次のとおりです。

  1. Test-ProvImageDefinitionNameAvailable コマンドを使用して、利用可能なイメージ定義名を確認します。例:

    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]>
    <!--NeedCopy-->
    
  2. New-ProvImageDefinition コマンドを使用してイメージ定義を作成します。例:

    New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
    <!--NeedCopy-->
    
  3. Add-ProvImageDefinitionConnection コマンドを使用して、指定されたホスティング接続でイメージ定義の新しい構成を作成します。

    Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn
    <!--NeedCopy-->
    
  4. New-ProvImageVersion コマンドを使用してイメージバージョンを作成します。例:

    New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
    <!--NeedCopy-->
    
  5. Add-ProvImageVersionSpec コマンドを使用して、マスターイメージバージョン仕様をイメージバージョンに追加します。例:

    Add-ProvImageVersionSpec -ImageDefinitionName  image1  -ImageVersionNumber  1 -HostingUnitName aws -MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”"
    <!--NeedCopy-->
    

    注:

        -  >
        -  > ホスティングユニットの1つのイメージバージョンには、1つのマスターイメージバージョン仕様のみを追加できます。
    
  6. New-ProvImageVersionSpec コマンドを使用して、マスターイメージバージョン仕様から準備済みイメージバージョン仕様を作成します。SourceImageVersionSpecUid パラメーターは Add-ProvImageVersionSpec コマンドから派生します。例:

    ```

  • New-ProvImageVersionSpec
  • -SourceImageVersionSpecUid 00000000-0000-0000-0000-00000000000
  • -MachineProfile ‘XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion’ -RunAsynchronously

  • ```

イメージ定義、イメージバージョン、および準備済みイメージバージョン仕様を作成するためのPowerShellコマンドの完全なセットの例

-  New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession

Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName aws-CustomProperties $CustomProperties

$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"

$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
    -HostingUnitUid $hostingunit.HostingUnitUid `
    -MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”

New-ProvImageVersionSpec -MachineProfile 'XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid 00000000-0000-0000-0000-00000000000-HostingUnitName aws
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid

<!--NeedCopy-->

注:

  • イメージ定義内のすべてのイメージバージョン仕様は、同じホスティングユニットに属している必要があります。
  • イメージバージョンには、マスターイメージバージョン仕様と準備済みイメージバージョン仕様がそれぞれ1つずつしか存在できません。
  • すべてのイメージバージョン仕様にはマシンプロファイルが必要です。

アベイラビリティーゾーン間での準備済みイメージの共有

AWS EC2の場合、同じAWSリージョン内で、異なるホスティングユニットに紐付けられた異なるアベイラビリティーゾーン間で、単一の準備済みイメージを共有できるようになりました。これにより、1つの準備済みイメージを使用して、さまざまなアベイラビリティーゾーンでMCSマシンカタログを作成および更新できます。

単一の準備済みイメージを維持し、それを使用して、異なるホスティングユニットに紐付けられた複数のアベイラビリティーゾーン間でマシンカタログを作成および更新できます。これにより、イメージ管理のオーバーヘッドが大幅に削減され、展開全体の一貫性が確保され、プロビジョニングプロセスが合理化されます。また、異なるアベイラビリティーゾーンの準備済みイメージを使用して、既存のマシンカタログをシームレスに更新することもできます。

ユースケース

  • 集中型イメージ管理: 1つのアベイラビリティーゾーン(例:us-east-1a)で準備済みイメージを作成します。その後、このイメージを同じus-east-1 AWSリージョン内のus-east-1bus-east-1cなどの他のアベイラビリティーゾーンに共有できます。これにより、単一のイメージが複数のホスティングユニットにサービスを提供し、メンテナンスが簡素化されます。
  • 効率的なカタログ作成と更新: AZ 1(例:us-east-1a)で作成された準備済みイメージを使用して、AZ 1に新しいカタログを作成できます。このイメージをAZ 2(例:us-east-1b)に共有した後、AZ 2で共有されたイメージを使用して、AZ 2でカタログを作成および更新できます。
  • クロスホスティングユニット展開: 環境に同じAWSリージョンおよびAWSアカウントの下に複数のホスティングユニットがある場合、これらのホスティングユニット間で準備済みイメージを効率的に共有できます。

制限事項

  • リージョン固有の共有: 準備済みイメージは、同じAWSリージョン内のアベイラビリティーゾーン間でのみ共有できます。現在の実装では、異なるAWSリージョンや異なるAWSアカウント間での共有はできません。

重要な考慮事項

  • 削除順序: 元の準備済みイメージバージョン仕様を削除するには、まずその共有イメージバージョン仕様をすべて削除する必要があります。または、元の仕様と共有仕様を同時に削除する必要があります。
  • イメージバージョンの依存関係: イメージバージョンを削除する場合、まずその特定のイメージバージョンに依存する共有構成をすべて削除する必要があります。元の(共有されていない)イメージから作成したカタログはそのまま残すことができます。
  • カタログのバックポート可能性: この機能が導入される前に展開した既存のマシンカタログを更新できます。カタログを最初に展開した場所とは異なるアベイラビリティゾーンで作成した準備済みイメージを使用します。
  • 完全な削除: 準備済みイメージを削除すると、共有または最初に作成したすべてのアベイラビリティゾーンでそのイメージを使用できなくなります。さらに、準備済みイメージバージョンに紐付けられているすべてのカタログが最初に削除されるまで、準備済みイメージバージョンを削除することはできません。

前提条件

この機能を構成または使用する前に、以下の条件を満たしていることを確認してください。

  • 環境がAWS EC2環境であること。
  • 同じAWSリージョン内および同じAWSアカウントで、複数のホスティングユニット(それぞれ異なるアベイラビリティゾーンに紐付け可能)を構成する必要があります。
  • 同じAWSアカウント間での共有を確実にするために、IAM権限セクションに詳述されているIAM権限を構成します。

IAM権限

現在の接続のアカウントIDを取得し、同じAWSアカウント間での共有を確実にするには、AWSアカウントに以下のIAM権限を含める必要があります。


{

-  `"Effect": "Allow",`
    `"Action": "iam:GetAccountSummary",`
    `"Resource": "*"`
}

<!--NeedCopy-->

PowerShellを使用した構成

現在、PowerShellコマンドのみを使用して、異なるホスティングユニットに紐付けられたアベイラビリティゾーン間で準備済みイメージを共有できます。

準備済みイメージの共有

  1. 共有する準備済みイメージの ImageVersionSpecUid を持っていることを確認します。これは、Get-ProvImageVersionSpec またはPowerShellの同様の Get- コマンドを使用して取得できます。
  2. 準備済みイメージを利用可能にするアベイラビリティゾーンの HostingUnitName を特定します。これは、その特定のアベイラビリティゾーン用に構成したホスティングユニットの名前です。
  3. Add-ProvImageVersionSpecHostingUnit コマンドの実行: 次のPowerShellコマンドを使用します。<ImageVersionSpecUid> をイメージのUidに、<targetHostingUnitName> をイメージバージョン仕様を共有するターゲットアベイラビリティゾーンのホスティングユニットの名前に置き換えます。

    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    
  4. 正常に実行されると、Studio UIでイメージのステータスが表示され、指定されたホスティングユニットと共有されたことが示されます。

準備済みイメージの共有解除

  1. 共有を解除する準備済みイメージの ImageVersionSpecUid を持っていることを確認します。
  2. 共有イメージを削除するアベイラビリティゾーンの HostingUnitName を特定します。
  3. Remove-ProvImageVersionSpecHostingUnit コマンドの実行: 次のPowerShellコマンドを使用します。<ImageVersionSpecUid> をイメージのUidに、<targetHostingUnitName> をイメージバージョン仕様の共有を解除するターゲットアベイラビリティゾーンのホスティングユニットの名前に置き換えます。

    Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    

マシンカタログの作成

Studioの使用

イメージノードからのマシンカタログ作成

イメージノードのカタログの作成オプションを使用して、イメージバージョンでカタログを作成します。

または、マシンカタログノードでカタログを作成する際にバージョンを選択し、カタログ作成ワークフローで準備済みイメージオプションにリンクすることもできます。マシンカタログノードからのマシンカタログ作成を参照してください。

イメージノードからMCSマシンカタログを作成するには、次の手順を実行します。

  1. イメージバージョンを選択し、カタログの作成をクリックします。はじめにページで次へをクリックします。
  2. マシン管理ページとイメージページでは、選択したイメージバージョンに基づいて設定が事前に選択されています。イメージページで、選択した準備済みイメージのメモを入力します。
  3. 次のページで設定を完了します。
  4. 概要ページで、マシンカタログの詳細を確認します。マシンカタログの名前と説明を入力します。完了をクリックします。
  5. マシンカタログノードに移動して、作成されたマシンカタログを確認します。

マシンカタログノードからのマシンカタログ作成

マシンカタログノードからMCSマシンカタログを作成するには、次の手順を実行します。

  1. 左側のナビゲーションペインでマシンカタログをクリックします。
  2. マシンカタログの作成をクリックします。マシンカタログのセットアップページが表示されます。
  3. マシンの種類ページで、カタログのマシンの種類(例:マルチセッションOS)を選択します。
  4. マシン管理ページで、次の設定を選択します。

    1. 電源管理されているマシン(仮想マシンやブレードPCなど)を選択します。
    2. Citrixプロビジョニングテクノロジーを選択します。次に、Citrix Machine Creation Services™を選択します。
    3. リソースフィールドで、ホスト接続の作成時に構成したリソース(アベイラビリティゾーン)を選択し、次へをクリックします。
  5. デスクトップエクスペリエンスページで、ユーザーがログオンしたときに使用するランダムまたは静的デスクトップのいずれかを選択します。静的デスクトップが選択されている場合、ユーザーがローカルディスクで行った変更を保存するかどうか(永続的または非永続的)をさらに指定します。
  6. イメージページで、イメージの選択をクリックして、マシンカタログの準備済みイメージを選択します。作成した準備済みバージョンを選択します。イメージバージョン名をクリックします。選択したイメージバージョンの詳細を表示するには、下線が引かれているバージョン番号をクリックします。完了をクリックします。

    準備済みイメージに関連付けられたマシンプロファイルが表示され、そのハードウェアプロパティ(インスタンスタイプ、テナンシータイプ、ネットワークマッピング、セキュリティグループ、ボリュームプロパティなど)がカタログ内のマシンを作成するために使用されます。マシンプロファイルのソースを別のVMまたは起動テンプレートバージョンに変更するには、編集ボタンをクリックします。

  7. 仮想マシンページ:

    1. カタログのVM数を入力します。
    2. デフォルトのマシン仕様が表示されます。これはマシンプロファイルに基づいています。変更するには、編集アイコンを選択し、マシン仕様を選択します。
  8. NICページで、VMのNIC(またはENI)を選択します。
  9. マシンIDページで、ドメインを選択し、このマシンカタログで作成されるVMの新しいADアカウントを作成することにより、カタログ内のマシンのオンプレミスActive DirectoryまたはMicrosoft Entraハイブリッド参加を構成します。プロビジョニングされたVMは、選択したドメインに参加します。VM用に作成される新しいADアカウントのアカウント命名スキームを指定します。次へをクリックします。
  10. ドメイン資格情報ページで、資格情報の入力をクリックして、選択したドメインの資格情報を提供します。プロンプトが表示されたら、管理者レベルのユーザー名とパスワードを入力します。以前に製品ドキュメントに従ってドメイン資格情報を保存している場合は、サービスアカウントを使用することもできます。
  11. 概要ページが表示されるまで残りのページをクリックします。マシンカタログの名前を入力し、完了を選択してマシンカタログを作成します。

PowerShellの使用

準備済みイメージバージョン仕様とマシンプロファイルを使用したカタログ作成

  • New-ProvScheme コマンドを使用して、準備済みイメージバージョン仕様からMCS非永続マシンカタログを作成します。例:

     New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”]
     <!--NeedCopy-->
    
  • New-ProvScheme コマンドを使用して、準備済みイメージバージョン仕様からMCS永続マシンカタログを作成します。例:

     New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] 
     <!--NeedCopy-->
    

カタログを作成するためのPowerShellコマンドの完全なセットの例:


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

$IdentityPool = New-AcctIdentityPool  -AllowUnicode  -Domain "domainname" -IdentityPoolName "awscatalog" -IdentityType "ActiveDirectory"  -NamingScheme "aws##" -NamingSchemeType "Numeric" -Scope @()

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

$Task = New-ProvScheme -ProvisioningSchemeName awscatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName aws -IdentityPoolName awscatalog -CleanOnBoot -Scope @() -SecurityGroup @() -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm' -RunAsynchronously

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

Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid

<!--NeedCopy-->

次のステップ

詳細情報

AWS EC2で準備済みイメージマシンカタログを作成