Citrix DaaS

AWSカタログの作成

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

注:

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

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

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

AWSテナント

AWSには、共有テナント(デフォルトの種類)と専用テナントのテナントオプションが用意されています。共有テナントの場合、さまざまな顧客の複数のAmazon EC2インスタンスが同じ物理ハードウェア上に存在する可能性があります。専用テナントの場合、EC2インスタンスは、ユーザーが展開したほかのインスタンスを含むハードウェア上のみで実行されます。ほかの顧客は同じハードウェアを使用しません。

[完全な構成] インターフェイスまたはPowerShellを使用することで、MCSを使用してAWS専用ホストをプロビジョニングできます。

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

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

完全な構成インターフェイスを使用したAWS専用ホストテナントの構成

MCSを使用してカタログを作成し、AWSでマシンをプロビジョニングすると、[マシンカタログのセットアップ]>[セキュリティ] ページには以下のオプションが表示されます:

  • 共有されているハードウェアを使用する。この設定は、一般的な環境に適しています。複数の顧客が相互に通信していなくても、ハードウェアを共有します。共有ハードウェアの使用は、Amazon EC2インスタンスを実行するための最も安価なオプションです。
  • 専用のホストを使用する。Amazon EC2専用ホストは、完全に専用のEC2インスタンス容量を搭載した物理サーバーです。既存のソケット単位またはVM単位のソフトウェアライセンスを使用することができます。専用ホストには、インスタンスの種類に基づいて使用率が事前に設定されています。たとえば、C4ラージインスタンスの種類の1つの割り当てられた専用ホストは、16個のインスタンスの実行に限定されます。詳しくは、AWSのサイトを参照してください。
  • 専用のインスタンスを使用する。この設定は、セキュリティまたはコンプライアンス上の要件を満たす必要がある環境に適しています。専用のインスタンスを使用すると、ホストをほかのAWSの顧客と分離することによる利点を活用しながら、ホスト全体に対する支払いが不要になります。ホストの容量を心配する必要はありませんが、使用するインスタンスに対してより高い料金が請求されます。

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

注:

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

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

または、PowerShellを使用してAWS専用のホストをプロビジョニングすることもできます。Hostに設定したTenancyTypeパラメーターを付けたNew-ProvSchemeコマンドレットを使用します。詳しくは、Citrix開発者向けドキュメントを参照してください。

AWSインスタンスプロパティのキャプチャ

AWSでMachine Creation Services(MCS)を使用してマシンをプロビジョニングするカタログを作成する場合、このカタログのマスターイメージに相当するAMIを選択します。MCSは、このAMIからディスクのスナップショットを使用します。

ヒント:

AWSインスタンスプロパティキャプチャを使用するには、AMIに関連付けられたVMが必要です。

MCSはAMIが作成されたインスタンスからプロパティを読み取り、マシンのIDアクセス管理(IAM)の役割およびタグを提供されたカタログにプロビジョニングされたマシンに適用します。このオプション機能を使用する場合、カタログ作成プロセスでは、選択したAMIソースインスタンスが検索され、限定されたプロパティセットが読み取られます。これらのプロパティは、そのカタログのマシンをプロビジョニングするために使用されるAWS起動テンプレートに保存されます。カタログ内のすべてのマシンがキャプチャされたインスタンスのプロパティを継承します。

キャプチャされたプロパティには、以下が含まれます:

  • IAM役割:プロビジョニングされたインスタンスに適用されます。
  • タグ:プロビジョニングされたインスタンスやそのディスク、NICに適用されます。これらのタグは次のような一時的なCitrixリソースに適用されます:S3バケットおよびオブジェクト、AMI、スナップショット、起動テンプレート。

ヒント:

一時的なCitrixリソースのタグ付けはオプションで、カスタムプロパティAwsOperationalResourcesTaggingを使用して構成できます。タグを正常に適用し、運用リソースのタグ付けを使用してAWSカタログを作成するには、AMIの作成に使用されたEC2インスタンスを削除しないでください。

AWSインスタンスプロパティのキャプチャ

この機能は、AWSホスト接続でプロビジョニングスキーム作成時にカスタムプロパティAwsCaptureInstancePropertiesを指定することで使用できます:

New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true” …<standard provscheme parameters

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

注:

AwsCaptureInstancePropertiesは廃止済みです。

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

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

重要:

インスタンスプロパティと起動テンプレートをキャプチャしてカタログを作成することは、運用リソースのタグ付けに必要です。

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

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

完全な構成インターフェイスでのAWSインスタンスのプロパティの適用および運用リソースのタグ付け

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

AWSのマシンタグとテンプレートのプロパティ

  • マシンテンプレートのプロパティを仮想マシンに適用する
    • 選択したマシンテンプレートに関連付けられたIAMの役割とタグのプロパティを、このカタログ内の仮想マシンに適用するかを制御します。
  • 運用リソースにマシンタグを適用する
    • マシンのプロビジョニングを容易にするマシンタグをAWS環境で作成された項目に適用するかを制御します。カタログ作成の副産物として運用リソースが作成されます。運用リソースには、準備VMインスタンスやAMIなどの一時的なリソースと永続的なリソースの両方が含まれます。

PowerShellを使用した運用リソースへのタグ付け

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

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

プロビジョニングされた仮想マシンのリソースにタグを付けるには、カスタムプロパティAwsOperationalResourcesTaggingを使用します。以下はこのプロパティの構文です:

New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true” …<standard provscheme parameters>

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

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

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

注:

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

重要な注意事項

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

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

    **注:

    AwsCaptureInstancePropertiesは廃止済みです。

  • 以下のプロパティの値を明示的に指定する必要があります:

    • TenancyType
    • セキュリティグループ
    • 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. カタログの作成を完了します。詳しくは、「Creating a Catalog」を参照してください。

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

マシンプロファイルを使用して最初にプロビジョニングされたカタログのマシンプロファイルを更新するには、次の手順を実行します:

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

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-->
    

    サービスオファリング、セキュリティ グループ、テナンシー、ネットワークなどのパラメーターを上書きすることもできます。例:

    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-01xxxx).launchtemplate\lt-01xxxx (1).launchtemplateversion" `
    -ServiceOffering "XDHyp:\HostingUnits\xxxd-ue1a\T3 Large Instance.serviceoffering"
    <!--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. カタログの作成を完了します。詳しくは、「Creating a Catalog」を参照してください。

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

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

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

     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-->
    

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つのネットワークインターフェイスのタグ両方を取得します。

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" }':AMIにこれらのタグの少なくとも1つがある場合、そのAMIはGet 結果に含まれます。例:

     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":AMIが指定されたIDと一致する場合、そのAMIはGet結果に含まれます。例:

     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-->

次の手順

追加情報