Citrix DaaS™

Amazon WorkSpaces Core マネージドインスタンスのカタログを作成する

マシンカタログの作成では、マシンカタログを作成するウィザードについて説明します。以下の情報は、Amazon WorkSpaces Core マネージドインスタンスに固有の詳細を扱います。

注:

現在、永続VMと非永続VMの両方のカタログ(CleanOnBootプロパティがTrueまたはFalse)の作成がサポートされています。

前提条件

Amazon WorkSpaces Core マネージドインスタンスのカタログを作成する前に、以下を作成しておく必要があります。

  1. Amazon WorkSpaces Core マネージドインスタンスへの接続。「Amazon WorkSpaces Core マネージドインスタンスへの接続」を参照してください。
  2. 準備されたイメージ。「Amazon WorkSpaces Core マネージドインスタンス用の準備されたイメージを作成する」を参照してください。

イメージ準備中のネットワーク設定

イメージ準備中に、元のVMに基づいて準備用仮想マシン(VM)が作成されます。この準備用VMはネットワークから切断されます。準備用VMからネットワークを切断するために、すべてのインバウンドおよびアウトバウンドトラフィックを拒否するネットワークセキュリティグループが作成されます。このネットワークセキュリティグループは永続的であり、再利用されます。ネットワークセキュリティグループの名前はCitrix.XenDesktop.IsolationGroup-GUIDで、GUIDはランダムに生成されます。

マシンプロファイルベースのマシンカタログ

マシンプロファイルを使用して、EC2インスタンス(VM)または起動テンプレートバージョンからハードウェアプロパティをキャプチャし、プロビジョニングされたマシンに適用できます。キャプチャされるプロパティには、テナンシータイプ、インスタンスタイプ、セキュリティグループ、ネットワークマッピング、EBSボリュームプロパティ、EBS最適化、CPUオプション、ハイバネーション機能、その他のサポートされているAWS構成などが含まれます。

マシンプロファイルの入力として、AWS EC2インスタンス(VM)またはAWS起動テンプレートバージョンを使用できます。

注:

  • EBSボリュームプロパティは、マシンプロファイルからのみ派生します。
  • Instance Metadata Service (IMDS) V2 のみがサポートされており、IMDS V1 はサポートされていません。詳細については、「How Instance Metadata Service Version 2 works」を参照してください。

AWS テナンシー

AWS は、共有テナンシー(デフォルトタイプ)と専用テナンシーの2つのテナンシーオプションを提供しています。共有テナンシーとは、異なる顧客の複数の Amazon WorkSpaces Core インスタンスが同じ物理ハードウェア上に存在する可能性があることを意味します。専用テナンシーとは、Amazon WorkSpaces Core インスタンスが、お客様がデプロイした他のインスタンスと同じハードウェア上でのみ実行されることを意味します。

注:

専用インスタンスのみがサポートされています(専用ホストは現在サポートされていません)。他の顧客は同じハードウェアを使用しません。

テナンシータイプはマシンプロファイルから取得されます

MCS を使用して AWS でマシンをプロビジョニングするためのカタログを作成すると、テナンシータイプはマシンプロファイルから取得されます。

  • 共有ハードウェア:この設定は、ほとんどのデプロイに適しています。複数の顧客が互いにやり取りすることなくハードウェアを共有します。共有ハードウェアを使用することは、Amazon EC2 インスタンスを実行するための最も安価なオプションです。
  • 専用インスタンス:この設定は、特定のセキュリティまたはコンプライアンス要件を持つデプロイにより適しています。専用インスタンスを使用すると、他の AWS 顧客とは別のホストを持つという利点を享受できますが、ホスト全体に対して料金を支払う必要はありません。ホストの容量について心配する必要はありませんが、インスタンスの料金は高くなります。さらに、専用インスタンスは、Bring Your Own License (BYOL) のサポートが限定的です。

柔軟な課金

Amazon WorkSpaces Core マネージドインスタンスは、次の2つの課金モードをサポートしています。

課金モード 説明
月額 固定の月額定額課金。永続的なデスクトップや予測可能なワークロードに最適です。
時間単位 従量課金制。これは、課金モードが明示的に指定されていない場合のAWSのデフォルト設定です。

