Citrix Virtual Apps and Desktops

AWSカタログの作成

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

注:

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

制限事項

Citrix Virtual Apps and Desktops™ 2203 LTSR以降、MCS AWSプラグインはAWS API呼び出しDescribeInstanceTypesを行い、成功するとMCSはAPI応答から作成されたインベントリ名を使用します。

したがって、Citrix Virtual Apps and Desktops 1912から2203以降にアップグレードする場合は、AWSのDefineInstanceType権限を無効にし、Set-ProvSchemeコマンドを使用して既存のカタログを更新し、AWSの名前付けスキームと一致させます。 次に、カタログの更新が完了し、サービスオファリングがAWSの名前付けスキームと一致したら、DescribeInstanceType権限を再度追加します。

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

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

AWSテナントの構成

AWSには、次のテナントオプションが用意されています。

  • 共有テナント(デフォルトのテナントの種類):さまざまな顧客の複数のAmazon EC2インスタンスが同じ物理ハードウェア上に存在することができます。
  • 専用テナント:EC2インスタンスは、ユーザーが展開したほかのインスタンスを含むハードウェア上のみで実行されます。 ほかの顧客は同じハードウェアを使用しません。

PowerShellを使用して、MCSでAWS専用のホストをプロビジョニングすることができます。

PowerShellを使用したAWS専用ホストテナントの構成

PowerShellで定義されたホストテナントを持つマシンのカタログを作成できます。

Amazon [EC2] 専用ホストは、完全に専用の [EC2] インスタンス容量を搭載した物理サーバーです。既存のソケット単位またはVM単位のソフトウェアライセンスを使用することができます。

専用ホストには、インスタンスの種類に基づいて使用率が事前に設定されています。 たとえば、C4ラージインスタンスの種類の1つの割り当てられた専用ホストは、16個のインスタンスの実行に限定されます。 詳しくは、AWSのサイトを参照してください。

AWSホストへのプロビジョニングの要件は次のとおりです:

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

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

詳しくは、Citrix Developerのドキュメントを参照してください。

マシンプロファイルからマシンプロパティをキャプチャ

MCSを使用してAWSマシンをプロビジョニングするためのカタログを作成する場合、マシンプロファイルを使用して特定のマシンプロパティ設定を事前設定できます。

そのためには、次の手順を実行します:

  1. このカタログを作成しているリソースと同じアベイラビリティゾーンにマシンプロファイルを保存します。
  2. カタログ作成ウィザードの [マシンテンプレート] ページで、[マシンプロファイルを使用する] を選択します。 選択したリソースと同じ利用可能なゾーンのマシンプロファイルが表示されます。
  3. 必要に応じてマシンプロファイルを選択します。

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

MCSを使用してAWSでマシンをプロビジョニングするカタログを作成する場合、IAMの役割とタグのプロパティをそれらのマシンに適用するかを制御できます。 マシンタグを運用リソースに適用するかを制御することもできます。

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

重要:

マシンプロファイルおよび起動テンプレートを使用してカタログを作成することは、運用リソースのタグ付けに必要です。

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

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

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

MCSを使用してAWSでマシンをプロビジョニングするためのカタログを作成する場合、[マシンテンプレート]ページの[運用リソースにマシンタグを適用する]オプションを選択すると、マシンタグを運用リソースに適用するかどうかを制御できます。

このオプションは、マシンのプロビジョニングを容易にするマシンタグをAWS環境で作成された項目に適用するかを制御します。 カタログ作成の副産物として運用リソースが作成されます。 運用リソースには、準備VMインスタンスやAMIなどの一時的なリソースと永続的なリソースの両方が含まれます。

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

PowerShellを使用してリソースにタグを付けるには、次の手順を実行します:

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

プロビジョニングされた仮想マシンのリソースにタグを付けるには、カスタムプロパティ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-->

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を実行してタグの仕様を確認することができます。
  • マシンプロファイルソース(仮想マシンまたは起動テンプレートバージョン)に2つのネットワークインターフェイス(eni-1とeni-2)があり、eni-1にタグt1があり、eni-2にタグt2がある場合、仮想マシンは2つのネットワークインターフェイスのタグ両方を取得します。

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

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

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

注:

  • EBSボリュームのプロパティは、マシンプロファイルからの値のみを使用します。
  • MCSは、ボリュームの種類GP3のIDディスクを使用してVMをプロビジョニングします。 ボリュームの種類GP3は、AWSが提供する最も安価なオプションであるため、この機能によりコストが最小限に抑えられます。 この実装は、新しいカタログに追加されたVMと、既存のカタログに追加された新しいVMにのみ適用されます。 この機能の前に作成された既存のVMでは、IDディスクがリセットされない限り、ボリュームの種類GP2のIDディスクが引き続き使用されます。

