AWSカタログの作成
(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/install-configure/machine-catalogs-create.html)では、マシンカタログを作成するウィザードについて説明します。以下の情報は、AWS仮想化環境に固有の詳細を扱っています。
注:
AWSカタログを作成する前に、AWSへの接続の作成を完了する必要があります。「AWSへの接続」を参照してください。
制限事項
Citrix Virtual Apps and Desktops™ 2203 LTSR以降では、MCS AWSプラグインがDescribeInstanceTypes AWS API呼び出しを行い、それが成功すると、MCSはAPI応答から作成されたインベントリ名を使用します。
したがって、Citrix Virtual Apps and Desktops 1912から2203以降にアップグレードする場合は、AWS上のDefineInstanceType権限を無効にし、Set-ProvSchemeコマンドを使用して既存のカタログを更新してAWSの命名規則に合わせます。その後、カタログの更新が完了し、サービス提供がAWSの命名規則に一致したら、DescribeInstanceType権限を再度追加します。
イメージ準備中のネットワーク設定
イメージ準備中に、元のVMに基づいて準備用仮想マシン(VM)が作成されます。この準備用VMはネットワークから切断されます。準備用VMからネットワークを切断するために、すべてのインバウンドおよびアウトバウンドトラフィックを拒否するネットワークセキュリティグループが作成されます。このネットワークセキュリティグループは永続的に存在し、再利用されます。ネットワークセキュリティグループの名前はCitrix.XenDesktop.IsolationGroup-GUIDで、GUIDはランダムに生成されます。
AWSテナンシーの構成
AWSは次のテナンシーオプションを提供します。
- 共有テナンシー(デフォルトタイプ):異なる顧客からの複数のAmazon EC2インスタンスが、同じ物理ハードウェア上に存在する場合があります。
- 専用テナンシー:EC2インスタンスは、展開した他のインスタンスと同じハードウェア上でのみ実行されます。他の顧客は同じハードウェアを使用しません。
PowerShellを使用して、MCSでAWS専用ホストをプロビジョニングできます。
PowerShellを使用したAWS専用ホストテナンシーの構成
PowerShell を介してホストテナンシーが定義されたマシンカタログを作成できます。
Amazon [EC2] 専用ホストは、[EC2] インスタンス容量を持つ物理サーバーであり、完全に専用であるため、既存のソケットごとまたはVMごとのソフトウェアライセンスを使用できます。
専用ホストは、インスタンスタイプに基づいて事前設定された利用率を持っています。たとえば、C4 Large インスタンスタイプの単一の割り当て済み専用ホストは、16 インスタンスの実行に制限されています。詳細については、AWS サイト を参照してください。
AWS ホストへのプロビジョニングの要件は次のとおりです。
- インポートされた BYOL (bring your own license) イメージ (AMI)。専用ホストでは、既存のライセンスを使用および管理します。
- プロビジョニング要求を満たすのに十分な利用率を持つ専用ホストの割り当て。
- 自動配置を有効にする。
PowerShell を使用して AWS の専用ホストにプロビジョニングするには、New-ProvScheme コマンドレットをパラメータ TenancyType を Host に設定して使用します。
詳細については、Citrix開発者向けドキュメント を参照してください。
マシンプロファイルからマシンプロパティをキャプチャする
MCS を使用して AWS マシンをプロビジョニングするためのカタログを作成する際、マシンプロファイルを使用して特定のマシンプロパティ設定を事前設定できます。
そのためには、次の手順に従います。
- マシンプロファイルを、このカタログを作成するリソースと同じアベイラビリティゾーンに保存します。
- カタログ作成ウィザードのマシンのテンプレートページで、マシンプロファイルを使用を選択します。選択したリソースと同じアベイラビリティゾーンにあるマシンプロファイルが表示されます。
- 必要に応じてマシンプロファイルを選択します。
AWS運用リソースのタグ付け
MCSを使用してAWSでマシンをプロビジョニングするためのカタログを作成する際、それらのマシンにIAMロールとタグプロパティを適用するかどうかを制御できます。また、運用リソースにマシンタグを適用するかどうかも制御できます。
Amazon Machine Image (AMI) は、Amazon Cloud環境内で仮想マシンを作成するために使用される仮想アプライアンスの一種であり、一般にEC2と呼ばれます。AMIを使用して、EC2環境を使用するサービスを展開します。AWS向けMCSを使用してマシンをプロビジョニングするためのカタログを作成する際、そのカタログのゴールデンイメージとして機能するAMIを選択します。
重要:
運用リソースのタグ付けを使用するには、マシンプロファイルと起動テンプレートの両方を使用してカタログを作成する必要があります。
AWSカタログを作成するには、まずゴールデンイメージとするインスタンスのAMIを作成する必要があります。MCSはそのインスタンスからタグを読み取り、起動テンプレートに組み込みます。その後、起動テンプレートのタグは、AWS環境で作成されたすべてのCitrix®リソースに適用されます。これには以下が含まれます。
- 仮想マシン
- VMディスク
- VMネットワークインターフェイス
- S3バケット
- S3オブジェクト
- 起動テンプレート
- AMI
Web Studioを使用した運用リソースのタグ付け
MCSを使用してAWSでマシンをプロビジョニングするためのカタログを作成する際、Machine TemplateページでApply machine tags to operational resourcesオプションを選択することにより、運用リソースにマシンタグを適用するかどうかを制御できます。
このオプションは、マシンのプロビジョニングを容易にするAWS環境で作成されるすべての項目にマシンタグを適用するかどうかを制御します。オペレーションリソースは、カタログ作成の副産物として作成されます。これらには、準備VMインスタンスやAMIなどの一時的および永続的なリソースの両方が含まれます。
PowerShellを使用してオペレーションリソースにタグを付ける
PowerShellを使用してリソースにタグを付けるには:
- DDCホストからPowerShellウィンドウを開きます。
- コマンド
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-->
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は両方のネットワークインターフェイスのタグを取得します。
マシンプロファイルを使用してカタログを作成する
マシンプロファイルを使用して、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コマンドでマシンハードウェアプロパティパラメーターを追加すると、パラメーターで指定された値がマシンプロファイル内の値を上書きします。 -
AwsCaptureInstancePropertiesをtrueとして設定し、MachineProfileプロパティを設定しない場合、IAMロールとタグのみがキャプチャされます。 -
AwsCaptureInstancePropertiesとMachineProfileの両方を同時に設定することはできません。注:
AwsCaptureInstancePropertiesは非推奨です。 -
マシンプロファイルが提供されていない場合は、以下のプロパティの値を明示的に指定する必要があります。
- セキュリティグループ
- ENIまたは仮想ネットワーク
-
AwsOperationalResourcesTaggingは、AwsCaptureInstancePropertiesを有効にするか、マシンプロファイルを指定した場合にのみ有効にできます。
MCSマシンカタログの作成後の重要な考慮事項:
- マシンプロファイルベースのカタログを非マシンプロファイルベースのカタログに変更することはできません。
マシンプロファイルを使用してマシンカタログを作成する
マシンプロファイルを使用してマシンカタログを作成するには:
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするには、
asnp citrix*を実行します。 -
まだ作成されていない場合は、IDプールを作成します。例:
New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numeric <!--NeedCopy--> -
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--> - カタログの作成を完了します。詳細については、「Citrix PowerShell SDK」を参照してください。
マシンプロファイルを更新する
マシンプロファイルで最初にプロビジョニングされたカタログのマシンプロファイルを更新するには、次の手順を実行します。MCSマシンカタログを編集する際に、マシンプロファイルソースのテナンシータイプと休止状態機能を変更することもできます。
-
Set-ProvSchemeコマンドを実行します。例:Set-ProvScheme ` -ProvisioningSchemeUid "<ID" ` -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm" <!--NeedCopy-->
起動テンプレートバージョンでカタログを作成する
起動テンプレートバージョンをマシンプロファイルの入力として使用して、MCSマシンカタログを作成できます。また、マシンプロファイルカタログの入力をVMから起動テンプレートバージョンに、または起動テンプレートバージョンからVMに更新することもできます。
AWS EC2コンソールで、起動テンプレートのインスタンス構成情報とバージョン番号を指定できます。マシンカタログの作成または更新時に起動テンプレートバージョンをマシンプロファイルの入力として指定すると、その起動テンプレートバージョンのプロパティがプロビジョニングされたVDA VMにコピーされます。
以下のプロパティは、マシンプロファイルの入力として、またはNew-ProvSchemeまたはSet-ProvSchemeコマンドのパラメーターとして明示的に指定できます。New-ProvSchemeまたはSet-ProvSchemeコマンドで指定された場合、これらのプロパティのマシンプロファイル値よりも優先されます。
- サービスオファリング
- ネットワーク
- セキュリティグループ
- テナンシータイプ
注:
マシンプロファイルの起動テンプレートでサービス提供が指定されていない場合、または
New-ProvSchemeコマンドのパラメーターとして指定されていない場合、適切なエラーが表示されます。
起動テンプレートバージョンをマシンプロファイルの入力として使用してカタログを作成するには:
- PowerShellウィンドウを開きます。
-
asnp citrix*を実行して、Citrix固有のPowerShellモジュールをロードします。 -
起動テンプレートの起動テンプレートバージョンの一覧を取得します。例:
XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath <!--NeedCopy--> -
作成されていない場合は、IDプールを作成します。例:
New-AcctIdentityPool ` -IdentityPoolName "abc11" ` -NamingScheme "abc1-##" ` -NamingSchemeType Numeric ` -Domain "citrix-xxxxxx.local" ` -ZoneUid "xxxxxxxx" ` <!--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-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion" <!--NeedCopy--> -
プロビジョニングスキームをブローカーカタログとして登録します。例:
New-BrokerCatalog -Name "MPLT1" ` -AllocationType Random ` -Description "Machine profile catalog" ` -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx ` -ProvisioningType Mcs ` -SessionSupport MultiSession ` -PersistUserChanges Discard <!--NeedCopy--> - カタログの作成を完了します。詳しくは、Citrix PowerShell SDKを参照してください。
マシンプロファイルカタログの入力を、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 Storage Optimization (MCSIO) は、ディスク操作をメモリまたは小型の高速ディスクにキャッシュすることで、VMのパフォーマンスを向上させます。PowerShellコマンドを使用して、MCSIOが有効な非永続カタログを作成できます。このようなカタログを作成するには、AMIインスタンスの準備中にVDAをインストールまたはアップグレードする際に、MCSIOドライバーをインストールする必要があります。デフォルトでは、このドライバーはインストールされていません。
MCSIO AMIが準備された後、MCSIOが有効な非永続カタログを作成できます。
MCSIOが有効なカタログを作成する
New-ProvScheme PowerShellコマンドに追加された4つのパラメータは次のとおりです。
-
UseWriteBackCache: 指定されたプロビジョニングスキームのキャッシュ(ライトバックキャッシュ)をオンにします。 -
WriteBackCacheDiskSize: キャッシュに使用される一時ディスクのサイズをGB単位で指定します。 -
WriteBackCacheMemorySize: キャッシュに使用するメモリ量をMB単位で指定します。これはオプションのパラメータです。 -
WriteBackCacheDriverLetter: キャッシュストレージディスクに割り当てるドライブ文字を指定します。これはオプションのパラメータです。
注:
- 少なくとも1 GBのキャッシュディスクストレージが必要なため、
WriteBackCacheDiskSizeの値はゼロより大きくする必要があります。キャッシュディスクのサイズは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ウィンドウで次の手順を実行します。
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするには、
asnp citrix*を実行します。 - ブローカーカタログとIDプールを作成します。
-
プロビジョニングスキームを作成します。例:
$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--> - カタログにVMを追加します。
MCSIOで起動パフォーマンスを向上させる
MCSIOを有効にし、PersistWBCとPersistOSDiskのカスタムプロパティをtrueとして設定すると、VMの起動パフォーマンスを向上させることができます。このような設定により、VMは新しいキャッシュディスクを初期化したり、テンプレートからルートディスクを再作成したりする必要がないため、より高速に起動できます。
OS、ID、およびWBCディスクを暗号化する
OSディスク、ID(Identity Disk)、および書き戻しキャッシュディスク(WBC)の暗号化に使用できるAWS KMSキー(顧客管理キーおよびAWS管理キー)を使用して、永続的および非永続的なVMのカタログを作成できます。
- AWS管理キーは毎年自動的にローテーションされます。
- 顧客管理キーは自動ローテーションがオプションであり、手動で管理できます。
KMSキーの詳細については、以下のAWSドキュメントを参照してください。
OS、ID、およびWBCディスクの暗号化には、次のいずれかを構成します。
- 暗号化されたマスターイメージを使用します(例:KMSキーで暗号化されたEBSルートボリュームを含むインスタンスまたはスナップショットから作成されたAMI)。
- 暗号化されたEBSルートボリュームを含むマシンプロファイルソース(VMまたは起動テンプレート)を使用します。
制限事項
次の制限事項を考慮してください。
- MCSは現在、マスターイメージAMI上のディスクを1つのみサポートしています。
-
既存の暗号化されていないEBSボリュームまたはスナップショットを直接暗号化したり、既存の暗号化されたボリュームのKMSキーを変更したりすることはできません。これを行うには、次の手順を実行する必要があります。
- そのボリュームの新しいスナップショットを作成します。
- そのスナップショットから新しいボリュームを作成します。
- 新しいボリュームを暗号化します。
以下のAWSドキュメントを参照してください。
- 暗号化されていないリソースを暗号化する
- EBSボリュームの自動またはデフォルト暗号化の制限: 既存および新規のAmazon EBSボリュームを自動的に暗号化する。
ディスク暗号化を使用してカタログを作成する
ディスク暗号化を使用して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セキュアブートが有効なカタログが必要な場合は、新しいカタログを作成してください。
主な手順
- AWS環境をセットアップします。
- AWSへの接続を作成します。
- NitroTPMおよび/またはUEFIセキュアブートが有効なマスターイメージ(AMI)を作成します(#create-an-ami-that-supports-nitrotpm-and-uefi-secure-boot)。
- Web Studioのカタログ作成メニューでNitroTPMおよびUEFIセキュアブートが有効なマスターイメージを選択するか、PowerShellコマンドを使用してプロビジョニングスキームを作成することで、マシンカタログを作成します。
作成されたカタログに追加されたVMには、NitroTPMとUEFIセキュアブートが有効になっています。
NitroTPMおよびUEFIセキュアブートをサポートするAMIを作成する
-
NitroTPMおよび/またはUEFIセキュアブートが有効になっているVMからAMIを作成できます。
- AWS Marketplaceイメージを使用してインスタンスを作成します。例:
TPM-Windows_Server-2022-English-Full-Base on the aws-marketplaceを検索します。 - シングルセッションまたはマルチセッションVDAをダウンロードします。
- そのVMからAMIを作成します。
- AWS Marketplaceイメージを使用してインスタンスを作成します。例:
-
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インスタンスのフィルタリング
マシンプロファイル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: これは、ContinuationTokenで指定されたアイテムを含まずに、その直後(またはForwardDirectionがfalseの場合は直前)のアイテムを返します。
-
ページネーションの例:
-
最も名前の小さいマシンテンプレートの単一レコードを返すには。
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": 指定された文字列が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": 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-->
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を使用しており、バックアップリストで指定されたサービス提供がそれをサポートしていない場合、カタログの作成または更新はプレフライト中に失敗します。
- 既存のカタログのバックアップSKUリストは、
Set-ProvSchemePowerShellコマンドを使用して変更できます。既存のVMは、Set-ProvVMおよびSet-ProvVMUpdateTimeWindowPowerShellコマンドを使用して変更できます。
バックアップEC2インスタンスの構成
- PowerShellウィンドウを開きます。
- Citrix固有のPowerShellモジュールをロードするために
asnp citrix\*を実行します。 - ブローカーカタログを作成します。
- IDプールを作成します。
-
カスタムプロパティ
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--> - プロビジョニングスキームの一意のIDでBrokerCatalogを更新します。
- VMを作成してカタログに追加します。
次のステップ
- これが最初に作成されたカタログである場合、Web Studioはデリバリーグループを作成するように案内します。
- 構成プロセス全体を確認するには、インストールと構成を参照してください。
- カタログを管理するには、マシンカタログの管理およびAWSカタログの管理を参照してください。