これらのオプションは、ワークロードの永続性と使用パターンに基づいてコンピューティングコストを管理するための柔軟性を提供します。

この機能を使用するには、Amazon WorkSpaces課金サービスを使用する必要があります。デフォルトでは、MCSはこのサービスを使用してインスタンスをプロビジョニングおよび管理し、永続的なワークロードに対してより競争力のある定額料金の恩恵を受けられるようにします。

前提条件と考慮事項

  • AWSアカウントの設定: AWSアカウントは、WorkSpaces課金サービスを使用するように構成されている必要があります。AWSアカウントはデフォルトで切り替えられますが、一部の顧客は、WorkSpaces Core Managed Instancesを使用するために、AWSにレガシーEC2課金サービスを維持するよう要求する場合があります。

    注:

    アカウントがレガシーEC2課金サービスを使用している場合、月額課金オプションは利用できません。

  • ホスト接続: 柔軟な課金は、Amazon WorkSpaces Coreホスト接続にのみ適用されます。標準のAWS EC2ホスト接続ではサポートされていません。
  • スポットインスタンス: スポットインスタンスは、WorkSpaces課金サービスではサポートされていません。
  • 混合課金: AWSアカウントは、コアマネージドインスタンスに対してWorkSpaces課金またはEC2課金のいずれかを使用する必要があります。単一のアカウント内で両方を混在させることはサポートされていません。
  • 互換性: 特定のインスタンスタイプ、プラットフォームタイプ(OS)、およびテナンシータイプのみが特定の課金モードと互換性があります。MCSは、選択内容(サービス提供、マシンプロファイル、および準備済みイメージ)が選択された課金モードと一致することを確認するために、事前チェックを実行します。

