Citrix Virtual Apps and Desktops

AWS EC2カタログを作成する

マシンカタログの作成では、マシンカタログを作成するウィザードについて説明します。以下の情報は、AWS EC2仮想化環境に固有の詳細を扱っています。

注:

AWSカタログを作成する前に、AWSへの接続の作成を完了する必要があります。AWS EC2への接続を参照してください。

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

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

AWSテナンシー

AWSは以下のテナンシーオプションを提供します。

  • 共有テナンシー(デフォルトタイプ)と専用テナンシー。共有テナンシーとは、異なる顧客の複数のAmazon EC2インスタンスが同じ物理ハードウェア上に存在する可能性があることを意味します。
  • 専用テナンシーとは、デプロイした他のインスタンスと同じハードウェア上でのみEC2インスタンスが実行されることを意味します。他の顧客は同じハードウェアを使用しません。

AWSホストへのプロビジョニングの要件

  • インポートされたBYOL(bring your own license)イメージ(AMI)。専用ホストでは、既存のライセンスを使用および管理します。
  • プロビジョニング要求を満たすのに十分な利用率を持つ専用ホストの割り当て。
  • 自動配置を有効にする。

AWSテナンシーを構成するオプション

  • 共有ハードウェアを使用する。この設定は、ほとんどの展開に適しています。複数の顧客が互いにやり取りすることなくハードウェアの一部を共有します。共有ハードウェアを使用することは、Amazon EC2インスタンスを実行するための最も安価なオプションです。
  • 専用ホストを使用する。Amazon EC2専用ホストは、EC2インスタンス容量が完全に専用化された物理サーバーであり、既存のソケットごとまたはVMごとのソフトウェアライセンスを使用できます。専用ホストには、インスタンスタイプに基づいて事前設定された利用率があります。たとえば、C4 Largeインスタンスタイプの単一の割り当て済み専用ホストは、16インスタンスの実行に制限されます。詳細については、AWSサイトを参照してください。

    この設定は、ライセンス制限または専用ホストの使用を必要とするセキュリティ要件がある展開に適しています。専用ホストを使用すると、物理ホスト全体を所有し、時間単位で課金されます。そのホストを所有することで、追加料金なしで、そのホストが許可する数のEC2インスタンスを起動できます。

  • 専用インスタンスを使用する。この設定は、特定のセキュリティまたはコンプライアンス要件がある展開により適しています。専用インスタンスを使用すると、他のAWS顧客とは別のホストを持つという利点を享受できますが、ホスト全体に対して料金を支払う必要はありません。ホストの容量について心配する必要はありませんが、インスタンスに対してはより高い料金が課金されます。

注:

進行中のカタログ作成またはイメージ更新タスクがない場合、利用可能な準備IDディスクを削除できます。

Studioを使用してAWSテナンシーを構成するには、Web Studioを使用してカタログを作成するを参照し、PowerShellを使用するには、PowerShellを使用してAWS専用ホストテナンシーを構成するを参照してください。

AWS運用リソースのタグ付け

Amazon Machine Image (AMI) は、Amazon Cloud環境内で仮想マシンを作成するために使用される仮想アプライアンスの一種であり、一般にEC2と呼ばれます。AMIを使用して、EC2環境を使用するサービスを展開します。AWS向けMCSを使用してマシンをプロビジョニングするカタログを作成するときは、そのカタログのゴールデンイメージとして機能するAMIを選択します。

重要:

運用リソースのタグ付けを使用するには、マシンプロファイルと起動テンプレートの両方を使用してカタログを作成する必要があります。

AWSカタログを作成するには、まずゴールデンイメージとするインスタンスのAMIを作成する必要があります。MCSはそのインスタンスからタグを読み取り、起動テンプレートに組み込みます。起動テンプレートのタグは、その後、AWS環境で作成されたすべてのCitrix®リソースに適用されます。これには以下が含まれます。

  • 仮想マシン
  • VMディスク
  • VMネットワークインターフェイス
  • S3バケット
  • S3オブジェクト
  • 起動テンプレート
  • AMI