重要な注意事項

MCSマシンカタログを作成する際の重要注意事項は以下のとおりです:

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

    注:

    AwsCaptureInstancePropertiesは廃止されました。

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

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

MCSマシンカタログを作成した後の重要な注意事項は以下のとおりです:

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

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

マシンプロファイルを使用してマシンカタログを作成するには、以下の手順を実行します:

  1. PowerShell ウィンドウを開きます。
  2. asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
  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. カタログの作成を完了します。 詳しくは、「Citrix PowerShell SDK」を参照してください。

マシンプロファイルの更新

マシンプロファイルを使用して最初にプロビジョニングされたカタログのマシンプロファイルを更新するには、次の手順を実行します。 MCSマシンカタログを編集するときに、マシンプロファイルソースのテナントの種類と休止状態機能を変更することもできます。

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

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

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

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

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

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

  • サービスオファリング
  • ネットワーク
  • セキュリティグループ
  • テナントの種類

注:

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

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

  1. PowerShell ウィンドウを開きます。
  2. asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
  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. カタログの作成を完了します。 詳しくは、「Citrix PowerShell SDK」を参照してください。

マシンプロファイルカタログの入力に関しては、仮想マシンから起動テンプレートのバージョンに更新したり、起動テンプレートのバージョンから仮想マシンに更新したりすることもできます。 次に例を示します:

  • マシンプロファイルカタログの入力を仮想マシンから起動テンプレートのバージョンに更新するには、以下を実行します:

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

       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を準備したら、MCSIO対応の非永続カタログを作成できます。

MCSIOが有効になっているカタログの作成

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

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

注:

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

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

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

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

    デフォルト値はgp2です。

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

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

  1. PowerShellウィンドウを開きます。
  2. asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
  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に設定すると、仮想マシンの起動パフォーマンスを向上させることができます。 このように設定すると、新しいキャッシュディスクを初期化したり、テンプレートからルートディスクを再作成したりする必要がないため、仮想マシンの起動時間が短縮されます。

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

OSディスクとIDディスクの暗号化に使用できるAWS KMSキー(顧客管理キーとAWS管理キー)を使用して、VMの永続カタログおよび非永続カタログを作成できます。

  • 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を使用して変更できます:

  • 新しいKMSキーを含むボリュームがあるマシンプロファイルの入力。
  • 新しいKMSキーで暗号化されたマスターイメージテンプレートAMI。

重要な注意事項

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

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

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

制限事項

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

主な手順

  1. AWS環境をセットアップします。
  2. AWSへの接続を作成します。
  3. NitroTPMおよび/またはUEFIセキュアブートが有効になっているマスターイメージ(AMI)を作成します
  4. Web Studioのカタログ作成メニューで、またはPowerShellコマンドを使用してプロビジョニングスキームを作成するときに、NitroTPMとUEFIセキュアブートが有効になっているマスターイメージを選択して、マシンカタログを作成します。

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

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

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

    1. AWSマーケットプレイスのイメージを使用してインスタンスを作成します。 たとえば、TPM-Windows_Server-2022-English-Full-Base on the aws-marketplaceを検索します。
    2. シングルセッションVDAまたはマルチセッション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インスタンスのフィルタリング

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

ページネーション:

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

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

ページネーションの例:

  • 一番下にある名前を持つマシンテンプレートの単一レコードを返します。 AdditionalDataフィールドには、TotalItemsCountおよびTotalFilteredItemsCountが含まれます:

       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": If the given string matches part of an AMI name, then the AMI is included in the Get result. 次に例を示します:

       Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name
     <!--NeedCopy-->
    
  • -Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }': If an AMI has at least one of these tags, it is included in the Get result. 次に例を示します:

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

    注:

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

  • -Id "ami-0a2d913927e0352f3": If the AMI matches the given ID, it is included in the Get result. 次に例を示します:

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

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

AdditionalDataフィルターパラメーターは、機能、サービスオファリング、またはAdditionalData内のプロパティに基づいてテンプレートまたはVMを一覧表示します。 次に例を示します:

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

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

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

仮想マシンのバックアップSKU一覧

パブリッククラウドでは、特定のEC2インスタンスタイプ(プライマリSKU)の容量が不足することがあります。 プライマリ仮想マシン構成が利用できない場合、仮想マシンは起動できず、時間の損失や業務の中断が発生します。 このようなシナリオに対処するには、容量関連の問題が発生した場合に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コマンドを使用してカタログの既存の仮想マシンを更新できます。

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

  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|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を作成してカタログに追加します。

次の手順

追加情報