「特定の課金モードでマシンカタログを作成する」を参照してください(#create-a-machine-catalog-with-a-specific-billing-mode)。

カタログを作成する

Amazon WorkSpaces Core Managed Instancesのカタログを作成するには、準備済みイメージとマシンプロファイルが必要です。マシンプロファイルの入力として、AWS VMインスタンスまたはAWS起動テンプレートバージョンを使用できます。

カタログは以下を使用して作成できます。

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ページで、カタログ内のマシンのマシンIDタイプを構成します。

    1. ドメイン参加済みマシン (オンプレミス Active Directory または Microsoft Entra ハイブリッド参加済み) を構成するには、ドメインを選択し、このマシンカタログで作成するVM用の新しいADアカウントを作成します。プロビジョニングされたVMは、選択したドメインに参加します。ドメインに参加していないマシンをプロビジョニングするには、ドメイン参加なしのオプションを選択します。
    2. VM用に作成する新しいアカウントのアカウント命名スキームを指定します。
  10. ドメイン資格情報ページで、資格情報の入力をクリックして、選択したドメインの資格情報を入力します。プロンプトが表示されたら、管理者レベルのユーザー名とパスワードを入力します。以前に当社の製品ドキュメントに従ってドメイン資格情報を保存している場合は、サービスアカウントを使用することもできます。
  11. 概要ページが表示されるまで、残りのページをクリックします。マシンカタログの名前を入力し、完了を選択してマシンカタログを作成します。

AWSローカルゾーンでのマシンカタログ作成に関する制限事項

  • 特定のローカルゾーンでは、特定のハードウェア構成のみがサポートされます(例:パースのローカルゾーンではGP3ボリュームはサポートされず、GP2のみがサポートされます)。
  • gp2のみがすべてのローカルゾーンで普遍的にサポートされており、すべてのローカルゾーンがgp3をサポートしているわけではないため、IDディスクの作成はデフォルトでgp2ボリュームタイプを使用します。
  • 目的のローカルゾーンでサポートされているハードウェア仕様を持つマシンプロファイルを選択する必要があります。
  • 準備済みイメージAMIスナップショットとIDディスクスナップショットは、デフォルトでローカルゾーンではなくリージョンに配置されます(ローカルゾーンでのEBSスナップショットサポートの可視性に関するAWSの制限のため)。
  • 完全なEC2およびEBSサービスをサポートするローカルゾーンのみがサポート対象ゾーンです。

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 "wsccatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"

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

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

$Task = New-ProvScheme -ProvisioningSchemeName wsccatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName wsc -IdentityPoolName wsccatalog -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 wsccatalog

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

マシンプロファイルを更新する

マシンプロファイルで最初にプロビジョニングされたカタログのマシンプロファイルを更新するには、次の手順を実行します。MCSマシンカタログを編集する際に、マシンプロファイルソースのテナンシータイプとハイバネーション機能を変更することもできます。

  1. Set-ProvScheme コマンドを実行します。例:

    Set-ProvScheme `
    -ProvisioningSchemeUid "<ID" `
    -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm"
    <!--NeedCopy-->
    

特定の課金モードでマシンカタログを作成する

現在、PowerShellのみを使用してマシンカタログを作成する際に、課金モードを指定できます。

PowerShellを使用する

PowerShellで課金モードを指定するには、New-ProvScheme コマンドで CustomProperties パラメーターを使用します。

$custprop = "BillingMode,Monthly"

New-ProvScheme -ProvisioningSchemeName "MyCatalog" `
-ImageVersionSpecUid $ImageVersionSpecUid `
-HostingUnitName "wsc-unit" `
-IdentityPoolName "MyIdentityPool" `
-MachineProfile "XdHyp:\HostingUnits\wsc-unit\machine-profile lt-123.launchtemplate\lt-123 (1).launchtemplateversion" `
-CustomProperties $custprop `
-CleanOnBoot
<!--NeedCopy-->

注:

BillingMode プロパティが省略されている場合、カタログはデフォルトで Hourly になります。

既存のカタログの課金モードを変更する

既存のカタログを Monthly から Hourly に、またはその逆に変換できます。この変更は、カタログ内の新規および既存のVMの両方に適用できます。

更新に関する重要な考慮事項

  • サービスウィンドウ:既存のVMは、課金変更を適用するためにサービスウィンドウまたは電源サイクルを経る必要があります。
  • 検証:MCSは、変更を適用する前に、既存のインスタンスタイプとプラットフォームが新しい課金モードと互換性があることを検証します。

PowerShellを使用した更新

  • カタログに追加された新しいVMのみの課金モードを更新するには、プロビジョニングスキームの課金モードカスタムプロパティを更新します。

     $custprop = "BillingMode,Hourly"
    
     Set-ProvScheme -ProvisioningSchemeName "MyCatalog" -CustomProperties $custprop
     <!--NeedCopy-->
    
  • カタログ内の新規および既存のVMの課金モードを更新するには、更新されたカスタムプロパティを持つ新しいプロビジョニングスキームバージョンを作成し、その新しいバージョンをすべてのVMに適用します。

     $custprop = "BillingMode,Hourly"
    
     New-ProvSchemeVersion -ProvisioningSchemeName "MyCatalog" -CustomProperties $custprop
    
     New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 2 `
     -StartsNow -AllVMs `
     -MaxDurationInMinutes 100 `
     -ProvisioningSchemeName "MyCatalog"
     <!--NeedCopy-->
    

課金情報の監視

カタログおよび個々の仮想マシンの課金モードを確認できます。

アカウントの課金資格を確認するには、次のPowerShellコマンドを実行します。

  • CustomPropertiesの一部としてBillingModeを返します

     Get-ProvScheme –ProvisioningSchemeName “"MyCatalog" "  | Select  ProvisioningSchemeName,  CustomProperties
     <!--NeedCopy-->
    
  • VMInfoの一部としてBillingModeを返します

     Get-ProvVMDetails –ProvisioningSchemeName “"MyCatalog" "  | Select-Object  -ExpandProperty VMInfo
     <!--NeedCopy-->
    

トラブルシューティングと検証

MCSには、互換性のない構成を防ぐための事前チェックが含まれています。カタログの作成または編集中に、次のエラーが発生する可能性があります。

  • NoInstanceConfigFoundForBillingMode: 選択したサービスオファリング(インスタンスタイプ)、テナンシー、およびプラットフォームタイプが、選択された課金モードでサポートされていない場合に発生します。

  • スポットインスタンスはサポートされていません: WorkSpacesホスト接続でスポットインスタンスを使用しようとすると、検証に失敗します。
  • EC2課金制限: AWSアカウントがレガシーEC2課金モデルを使用している場合、月額課金モードを設定しようとすると、検証エラーが発生します。

PowerShellを使用して起動テンプレートバージョンでカタログを作成する

マシンプロファイル入力として起動テンプレートバージョンを使用して、MCSマシンカタログを作成できます。また、マシンプロファイルカタログの入力をVMから起動テンプレートバージョンへ、または起動テンプレートバージョンからVMへ更新することもできます。

AWS EC2コンソールで、起動テンプレートのインスタンス構成情報をバージョン番号とともに提供できます。マシンカタログの作成または更新時に、起動テンプレートバージョンをマシンプロファイル入力として指定すると、その起動テンプレートバージョンのプロパティがプロビジョニングされたVDA VMにコピーされます。

以下のプロパティは、マシンプロファイル入力として、またはNew-ProvSchemeまたはSet-ProvSchemeコマンドのパラメータとして明示的に指定できます。New-ProvSchemeまたはSet-ProvSchemeコマンドで指定された場合、これらのプロパティのマシンプロファイル値よりも優先されます。

  • サービス提供
  • ネットワーク

注:

マシンプロファイルの起動テンプレートでサービス提供が指定されていない場合、またはNew-ProvSchemeコマンドのパラメータとして指定されていない場合、適切なエラーが発生します。

起動テンプレートバージョンをマシンプロファイル入力として使用してカタログを作成するには:

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするためにasnp citrix*を実行します。
  3. 起動テンプレートの起動テンプレートバージョンの一覧を取得します。例:

    XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath
    <!--NeedCopy-->
    
  4. 作成されていない場合は、IDプールを作成します。例:

    New-AcctIdentityPool `
    -IdentityPoolName "abc11" `
    -NamingScheme "abc1-##" `
    -NamingSchemeType Numeric `
    -Domain "citrix-xxxxxx.local" `
    -ZoneUid "xxxxxxxx" `
    <!--NeedCopy-->
    
  5. 起動テンプレートバージョンをマシンプロファイル入力として使用してプロビジョニングスキームを作成します。例:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid "c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid "bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -ImageVersionSpecUid ‘24dfb047-e867-527g-896c-25664xxxxx1t’ `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
    <!--NeedCopy-->
    
  6. プロビジョニングスキームをブローカーカタログとして登録します。例:

    New-BrokerCatalog -Name "MPLT1" `
    -AllocationType Random `
    -Description "Machine profile catalog" `
    -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx `
    -ProvisioningType Mcs `
    -SessionSupport MultiSession `
    -PersistUserChanges Discard
    <!--NeedCopy-->
    
  7. カタログの作成を完了します。

マシンプロファイルソースを更新する

マシンプロファイルカタログの入力を、VMから起動テンプレートバージョンへ、また起動テンプレートバージョンからVMへ更新することもできます。例:

  • VMから起動テンプレートバージョンへ、マシンプロファイルカタログの入力を更新するには:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-0bxxxxxxxxxxxx).launchtemplate\lt-0bxxxxxxxxxxxx (1).launchtemplateversion"
     <!--NeedCopy-->
    
  • 起動テンプレートバージョンからVMへ、マシンプロファイルカタログの入力を更新するには:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\sard-ue1a\us-east-1a.availabilityzone\apollo-non-persistent-vda-win2022-2 (i-08xxxxxxxxx).vm"
     <!--NeedCopy-->
    