カタログの作成中に、StudioおよびPowerShellを使用して運用リソースにタグを付けることができます。Studioについては、「Web Studioを使用してカタログを作成する」(イメージページ)を参照してください。PowerShellについては、「PowerShellを使用して運用リソースにタグを付ける」を参照してください。

カタログを作成する

次の方法でカタログを作成できます。

Web Studioを使用してカタログを作成する

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

    1. 電源管理されているマシン(仮想マシンやブレードPCなど)を選択します。
    2. Citrixプロビジョニングテクノロジー」を選択します。次に、「Citrix Machine Creation Services™」を選択します。
    3. リソースフィールドで、ホスト接続の作成時に構成したリソース(アベイラビリティゾーンまたはローカルゾーン)を選択し、次へをクリックします。
  5. デスクトップエクスペリエンスページで、ユーザーがログインしたときに使用するランダムまたは静的デスクトップのいずれかを選択します。
  6. イメージページで:

    1. カタログ内のすべてのマシンでマスターイメージとして使用するマシンのテンプレートを選択します。
    2. カタログ内のVMがマシンプロファイルから構成を継承するようにする場合は、マシンプロファイルを選択します。デフォルトでは、マシンプロファイルを使用チェックボックスが選択されています。マシンプロファイルのソースを別のVMまたは起動テンプレートバージョンに変更するには、編集ボタンをクリックします。
    3. 運用リソースにマシンタグを適用チェックボックスをオンにして、運用リソースにマシンタグを適用します。このオプションは、マシンのプロビジョニングを容易にするためにAWS環境で作成されたすべての項目にマシンタグを適用するかどうかを制御します。運用リソースは、カタログ作成の副産物として作成されます。これには、準備VMインスタンスやAMIなどの一時的および永続的なリソースの両方が含まれます。

    注:

    セキュリティページは、マシンプロファイルを割り当てずにマシンカタログを作成する場合にのみ表示されます。

  7. 仮想マシンページで:

    1. カタログのVM数を入力します。
    2. デフォルトのマシン仕様が表示されます。これはマシンプロファイルに基づいています。変更するには、編集アイコンを選択し、マシン仕様を選択します。
    3. AWSテナンシーを構成します。AWSテナンシーを構成するオプションを参照してください。
    4. プライマリマシンサイズが最大容量に達した場合、セカンダリVMを構成することもできます。セカンダリサイズ(オプション)をクリックします。セカンダリマシンサイズウィンドウには、スポットVMタイプと通常VMタイプの両方を持つVMが一覧表示されます。最大10個のセカンダリマシンサイズを選択できます。10個のVMが選択されると、他のVMはそれ以上選択できなくなります。次へをクリックします。セカンダリマシンサイズブレードで、複数のマシンサイズを選択し、ドラッグアンドドロップして優先順位を変更できます。完了をクリックします。選択したマシンサイズはセカンダリサイズ(オプション)に表示されます。必要に応じて編集アイコンをクリックして編集します。
  8. セキュリティページは、マシンプロファイルを割り当てずにマシンカタログを作成する場合にのみ表示されます。セキュリティページを使用して、VMのセキュリティグループを構成します。これは、既存のマシンカタログを編集およびクローン作成する場合にも適用されます。

    マシンプロファイルベースのマシンカタログを作成する場合、セキュリティグループ構成はマシンプロファイルから継承され、「セキュリティ」ページは表示されません。

  9. 「NIC」ページで、VM の NIC (または ENI) を選択します。
  10. 「ディスク設定」ページで、ライトバックキャッシュを有効にするかどうかを選択します。
  11. 「マシンID」ページで、ドメインを選択し、このマシンカタログで作成される VM 用の新しい AD アカウントを作成することによって、カタログ内のマシンに対してオンプレミスの Active Directory または Microsoft Entra ハイブリッド参加を構成します。プロビジョニングされた VM は、選択したドメインに参加します。VM 用に作成される新しい AD アカウントのアカウント命名スキームを指定します。「次へ」をクリックします。
  12. 「ドメイン資格情報」ページで、「資格情報の入力」をクリックして、選択したドメインの資格情報を入力します。プロンプトが表示されたら、管理者レベルのユーザー名とパスワードを入力します。以前に製品ドキュメントに従ってドメイン資格情報を保存している場合は、サービスアカウントを使用することもできます。
  13. 「概要」ページが表示されるまで、残りのページをクリックします。マシンカタログの名前を入力し、「完了」を選択してマシンカタログを作成します。

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

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

