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を選択します。
重要:
運用リソースのタグ付けを使用するには、マシンプロファイルと起動テンプレートの両方を使用してカタログを作成する必要があります。
MCSはそのインスタンスからタグを読み取り、起動テンプレートに組み込みます。起動テンプレートのタグは、AWS環境で作成されたすべてのCitrix®リソースに適用されます。これには以下が含まれます。
- 仮想マシン
- VMディスク
- VMネットワークインターフェイス
- S3バケット
- S3オブジェクト
- 起動テンプレート
- AMI
カタログの作成中に、StudioとPowerShellを使用して運用リソースにタグを付けることができます。Studioについては、Web Studioを使用したカタログの作成(イメージページ)を、PowerShellについては、PowerShellを使用した運用リソースのタグ付けを参照してください。
カタログの作成
カタログは以下を使用して作成できます。
Web Studioを使用したカタログの作成
- 左側のナビゲーションペインで [マシンカタログ] をクリックします。
- [マシンカタログの作成] をクリックします。[マシンカタログのセットアップ] ページが表示されます。
- [マシンタイプ] ページで、カタログのマシンタイプ(例:マルチセッションOS)を選択します。
-
[マシン管理] ページで、以下の設定を選択します。
- 電源管理されているマシン(例:仮想マシンまたはブレードPC)を選択します。
- [Citrixプロビジョニングテクノロジー] を選択します。次に、[Citrix Machine Creation Services™] を選択します。
- [リソース] フィールドで、ホスト接続の作成時に構成したリソース(アベイラビリティゾーンまたはローカルゾーン)を選択し、[次へ] をクリックします。
- [デスクトップエクスペリエンス] ページで、ユーザーがログオンしたときに使用するランダムまたは静的デスクトップのいずれかを選択します。
-
[イメージ] ページ:
- カタログ内のすべてのマシンのマスターイメージとして使用するマシンテンプレートを選択します。
- カタログ内のVMがマシンプロファイルから構成を継承するようにする場合は、マシンプロファイルを選択します。デフォルトでは、[マシンプロファイルを使用] チェックボックスが選択されています。マシンプロファイルのソースを別のVMまたは起動テンプレートバージョンに変更するには、編集ボタンをクリックします。
- [マシンタグを運用リソースに適用] チェックボックスを選択して、マシンタグを運用リソースに適用します。このオプションは、マシンのプロビジョニングを容易にするためにAWS環境で作成されたすべての項目にマシンタグを適用するかどうかを制御します。運用リソースは、カタログ作成の副産物として作成されます。これには、準備用VMインスタンスやAMIなどの一時的および永続的なリソースの両方が含まれます。
注:
[セキュリティ] ページは、マシンプロファイルを割り当てずにマシンカタログを作成する場合にのみ表示されます。
-
[仮想マシン] ページ:
- カタログのVM数を入力します。
- デフォルトのマシンスペックが表示されます。これはマシンプロファイルに基づいています。変更するには、編集アイコンを選択し、マシンスペックを選択します。
- AWSテナンシーを構成します。AWSテナンシーを構成するオプションを参照してください。
- プライマリマシンサイズが最大容量に達した場合に、セカンダリVMを構成することもできます。[セカンダリサイズ](オプション)をクリックします。[セカンダリマシンサイズ] ウィンドウには、スポットVMタイプと通常VMタイプの両方を持つVMが一覧表示されます。最大10個のセカンダリマシンサイズを選択できます。10個のVMが選択されると、他のVMはそれ以上選択できなくなります。[次へ] をクリックします。[セカンダリマシンサイズ] ブレードで、複数のマシンサイズを選択し、ドラッグアンドドロップして優先順位を変更できます。[完了] をクリックします。選択したマシンサイズは、セカンダリサイズ(オプション)に表示されます。必要に応じて編集アイコンをクリックして編集します。
-
[セキュリティ] ページは、マシンプロファイルを割り当てずにマシンカタログを作成する場合にのみ表示されます。[セキュリティ] ページを使用して、VMのセキュリティグループを構成します。これは、既存のマシンカタログを編集およびクローン作成する場合にも適用されます。
マシンプロファイルベースのマシンカタログを作成する場合、セキュリティグループの構成はマシンプロファイルから継承されるため、[セキュリティ] ページは表示されません。
- [NIC] ページで、VMのNIC(またはENI)を選択します。
- [ディスク設定] ページで、ライトバックキャッシュを有効にするかどうかを選択します。
- [マシンID] ページで、ドメインを選択し、このマシンカタログで作成されるVMの新しいADアカウントを作成することにより、カタログ内のマシンのオンプレミスActive DirectoryまたはMicrosoft Entraハイブリッド参加を構成します。プロビジョニングされたVMは、選択したドメインに参加します。VM用に作成される新しいADアカウントのアカウント命名スキームを指定します。[次へ] をクリックします。
- [ドメイン資格情報] ページで、[資格情報の入力] をクリックして、選択したドメインの資格情報を提供します。プロンプトが表示されたら、管理者レベルのユーザー名とパスワードを入力します。製品ドキュメントに従って以前にドメイン資格情報を保存している場合は、サービスアカウントを使用することもできます。
- 残りのページを順に進み、[概要] ページに到達します。マシンカタログの名前を入力し、[完了] を選択してマシンカタログを作成します。
AWSローカルゾーンでのマシンカタログ作成の制限
- 特定のローカルゾーンは特定のハードウェア構成のみをサポートします(例:パースローカルゾーンはGP3ボリュームをサポートせず、GP2のみをサポートします)。
- すべてのローカルゾーンで普遍的にサポートされているのはgp2のみであり、すべてがgp3をサポートしているわけではないため、IDディスクの作成はデフォルトでgp2ボリュームタイプを使用します。
- 目的のローカルゾーンでサポートされているハードウェア仕様を持つマシンプロファイルを選択する必要があります。
- 準備されたイメージAMIスナップショットとIDディスクスナップショットは、ローカルゾーンではなくリージョンに配置されるのがデフォルトです(ローカルゾーンでのEBSスナップショットサポートの可視性に関するAWSの制限のため)。
- 完全なEC2およびEBSサービスをサポートするローカルゾーンのみがサポート対象ゾーンです。
PowerShellを使用したカタログの作成
PowerShellを使用したAWS専用ホストテナンシーの構成
または、PowerShellを介してAWS専用ホストをプロビジョニングすることもできます。New-ProvSchemeコマンドレットをTenancyTypeパラメーターをHostに設定して使用します。
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-->
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単位で指定します。これはオプションのパラメーターです。
注:
- 少なくとも1 GBのキャッシュディスクストレージが必要なため、
WriteBackCacheDiskSizeの値はゼロより大きくする必要があります。キャッシュディスクサイズはOSディスクサイズより大きくしてはなりません。WriteBackCacheMemorySizeの値はゼロ以外で、マシンカタログのメモリサイズより小さくする必要があります。
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インスタンスの電源がオンになっている間のみ作成および保持されます。
MCSIO対応の非永続カタログを作成するには、PowerShellウィンドウで以下の手順を実行します。
- PowerShell ウィンドウを開きます。
-
asnp citrix*を実行して、Citrix 固有の PowerShell モジュールをロードします。 - ブローカーカタログと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は新しいキャッシュディスクを初期化したり、テンプレートからルートディスクを再作成したりする必要がないため、より高速に起動できます。
PowerShellを使用したマシンプロファイルベースのマシンカタログの作成
マシンプロファイルを使用して、EC2インスタンス(VM)または起動テンプレートバージョンからハードウェアプロパティをキャプチャし、プロビジョニングされたマシンに適用できます。キャプチャされるプロパティには、例えば、EBSボリュームプロパティ、インスタンスタイプ、EBS最適化、CPUオプション、テナンシータイプ、ハイバネーション機能、セキュリティグループ、およびその他のサポートされているAWS構成が含まれます。
マシンプロファイルの入力として、AWS EC2インスタンス(VM)またはAWS起動テンプレートバージョンを使用できます。
注:
EBSボリュームプロパティは、マシンプロファイルからのみ派生します。
重要な考慮事項
MCSマシンカタログの作成における重要な考慮事項:
-
New-ProvSchemeおよびSet-ProvSchemeコマンドでマシンハードウェアプロパティパラメータを追加すると、パラメータで指定された値がマシンプロファイルの値よりも優先されます。 -
AwsCaptureInstancePropertiesをtrueに設定し、MachineProfileプロパティを設定しない場合、IAMロールとタグのみがキャプチャされます。 -
AwsCaptureInstancePropertiesとMachineProfileの両方を同時に設定することはできません。注:
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は現在、ネットワークインターフェースごとに複数のネットワークを許可していません。
マシンプロファイルを使用したマシンカタログの作成
マシンプロファイルを使用してマシンカタログを作成するには:
- PowerShell ウィンドウを開きます。
-
asnp citrix*を実行して、Citrix 固有の PowerShell モジュールをロードします。 -
まだ作成されていない場合は、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--> - カタログの作成を完了します。
マシンプロファイルの更新
マシンプロファイルで最初にプロビジョニングされたカタログのマシンプロファイルを更新するには、次の手順を実行します。MCSマシンカタログを編集する際に、マシンプロファイルソースのテナンシータイプとハイバネーション機能を変更することもできます。
-
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コマンドのパラメータとして提供されていない場合、適切なエラーが発生します。
起動テンプレートバージョンをマシンプロファイル入力として使用してカタログを作成するには:
- 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--> - カタログの作成を完了します。
マシンプロファイルソースの更新
マシンプロファイルカタログの入力を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ディスクの暗号化
永続的および非永続的なVMカタログを、OSディスク、IDディスク (ID)、およびライトバックキャッシュディスク (WBC) の暗号化に使用できるAWS KMSキー (カスタマーマネージドキーおよびAWSマネージドキー) で作成できます。
- 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 (米国) リージョンを含む) で使用できます。
- 既存のカタログでNitroTPMおよびUEFIセキュアブートを有効にすることはできません。NitroTPMおよびUEFIセキュアブートが有効なカタログが必要な場合は、新しいカタログを作成してください。
主要な手順
- AWS環境をセットアップします。
- AWSへの接続を作成します。
- NitroTPMおよび/またはUEFIセキュアブートが有効なマスターイメージ (AMI) を作成します。
- Web Studioのカタログ作成メニューでNitroTPMおよびUEFIセキュアブートが有効なマスターイメージを選択するか、PowerShellコマンドを使用してプロビジョニングスキームを作成することで、マシンカタログを作成します。
作成されたカタログに追加されたVMには、NitroTPMおよびUEFIセキュアブートが有効になっています。
NitroTPMおよびUEFIセキュアブートをサポートするAMIの作成
-
NitroTPMおよび/またはUEFIセキュアブートが有効なVMからAMIを作成できます。
- AWS Marketplaceイメージを使用してインスタンスを作成します。例として、
aws-marketplaceでTPM-Windows_Server-2022-English-Full-Baseを検索します。 - シングルセッションまたはマルチセッション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セキュアブートをサポートしていますか? |
|---|---|---|
| UEFI | いいえ | いいえ |
| Legacy BIOS | はい | いいえ |
| UEFI | はい | いいえ |
| UEFI Preferred | はい | いいえ |
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:これは、ContinuationTokenで指定されたアイテムを含まない、その直後 (またはForwardDirectionがfalseの場合はその直前) のアイテムを返します。
-
ページネーションの例:
- 最も低い名前のマシンテンプレートの単一レコードを返します。
AdditionalDataフィールドには、TotalItemsCountとTotalFilteredItemsCountが含まれています。
Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\ctx-test” -ResourceType template
- 最も名前の小さいマシンテンプレートのレコードを10件返すには:
<!--NeedCopy-->
Get-HypInventoryItem -LiteralPath \"XDHyp:\HostingUnits\ctx-test\" -ResourceType template -MaxRecords 10 | select Name
```
-
最も名前の大きいレコードの配列を返すには:
Get-HypInventoryItem -LiteralPath \"XDHyp:\HostingUnits\ctx-test\" -ResourceType template -ForwardDirection \$False -MaxRecords 10 | select Name -
指定された
ContinuationTokenに関連付けられたマシンテンプレートから始まるレコードの配列を返すには:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
フィルタリング:
フィルタリングには、以下の追加のオプションパラメーターがサポートされています。これらのパラメーターは、ページネーションオプションと組み合わせることができます。
-
-ContainsName "my_name": 指定された文字列がAMI名の一部と一致する場合、そのAMIはGet結果に含まれます。例:Get-HypInventoryItem -LiteralPath \"XDHyp:\HostingUnits\ctx-test\" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name -
-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注:
2つのタグ値がサポートされています。タグなしのタグ値は、タグのリストに指定されたタグがない項目と一致します。すべての値のタグ値は、タグの値に関係なくタグを持つ項目と一致します。それ以外の場合、一致は、項目がタグを持ち、その値がフィルターで指定された値と等しい場合にのみ発生します。
-
-Id "ami-0a2d913927e0352f3": AMIが指定されたIDと一致する場合、そのAMIはGet結果に含まれます。例:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx
AdditionalDataパラメーターでのフィルタリング:
AdditionalData フィルターパラメーターは、テンプレートまたはVMを、その機能、サービス提供、またはAdditionalData内の任意のプロパティに基づいて一覧表示します。例:
(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
互換性のないVMを示すために、-Warn パラメーターを追加することもできます。VMは、Warningという名前の AdditionalData フィールドとともに含まれます。例:
(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
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ウィンドウを開きます。
-
asnp citrix\*を実行して、Citrix固有のPowerShellモジュールをロードします。 - Brokerカタログを作成します。
- 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 - プロビジョニングスキームの一意のIDでBrokerCatalogを更新します。
- カタログにVMを作成して追加します。
AWS Spotインスタンスを使用したカタログの作成
オンデマンドインスタンスと比較して、Spotインスタンスは最大90%のコスト削減を提供します。Spotインスタンスは、容量が利用できなくなった場合にAmazon EC2によって中断される可能性があり、非クリティカルなアプリケーションとデスクトップにのみ適しています。
Spotインスタンスの詳細については、AWSドキュメントのSpotインスタンスを参照してください。
さらに、SpotインスタンスをプライマリEC2インスタンスタイプとバックアップEC2インスタンスの両方として使用できます。容量関連の問題が発生した場合にMCSがフォールバックできるバックアップEC2インスタンスタイプ(オンデマンドインスタンスとSpotインスタンスの両方を含む「バックアップSKU」)のリストをPowerShellを使用して提供できます。
重要な考慮事項
- マシンプロファイルワークフローでのみSpotインスタンスのカタログを作成する必要があります。
- 永続的なSpotインスタンスリクエストタイプのみがサポートされています。1回限りのSpotインスタンスリクエストはサポートされていません。
- 停止および休止の中断動作のみがサポートされています。
- 既存のカタログの構成をオンデマンドからSpotインスタンスに変更したり、その逆を行ったりすることができます。ただし、EC2インスタンスをオンデマンドからSpotに変更するのは複雑です。AWSドキュメントのオンデマンドからスポット料金にEC2インスタンスを切り替えるを参照してください。
- プロビジョニングされたSpotインスタンスを削除するときは、既存のSpotインスタンスリクエストをキャンセルしてください。そうしないと、AWSが新しいSpotインスタンスを作成します。
AWS Spotインスタンスを使用したカタログ作成の手順
- Spotインスタンスでマシンプロファイルソースを作成します。Spotインスタンスを作成する手順については、Spotインスタンスリクエストの作成を参照してください。
-
New-ProvSchemePowerShellコマンドを使用して、マシンプロファイルでマシンカタログを作成します。Set-ProvSchemeコマンドを使用してカタログを更新できます。
バックアップSKUとしてのSpotインスタンスの使用
SpotインスタンスをプライマリEC2インスタンスタイプとバックアップEC2インスタンスの両方として使用できます。容量関連の問題が発生した場合にMCSがフォールバックできるバックアップEC2インスタンスタイプ(オンデマンドインスタンスとSpotインスタンスの両方を含む「バックアップSKU」)のリストをPowerShellを使用して提供できます。
注:
バックアップSKUリストには重複するSpotインスタンスを指定できます。例:
BackupVmConfiguration,t2.small:Spot|t2.small|t3.smallは有効です。
必要な権限
SpotインスタンスをプライマリまたはバックアップEC2インスタンスとして使用する場合、以下の権限が必要です。
ec2:DescribeSpotInstanceRequestsec2:CancelSpotInstanceRequests
バックアップSpotインスタンスの構成
- PowerShellウィンドウを開きます。
-
asnp citrix\*を実行して、Citrix固有のPowerShellモジュールをロードします。 - Brokerカタログを作成します。
- IDプールを作成します。
-
カスタムプロパティ
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 - プロビジョニングスキームの一意のIDでBrokerCatalogを更新します。
- カタログにVMを作成して追加します。
次のステップ
- これが最初に作成されたカタログである場合、デリバリーグループの作成に誘導されます。
- 構成プロセス全体を確認するには、インストールと構成を参照してください。
- カタログを管理するには、マシンカタログの管理およびAWS EC2カタログの管理を参照してください。
詳細情報
この記事の概要
- イメージ準備中のネットワーク設定
- AWSテナンシー
- AWS運用リソースのタグ付け
- カタログの作成
- Web Studioを使用したカタログの作成
- PowerShellを使用したカタログの作成
- MCSIO対応カタログ
- PowerShellを使用したマシンプロファイルベースのマシンカタログの作成
- OS、ID、およびWBCディスクの暗号化
- VMインスタンスでのNitroTPMおよびUEFIセキュアブートの有効化
- VMへのタグのコピー
- PowerShellを使用したVMインスタンスのフィルタリング
- VMのバックアップSKUリスト
- AWS Spotインスタンスを使用したカタログの作成
- 次のステップ
- 詳細情報