MCSIOが有効なカタログ

MCSストレージ最適化 (MCSIO) は、ディスク操作をメモリまたは小型の高速ディスクにキャッシュすることで、VMのパフォーマンスを向上させます。PowerShellコマンドを使用して、MCSIOが有効な非永続カタログを作成できます。そのようなカタログを作成するには、AMIインスタンスの準備中にVDAをインストールまたはアップグレードする際に、MCSIOドライバーをインストールする必要があります。デフォルトでは、このドライバーはインストールされていません。

MCSIO AMIが準備された後(VDAのインストール時に、MCSIOドライバーをインストールに含めるオプションを選択します)、MCSIOが有効な非永続カタログを作成できます。

注:

Studioを使用して、ディスクキャッシュのみ(メモリキャッシュなし)でMCSIOを構成するオプションは、すべてのハイパーバイザーおよびクラウドサービス環境で削除されました。

MCSIOが有効なカタログを作成する

New-ProvScheme PowerShellコマンドに追加された4つのパラメーターは次のとおりです。

  • UseWriteBackCache: 指定されたプロビジョニングスキームのキャッシュ(ライトバックキャッシュ)をオンにします
  • WriteBackCacheDiskSize: キャッシュに使用される一時ディスクのサイズをGB単位で指定します
  • WriteBackCacheMemorySize: キャッシュに使用するメモリ量をMB単位で指定します。これはオプションのパラメーターです。