PowerShell を使用してカタログを作成する

PowerShell を使用して AWS 専用ホストのテナンシーを構成する

または、PowerShell を介して AWS 専用ホストをプロビジョニングすることもできます。New-ProvScheme コマンドレットを、パラメータ TenancyTypeHost に設定して使用します。

PowerShell を使用して運用リソースをタグ付けする

PowerShell を使用してリソースをタグ付けするには:

  1. DDC ホストから PowerShell ウィンドウを開きます。
  2. コマンド asnp citrix を実行して、Citrix 固有の PowerShell モジュールをロードします。

プロビジョニングされた VM のリソースをタグ付けするには、カスタムプロパティ AwsOperationalResourcesTagging を使用します。例:

New-ProvScheme -ProvisioningSchemeName test
-CustomProperties “AwsOperationalResourcesTagging,true”
-MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
... <Other <standard provscheme parameters>
<!--NeedCopy-->

MCSIO が有効なカタログ

MCS Storage Optimization (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: AWSの一時ディスクに使用されるボリュームタイプを定義します。このパラメーターは、volume-type[:iops][:throughput] の形式で文字列引数を取ります。ボリュームタイプは次のとおりです。

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

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

  • PersistWBC: AWSインスタンスの電源がオフになったときに、キャッシュディスクを保持するか破棄するかを制御します。true に設定すると、キャッシュディスクは保持されます。false (デフォルト) に設定すると、キャッシュディスクはAMIインスタンスの電源がオンになっている間のみ作成および保持されます。
  • PersistOSDisk: AWSインスタンスの電源がオフになったときに、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は新しいキャッシュディスクを初期化したり、テンプレートからルートディスクを再作成したりする必要がないため、より高速に起動できます。

PowerShellを使用してマシンプロファイルベースのマシンカタログを作成する

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

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

注:

EBSボリュームプロパティは、マシンプロファイルからのみ派生します。

重要な考慮事項

MCSマシンカタログを作成する際の重要な考慮事項:

  • New-ProvSchemeおよびSet-ProvSchemeコマンドでマシンハードウェアプロパティパラメータを追加すると、パラメータで指定された値がマシンプロファイル内の値を上書きします。
  • AwsCaptureInstancePropertiestrueとして設定し、MachineProfileプロパティを設定しない場合、IAMロールとタグのみがキャプチャされます。
  • AwsCaptureInstancePropertiesMachineProfileを同時に設定することはできません。

    注記:

    AwsCaptureInstanceProperties は非推奨です。

  • マシンプロファイルが提供されていない場合、以下のプロパティの値を明示的に指定する必要があります。

    • セキュリティグループ
    • ENI または仮想ネットワーク
  • AwsOperationalResourcesTagging は、AwsCaptureInstanceProperties を有効にするか、マシンプロファイルを指定した場合にのみ有効にできます。

MCS マシンカタログを作成した後の重要な考慮事項は次のとおりです。

  • マシンプロファイルベースのカタログを非マシンプロファイルベースのカタログに変更することはできません。

マシンプロファイル入力でのセキュリティグループの構成

プロビジョニングされた VM に ENI (ネットワークインターフェイス) ごとにセキュリティグループが割り当てられる MCS マシンカタログを作成できます。これを行うには、異なるセキュリティグループが個別の ENI にマッピングされているマシンプロファイル入力 (EC2 インスタンスまたは起動テンプレート) を使用します。たとえば、マシンプロファイル入力に SG 1 を持つ ENI A と SG 2 を持つ ENI B がある場合、プロビジョニングされた VM も SG 1 を持つ ENI A と SG 2 を持つ ENI B を持つ必要があります。

ネットワークインターフェイスの詳細を取得する

次のコマンドを実行して、インターフェイスの SubnetId、割り当てられたセキュリティグループ、および割り当てられたネットワークを含むネットワークインターフェイスデータレコードのリストを取得します。

(Get-HypInventoryItem -LiteralPath 'XdHyp:\HostingUnits\cvad-test' – ResourceType vm). AdditionalData
<!--NeedCopy-->

注記:

MCS は現在、ネットワークインターフェイスごとに複数のネットワークを許可していません。

マシンプロファイルを使用してマシンカタログを作成する

マシンプロファイルを使用してマシンカタログを作成するには:

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix*を実行します。
  3. まだ作成されていない場合は、IDプールを作成します。例:

    New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numeric
    <!--NeedCopy-->
    
  4. New-ProvSchemeコマンドを実行します。例:

    New-ProvScheme -ProvisioningSchemeName demet-test-1
    -HostingUnitUid aa633238-9xxd-4cf6-80e8-232a758a1xx1
    -IdentityPoolUid 34d5b088-e312-416f-907d-16573xxxxxc4
    -CleanOnBoot
    -MasterImageVM 'XDHyp:\HostingUnits\cvad-test-scalestress\citrix-demet-ami.0 (ami-0ca813xxxxxx061ef).template'
    -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm'
    <!--NeedCopy-->
    
  5. カタログの作成を完了します。

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

マシンプロファイルで最初にプロビジョニングされたカタログのマシンプロファイルを更新するには、次の手順を実行します。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を使用して起動テンプレートバージョンでカタログを作成する

起動テンプレートバージョンをマシンプロファイルの入力として使用して、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" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -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-->
    

OS、ID、WBCディスクの暗号化

OSディスク、ID(Identity Disk)、WBC(write-back cache disk)を暗号化するために使用できるAWS KMSキー(カスタマー管理キーおよびAWS管理キー)を使用して、永続および非永続のVMカタログを作成できます。

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

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

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

  • 暗号化されたマスターイメージを使用します(例: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キーを含むボリュームを持つマシンプロファイル入力。
  • 新しい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. Web Studioのカタログ作成メニューでNitroTPMとUEFIセキュアブートが有効なマスターイメージを選択するか、PowerShellコマンドを使用してプロビジョニングスキームを作成することで、マシンカタログを作成します。

作成されたカタログに追加されたVMは、NitoTPMと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セキュアブートをサポートしていますか?
ユーイーエフアイ いいえ いいえ
レガシーBIOS はい いいえ
ユーイーエフアイ はい いいえ
UEFIを推奨 はい いいえ

VM上のタグをコピーする

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

注:

  • AWS EC2コンソール上では、Launch Template Version Resource Tags の項目において、Tag Network Interfaces の値を確認することはできません。しかしながら、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: これは、ContinuationTokenで指定された項目を含まずに、直後(またはForwardDirectionfalseの場合は直前)の項目を返します。

ページネーションの例:

  • 最も名前の小さいマシンテンプレートの単一レコードを返すには。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" }': AMIにこれらのタグの少なくとも1つがある場合、それはGet結果に含まれます。例:

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

    注:

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

  • -Id "ami-0a2d913927e0352f3": 指定されたIDとAMIが一致する場合、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-->

VMのバックアップSKUリスト

パブリッククラウドでは、特定のEC2インスタンスタイプ(「プライマリSKU」)の容量が不足することがあります。プライマリVM構成が利用できない場合、VMは起動できず、時間の損失やビジネスの中断につながります。このようなシナリオに対処するため、容量関連の問題が発生した場合にMCSがフォールバックできるバックアップEC2インスタンスタイプ(「バックアップSKU」)のリストを提供します。

MCSマシンカタログの作成または更新時に、カスタムプロパティBackupVmConfigurationを使用して、バックアップEC2インスタンスタイプ(「バックアップSKUリスト」)のリストを提供します。

プライマリEC2インスタンスが失敗した場合、MCSは指定された順序でバックアップEC2インスタンスタイプへのフォールバックを試みます。MCSが提供されたバックアップEC2インスタンスタイプのいずれにもフォールバックできない場合、エラーメッセージが表示されます。その後、プライマリEC2インスタンスの電源を再度オンにしてみてください。これが失敗した場合、MCSはバックアップEC2インスタンスタイプを再試行します。

バックアップSKUリストには、オンデマンドインスタンスを含めることができます。

この機能は、永続的および非永続的なMCSマシンカタログの両方に適用されます。

重要な考慮事項

  • バックアップSKUリストには、複数のバックアップEC2インスタンスタイプを指定できます。
  • バックアップSKUリストは一意である必要があります。
  • バックアップEC2インスタンスは、プライマリEC2インスタンスと同じであってはなりません。
  • バックアップEC2インスタンスは、有効なAWSインスタンスタイプである必要があります。
  • 重複するサービス提供を指定しないでください。例: BackupVmConfiguration,t2.small|t3.small|t2.small は無効です。
  • リストで指定されたサービス提供は、マシンカタログ構成と互換性がある必要があります。たとえば、カタログがUEFIを使用しており、バックアップリストで指定されたサービス提供がそれをサポートしていない場合、カタログの作成または更新はプレフライト中に失敗します。
  • Set-ProvScheme PowerShellコマンドを使用して、既存のカタログのバックアップSKUリストを変更できます。Set-ProvVM および Set-ProvVMUpdateTimeWindow PowerShellコマンドを使用して、既存のVMを変更できます。

バックアップEC2インスタンスを構成する

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix\* を実行します。
  3. Brokerカタログを作成します。
  4. IDプールを作成します。
  5. カスタムプロパティ BackupVmConfiguration を使用してバックアップEC2インスタンスリストを追加し、プロビジョニングスキームを作成します。例:

    $serviceOffering = "XDHyp:\HostingUnits\$hostingUnitName\T3 Medium Instance.serviceoffering"
    $customProperties = "AwsCaptureInstanceProperties,false;AwsOperationalResourcesTagging,false;BackupVmConfiguration,t2.small|t2.large|t3.small|t3.large;"
    $createdProvScheme = New-ProvScheme -ProvisioningSchemeName $provisioningSchemeName -HostingUnitName $hostingUnitName -IdentityPoolName $provisioningSchemeName -NetworkMapping $networkMapping -SecurityGroup $securityGroupPath -ServiceOffering $serviceOffering -MasterImageVM $masterImageVm -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. プロビジョニングスキームの一意のIDでBrokerCatalogを更新します。
  7. VMを作成し、カタログに追加します。

AWSスポットインスタンスを使用してカタログを作成する

オンデマンドインスタンスと比較して、スポットインスタンスは最大90%のコスト削減を提供します。スポットインスタンスは、容量が利用できなくなった場合、Amazon EC2によって中断される可能性があるため、ミッションクリティカルではないアプリケーションとデスクトップにのみ適しています。

スポットインスタンスの詳細については、AWSドキュメントのスポットインスタンスを参照してください。

さらに、スポットインスタンスをプライマリEC2インスタンスタイプとバックアップEC2インスタンスの両方として使用できます。容量関連の問題が発生した場合にMCSがフォールバックできるバックアップEC2インスタンスタイプ(オンデマンドインスタンスとスポットインスタンスの両方になり得る「バックアップSKU」)のリストをPowerShellを使用して提供できます。

重要な考慮事項

  • スポットインスタンスのカタログは、マシンプロファイルワークフローでのみ作成する必要があります。
  • 永続的なスポットインスタンスリクエストタイプのみがサポートされています。ワンタイムスポットインスタンスリクエストはサポートされていません。
  • 停止および休止の中断動作のみがサポートされています。
  • 既存のカタログの構成をオンデマンドからスポットインスタンスへ、またはその逆に変更できます。ただし、EC2インスタンスをオンデマンドからスポットに変更するのは複雑です。AWSドキュメント「オンデマンドからスポット料金へのEC2インスタンスの切り替え」を参照してください。
  • プロビジョニングされたスポットインスタンスを削除する場合は、既存のスポットインスタンスリクエストをキャンセルしてください。そうしないと、AWSが新しいスポットインスタンスを作成します。

AWSスポットインスタンスを使用してカタログを作成する手順

  1. スポットインスタンスでマシンプロファイルソースを作成します。スポットインスタンスを作成する手順については、「スポットインスタンスリクエストの作成」を参照してください。
  2. New-ProvScheme PowerShellコマンドを使用して、マシンプロファイルでマシンカタログを作成します。Set-ProvScheme コマンドを使用してカタログを更新できます。

バックアップSKUとしてスポットインスタンスを使用する

スポットインスタンスは、プライマリEC2インスタンスタイプとバックアップEC2インスタンスの両方として使用できます。容量関連の問題が発生した場合にMCSがフォールバックできるバックアップEC2インスタンスタイプ(オンデマンドおよびスポットインスタンスである「バックアップSKU」)のリストをPowerShellを使用して提供できます。

注:

バックアップSKUリストに重複するスポットインスタンスを指定できます。例:BackupVmConfiguration,t2.small:Spot|t2.small|t3.small は有効です。

必要な権限

スポットインスタンスをプライマリまたはバックアップEC2インスタンスとして使用する場合、次の権限が必要です。

  • ec2:DescribeSpotInstanceRequests
  • ec2:CancelSpotInstanceRequests

バックアップSpotインスタンスを構成する

  1. PowerShellウィンドウを開きます。
  2. asnp citrix\*を実行して、Citrix固有のPowerShellモジュールをロードします。
  3. ブローカーカタログを作成します。
  4. IDプールを作成します。
  5. カスタムプロパティBackupVmConfigurationを使用してバックアップEC2インスタンスリストを追加し、プロビジョニングスキームを作成します。例:

    $serviceOffering \= "XDHyp:\\HostingUnits\\$hostingUnitName\\T3 Medium Instance.serviceoffering"
    $customProperties \= "AwsCaptureInstanceProperties,false;AwsOperationalResourcesTagging,false;BackupVmConfiguration,t2.small|t2.large|t3.small:Spot|t3.large:Spot"
    $createdProvScheme \= New-ProvScheme \-ProvisioningSchemeName $provisioningSchemeName \-HostingUnitName $hostingUnitName \-IdentityPoolName $provisioningSchemeName \-NetworkMapping $networkMapping \-SecurityGroup $securityGroupPath \-ServiceOffering $serviceOffering \-MasterImageVM $masterImageVm \-CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. プロビジョニングスキームの一意のIDでBrokerCatalogを更新します。
  7. カタログにVMを作成して追加します。

次のステップ

詳細情報

  • 接続とリソースを作成および管理する(/ja-jp/citrix-virtual-apps-desktops/2511/install-configure/connections)
  • AWS EC2への接続(/ja-jp/citrix-virtual-apps-desktops/2511/install-configure/connections/connection-aws)
  • マシンカタログを作成する(/ja-jp/citrix-virtual-apps-desktops/2511/install-configure/machine-catalogs-create)