注:

  • WriteBackCacheDiskSizeの値はゼロより大きい必要があります。少なくとも1 GBのキャッシュディスクストレージが必要なためです。キャッシュディスクサイズはOSディスクサイズより大きくしてはいけません。
  • WriteBackCacheMemorySizeの値はゼロ以外である必要があり、かつマシンカタログのメモリサイズより小さい必要があります。

MCSIO に影響するカスタムプロパティは次のとおりです。

  • WBCDiskStorageType: Amazon WorkSpaces Core Managed Instances の一時ディスクに使用されるボリュームタイプを定義します。このパラメーターは、volume-type[:iops][:throughput] の形式で文字列引数を取ります。ボリュームタイプは次のとおりです。

    • gp2: このボリュームタイプには iops および throughput パラメーターを使用しないでください
    • gp3: このボリュームタイプには iops および throughput パラメーターを使用してください
    • io1: このボリュームタイプには iops パラメーターのみを使用してください
    • io2: このボリュームタイプには iops パラメーターのみを使用してください

    デフォルトのボリュームタイプは gp2 です。

  • PersistWBC: Amazon WorkSpaces Core Managed Instances の電源がオフになるたびに、キャッシュディスクを保持するか破棄するかを制御します。true に設定すると、キャッシュディスクは保持されます。false (デフォルト) に設定すると、キャッシュディスクは AMI インスタンスの電源がオンになっている間のみ作成および保持されます。
  • PersistOSDisk: Amazon WorkSpaces Core Managed Instances の電源がオフになるたびに、OS ディスクを保持するか破棄するかを制御します。true に設定すると、OS ディスクは保持されます。false (デフォルト) に設定すると、OS ディスクは AMI インスタンスの電源がオンになっている間のみ作成および保持されます。

MCSIO が有効な非永続カタログを作成するには、PowerShell ウィンドウで次の手順を実行します。

  1. PowerShell ウィンドウを開きます。
  2. Citrix 固有の PowerShell モジュールをロードするには、asnp citrix* を実行します。
  3. ブローカーカタログと ID プールを作成します。
  4. プロビジョニングスキームを作成します。例:

    $HostingUnitUid = '0xxxx1d9-bbfc-xxxf-bxxb-exxxxxe008b2'
    $MasterImageVM = 'XDHyp:\HostingUnits\ctx-test\aws-apollo-non-persistent-multi-mcsio-vda-win2022 (ami-0bf1810488acbxxxb).template'
    $NetworkMap = @{ 'NetworkPath' = 'XDHyp:\HostingUnits\ctx-test\us-east-1a.availabilityzone\10.0.128.0`/17 (vpc-0fa6e41d72507fxxx).network' }
    $SecurityGroup = $( 'XDHyp:\HostingUnits\ctx-test\us-east-1a.availabilityzone\private.securitygroup' )
    $ServiceOffering = 'XDHyp:\HostingUnits\ctx-test\T3 Medium Instance.serviceoffering'
    $CustomProperties = 'WBCDiskStorageType,gp3:6000:250;PersistWBC,false'
    
    $provScheme = New-ProvScheme -ProvisioningSchemeName $CatalogName -HostingUnitUid $HostingUnitUid `
    -IdentityPoolUid $acctPool.IdentityPoolUid -CleanOnBoot `
    - MasterImageVM $MasterImageVM `
    -NetworkMap $NetworkMap `
    -ServiceOffering $ServiceOffering `
    -SecurityGroup $SecurityGroup `
    -CustomProperties $CustomProperties `
    -UseWriteBackCache -WriteBackCacheDiskSize 16 -WriteBackCacheMemorySize 256
    <!--NeedCopy-->
    
  5. カタログに VM を追加します。

MCSIOで起動パフォーマンスを向上させる

MCSIOを有効にし、PersistWBCPersistOSDiskのカスタムプロパティをtrueに設定すると、VMの起動パフォーマンスを向上させることができます。この設定により、VMは新しいキャッシュディスクを初期化したり、テンプレートからルートディスクを再作成したりする必要がないため、より高速に起動できます。

OSディスクとIDディスクを暗号化する

AWS KMSキー(カスタマー管理キーおよびAWS管理キー)を使用してVMのカタログを作成できます。これらのキーは、OSディスクとIDディスク(ID)の暗号化に使用できます。

  • AWS管理キーは毎年自動的にローテーションされます。
  • カスタマー管理キーは自動ローテーションがオプションであり、手動で管理できます。

KMSキーの詳細については、以下のAWSドキュメントを参照してください。

OSディスクとIDディスクの暗号化には、次のいずれかを構成します。

  • 暗号化された準備済みイメージを使用する(例:KMSキーで暗号化されたEBSルートボリュームを含むインスタンスまたはスナップショットから作成されたAMI)
  • 暗号化されたEBSルートボリュームを含むマシンプロファイルソース(VMまたは起動テンプレート)を使用する。

制限事項

次の制限事項を考慮してください。

  • MCSは現在、準備済みイメージAMI上のディスクを1つのみサポートしています。
  • 既存の暗号化されていないEBSボリュームやスナップショットを直接暗号化したり、既存の暗号化されたボリュームのKMSキーを変更したりすることはできません。これを行うには、次の手順を実行する必要があります。

    1. そのボリュームの新しいスナップショットを作成します。
    2. そのスナップショットから新しいボリュームを作成します。
    3. 新しいボリュームを暗号化します。

以下のAWSドキュメントを参照してください。

ディスク暗号化を使用してカタログを作成する

ディスク暗号化を使用してMCSマシンカタログを作成するには、次の方法があります。

  • 準備済みイメージ(暗号化されたディスクを持つマスターイメージからのイメージ管理を使用して作成)
  • マシンプロファイル

マシンプロファイル入力を使用する際の考慮事項は次のとおりです。

  • マシンプロファイル入力のKMSキーは、準備済みイメージのKMSキーよりも優先されます。
  • マシンプロファイル入力が提供されない場合、準備済みイメージAMIのKMSキーがカタログVMのディスクを暗号化するために使用されます。
  • マシンプロファイルにブロックデバイスマッピングが存在する場合、準備済みイメージテンプレート(AMI)とマシンプロファイルに存在するブロックデバイスは一致する必要があります。たとえば、AMIに/dev/sda1で定義されたデバイスがある場合、マシンプロファイルにも/dev/sda1で定義されたデバイスが必要です。
  • マシンプロファイルソースにキーがなく、準備されたイメージが暗号化されていない場合、カタログVMのディスクは暗号化されません。
  • 準備されたイメージが暗号化されている場合、有効な入力と見なされるには、マシンプロファイルソースVMまたは起動テンプレートに暗号化されたルートボリュームが必要です。

既存のカタログを変更する

既存のカタログは、Set-ProvScheme PowerShellコマンドを使用して、次のように変更できます。

  • 新しいKMSキーを含むボリュームを持つマシンプロファイル入力。
  • イメージ管理を使用して、暗号化されたAMIを持つマスターイメージから作成された準備済みイメージ。

重要な考慮事項:

  • カタログに追加された新しいVMのボリュームは、新しいKMSキーで暗号化されます。
  • 既存のマシンプロファイルがある場合に暗号化設定を更新するには、新しいマシンプロファイルでSet-ProvSchemeを実行します。
  • 既存のカタログを暗号化されたボリュームから暗号化されていないボリュームに変更することはできません。 暗号化された準備済みイメージAMIから暗号化されていない準備済みイメージAMIへのイメージ更新はできません。

VMインスタンスのNitroTPMとUEFIセキュアブートを有効にする

カタログを作成する際、NitroTPMおよび/またはUEFIセキュアブートが有効な準備済みイメージ(AMI)を選択できるようになりました。これにより、カタログ内のプロビジョニングされたVMもNitroTPMおよび/またはUEFIセキュアブートが有効になります。この実装により、VMのセキュリティと信頼性が確保されます。NitroTPMとUEFIセキュアブートの詳細については、Amazonドキュメントを参照してください。

制限事項

  • 現在、NitroTPMとセキュアブートは、中国を除くすべてのAWSリージョン(AWS GovCloud (US) リージョンを含む)で利用できます。
  • 既存のカタログでNitroTPMとUEFIセキュアブートを有効にすることはできません。NitroTPMとUEFIセキュアブートが有効なカタログが必要な場合は、新しいカタログを作成してください。

主要な手順

  1. AWS環境をセットアップします。
  2. AWSへの接続を作成します。
  3. NitroTPMおよび/またはUEFIセキュアブートが有効なマスターイメージ(AMI)を作成します。(#create-an-ami-that-supports-nitrotpm-and-uefi-secure-boot).
  4. マスターイメージから準備済みイメージを作成します。Amazon WorkSpaces Coreマネージドインスタンス用の準備済みイメージを作成するを参照してください。
  5. Citrix Studioのカタログ作成メニューでNitroTPMとUEFIセキュアブートが有効な準備済みイメージを選択するか、PowerShellコマンドを使用してプロビジョニングスキームを作成することで、マシンカタログを作成します。

作成されたカタログに追加されたVMは、NitroTPMとUEFIセキュアブートが有効になっています。

NitroTPMとUEFIセキュアブートをサポートするAMIを作成する

  1. NitroTPMおよび/またはUEFIセキュアブートが有効になっているVMからAMIを作成できます。

    1. AWS Marketplaceイメージを使用してインスタンスを作成します。例: TPM-Windows_Server-2022-English-Full-Base on the aws-marketplaceを検索します。
    2. シングルセッションまたはマルチセッションVDAをダウンロードします。
    3. そのVMからAMIを作成します。
  2. register-imageコマンドを使用します。

    --boot-mode (string)
    --tpm-support (string)
    <!--NeedCopy-->
    

    詳細については、register-imageを参照してください。

以下のAWSドキュメントを参照してください。

Delivery Controller™ ホストから PowerShell ウィンドウを開き、特定の項目を確認できます。

  • サービスオファリングが NitroTPM または UEFI セキュアブートをサポートしているか

     (Get-Item -Path “XDHyp:\HostingUnits\aws\T3 Medium Instance.serviceoffering”).AdditionalData.BootMode
     (Get-Item -Path “XDHyp:\HostingUnits\aws\T3 Medium Instance.serviceoffering”).AdditionalData.NitroTpmSupportVersions
     <!--NeedCopy-->
    
  • テンプレートが NitroTPM または UEFI セキュアブートをサポートしているか

     (Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\aws” -ResourceType “template -Id “ID”).AdditionalData.BootMode
    
     (Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\aws” -ResourceType “template -Id “ID”).AdditionalData.TpmSupport
     <!--NeedCopy-->
    

既存のカタログのサービスオファリングを更新する

Set-ProvScheme を使用して、既存のカタログのサービスオファリングを変更できます。この変更は、新しく追加された VM に適用されます。ただし、次のシナリオではエラーが発生します。

AMI のブートモード AMI は Nitro TPM をサポートしていますか? サービスオファリングは NitroTPM と UEFI セキュアブートをサポートしていますか?
UEFI いいえ いいえ
レガシー BIOS はい いいえ
UEFI はい いいえ
UEFI優先 はい いいえ

VM上のタグをコピーする

マシンプロファイルで指定されたNIC、およびディスク(IDディスク、ライトバックキャッシュディスク、OSディスク)のタグを、MCSマシンカタログで新しく作成されたVMにコピーできます。これらのタグは、マシンプロファイルのソース(AWS VMインスタンスまたはAWS起動テンプレートバージョン)のいずれかで指定できます。この機能は、永続および非永続マシンカタログとVMに適用されます。

注:

  • AWS EC2コンソールでは、起動テンプレートバージョンのリソースタグの下にネットワークインターフェイスのタグの値が表示されません。ただし、PowerShellコマンド aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12 を実行してタグの仕様を確認できます。
  • マシンプロファイルソース(VMまたは起動テンプレートバージョン)に2つのネットワークインターフェイス(eni-1とeni-2)があり、eni-1にタグt1、eni-2にタグt2がある場合、VMは両方のネットワークインターフェイスのタグを取得します。

PowerShellを使用してVMインスタンスをフィルタリングする

マシンプロファイルVMとして使用するAWS VMインスタンスは、マシンカタログが正しく作成および機能するために互換性がある必要があります。マシンプロファイル入力VMとして使用できるAWS VMインスタンスを一覧表示するには、Get-HypInventoryItem コマンドを使用します。このコマンドは、ホスティングユニットで利用可能なVMのインベントリをページングおよびフィルタリングできます。

ページネーション:

Get-HypInventoryItem は、2つのページネーションモードをサポートしています。

  • ページングモードでは、-MaxRecords および -Skip パラメーターを使用してアイテムのセットを返します。
    • -MaxRecords: デフォルトは 1 です。これは、返されるアイテムの数を制御します。
    • -Skip: デフォルトは 0 です。これは、ハイパーバイザー内のリストの絶対的な先頭(または絶対的な末尾)からスキップするアイテムの数を制御します。
  • スクロールモードでは、-MaxRecords-ForwardDirection、および -ContinuationToken パラメーターを使用してレコードのスクロールを可能にします。
    • -ForwardDirection: デフォルトは True です。これは -MaxRecords とともに使用され、一致するレコードの次のセットまたは前のセットのいずれかを返します。
    • -ContinuationToken: これは、直後のアイテム(または ForwardDirectionfalse の場合は直前のアイテム)を返しますが、ContinuationToken で指定されたアイテムは含みません。

ページネーションの例:

  • 最も低い名前のマシンテンプレートの単一レコードを返すには。AdditionalData フィールドには TotalItemsCountTotalFilteredItemsCount があります。

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template
     <!--NeedCopy-->
    
  • 最も低い名前のマシンテンプレートの10レコードを返すには:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • 最も高い名前で終わるレコードの配列を返すには:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ForwardDirection $False -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • 指定された ContinuationToken に関連付けられたマシンテンプレートから始まるレコードの配列を返すには:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
     <!--NeedCopy-->
    

フィルタリング:

フィルタリングには、以下の追加のオプションパラメーターがサポートされています。これらのパラメーターは、ページネーションオプションと組み合わせることができます。

  • -ContainsName "my_name": 指定された文字列がAMI名の一部と一致する場合、そのAMIは Get の結果に含まれます。例:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name
     <!--NeedCopy-->
    
  • -Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }': これらのタグのいずれかを少なくとも1つ持つAMIは、Getの結果に含まれます。例:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name
     <!--NeedCopy-->
    

    注:

    2つのタグ値がサポートされています。タグなしタグ値は、指定されたタグがタグリストにない項目と一致します。すべての値タグ値は、タグの値に関係なくタグを持つ項目と一致します。それ以外の場合、一致は、項目がタグを持ち、その値がフィルターで指定された値と等しい場合にのみ発生します。

  • -Id "ami-0a2d913927e0352f3": AMIが指定されたIDと一致する場合、Getの結果に含まれます。例:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx
     <!--NeedCopy-->
    

AdditionalDataパラメーターでのフィルタリング:

AdditionalDataフィルターパラメーターは、テンプレートまたはVMを、その機能、サービス提供、またはAdditionalDataにある任意のプロパティに基づいてリストします。例:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->

互換性のないVMを示すために、-Warnパラメーターを追加することもできます。VMは、Warningという名前のAdditionalDataフィールドとともに含まれます。例:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->

次のステップ

詳細情報