Amazon WorkSpaces Core マネージドインスタンスのカタログ作成
マシンカタログの作成では、マシンカタログを作成するウィザードについて説明しています。以下の情報は、Amazon WorkSpaces Core マネージドインスタンスに固有の詳細を扱っています。
注:
現在、永続VMと非永続VMの両方(
CleanOnBootプロパティがTrueまたはFalse)のカタログ作成がサポートされています。
前提条件
Amazon WorkSpaces Core マネージドインスタンスのカタログを作成する前に、以下の作成を完了する必要があります。
- Amazon WorkSpaces Core マネージドインスタンスへの接続。詳しくは、「Amazon WorkSpaces Core マネージドインスタンスへの接続」を参照してください。
- 準備されたイメージ。詳しくは、「Amazon WorkSpaces Core マネージドインスタンス用の準備されたイメージの作成」を参照してください。
イメージ準備中のネットワーク設定
イメージの準備中に、元のVMに基づいて準備用仮想マシン(VM)が作成されます。この準備用VMはネットワークから切断されます。準備用VMからネットワークを切断するために、すべてのインバウンドおよびアウトバウンドトラフィックを拒否するネットワークセキュリティグループが作成されます。このネットワークセキュリティグループは永続化され、再利用されます。ネットワークセキュリティグループの名前はCitrix.XenDesktop.IsolationGroup-GUIDで、GUIDはランダムに生成されます。
マシンプロファイルベースのマシンカタログ
マシンプロファイルを使用して、EC2インスタンス(VM)または起動テンプレートバージョンからハードウェアプロパティを取得し、プロビジョニングされたマシンに適用できます。取得されるプロパティには、例えば、テナンシータイプ、インスタンスタイプ、セキュリティグループ、ネットワークマッピング、EBSボリュームプロパティ、EBS最適化、CPUオプション、ハイバネーション機能、およびその他のサポートされているAWS構成が含まれます。
マシンプロファイルの入力として、AWS EC2インスタンス(VM)またはAWS起動テンプレートバージョンを使用できます。
注:
- EBSボリュームプロパティはマシンプロファイルからのみ派生します。
- Instance Metadata Service (IMDS) V2のみがサポートされており、IMDS V1はサポートされていません。詳しくは、「How Instance Metadata Service Version 2 works」を参照してください。
AWS テナンシー
AWSは、共有テナンシー(デフォルトタイプ)と専用テナンシーというテナンシーオプションを提供しています。共有テナンシーとは、異なる顧客の複数のAmazon WorkSpaces Coreインスタンスが同じ物理ハードウェア上に存在する可能性があることを意味します。専用テナンシーとは、デプロイした他のインスタンスと同じハードウェア上でのみAmazon WorkSpaces Coreインスタンスが実行されることを意味します。
注:
専用インスタンスのみがサポートされています(専用ホストは現在サポートされていません)。他の顧客は同じハードウェアを使用しません。
マシンプロファイルから取得されるテナンシータイプ
-
MCSを使用してAWSでマシンをプロビジョニングするカタログを作成する場合、テナンシータイプはマシンプロファイルから取得されます。
- 共有ハードウェア: この設定は、ほとんどの展開に適しています。複数の顧客が互いにやり取りすることなくハードウェアを共有します。共有ハードウェアを使用することは、Amazon EC2インスタンスを実行するための最も安価なオプションです。
- 専用インスタンス: この設定は、特定のセキュリティまたはコンプライアンス要件を持つ展開により適しています。専用インスタンスを使用すると、他のAWS顧客とは別のホストを持つという利点を享受できますが、ホスト全体に対して料金を支払う必要はありません。ホストの容量について心配する必要はありませんが、インスタンスに対してはより高い料金が課金されます。さらに、専用インスタンスはBring Your Own License (BYOL) の限定的なサポートを提供します。
柔軟な課金
Amazon WorkSpaces Core マネージドインスタンスは、2つの課金モードをサポートしています。
-
課金モード 説明
| 月額 | 固定の月額定額課金。永続デスクトップや予測可能なワークロードに最適です。 |
| 時間単位 | 従量課金制。課金モードが明示的に指定されていない場合、これはAWSのデフォルト設定です。 |
これらのオプションは、ワークロードの永続性と使用パターンに基づいてコンピューティングコストを管理するための柔軟性を提供します。
この機能には、Amazon WorkSpaces課金サービスの使用が必要です。デフォルトでは、MCSはこのサービスを使用してインスタンスをプロビジョニングおよび管理し、永続的なワークロードに対してより競争力のある定額料金の恩恵を受けることができます。
前提条件と考慮事項
-
AWSアカウント設定:AWSアカウントはWorkSpaces課金サービスを使用するように構成されている必要があります。AWSアカウントはデフォルトで切り替えられますが、一部の顧客はAmazon WorkSpaces Core マネージドインスタンスを使用するために、AWSにレガシーEC2課金サービスを維持するよう要求する場合があります。
注:
アカウントがレガシーEC2課金サービスを使用している場合、月額課金オプションは利用できません。
- ホスト接続:柔軟な課金は、Amazon WorkSpaces Coreホスト接続にのみ適用されます。標準のAWS EC2ホスト接続ではサポートされていません。
- スポットインスタンス:スポットインスタンスはWorkSpaces課金サービスではサポートされていません。
- 混合課金:AWSアカウントは、コアマネージドインスタンスに対してWorkSpaces課金またはEC2課金のいずれかを使用する必要があります。単一アカウント内での両方の混合はサポートされていません。
- 互換性:特定のインスタンスタイプ、プラットフォームタイプ(OS)、およびテナンシータイプのみが特定の課金モードと互換性があります。MCSは、選択内容(サービスオファリング、マシンプロファイル、準備済みイメージ)が選択した課金モードと一致することを確認するために事前チェックを実行します。
「特定の課金モードでマシンカタログを作成する」を参照してください。
カタログの作成
Amazon WorkSpaces Core マネージドインスタンスのカタログを作成するには、準備されたイメージとマシンプロファイルが必要です。マシンプロファイルの入力として、AWS VMインスタンスまたはAWS起動テンプレートバージョンを使用できます。
カタログは以下を使用して作成できます。
Studio を使用したカタログ作成
イメージノードからのマシンカタログ作成
- イメージノードのカタログの作成オプションを使用して、イメージバージョンでカタログを作成します。
または、マシンカタログノードでカタログを作成する際にバージョンを選択し、カタログ作成ワークフローで準備されたイメージオプションにリンクできます。「マシンカタログノードからマシンカタログを作成する」を参照してください。
イメージノードからMCSマシンカタログを作成するには、次の手順を実行します。
- イメージバージョンを選択し、カタログの作成をクリックします。はじめにページで次へをクリックします。
-
- マシン管理ページとイメージページでは、選択したイメージバージョンに基づいて設定が事前に選択されています。イメージページで、選択した準備済みイメージのメモを入力します。
- 以降のページで設定を完了します。
- 概要ページで、マシンカタログの詳細を確認します。マシンカタログの名前と説明を入力します。完了をクリックします。
- マシンカタログノードに移動して、作成されたマシンカタログを確認します。
マシンカタログノードからのマシンカタログ作成
マシンカタログノードからMCSマシンカタログを作成するには、次の手順を実行します。
- 左側のナビゲーションペインでマシンカタログをクリックします。
- マシンカタログの作成をクリックします。マシンカタログのセットアップページが表示されます。
- マシンタイプページで、カタログのマシンタイプ(例: マルチセッションOS)を選択します。
-
マシン管理ページで、次の設定を選択します。
- 電源管理されているマシン(仮想マシンやブレードPCなど)を選択します。
- Citrixプロビジョニングテクノロジーを選択します。次に、Citrix Machine Creation Services™を選択します。
- リソースフィールドで、ホスト接続の作成時に構成したリソース(アベイラビリティーゾーンまたはローカルゾーン)を選択し、次へをクリックします。
- デスクトップエクスペリエンスページで、ユーザーがログオンしたときに使用するランダムまたは静的デスクトップを選択します。静的デスクトップが選択されている場合は、ユーザーがローカルディスクで行った変更を保存するかどうか(永続的または非永続的)をさらに指定します。
-
イメージページで、イメージの選択をクリックして、マシンカタログの準備済みイメージを選択します。作成した準備済みバージョンを選択します。イメージバージョン名をクリックします。選択したイメージバージョンの詳細を表示するには、下線が引かれているバージョン番号をクリックします。完了をクリックします。
準備済みイメージに関連付けられたマシンプロファイルが表示され、そのハードウェアプロパティ(インスタンスタイプ、テナンシータイプ、ネットワークマッピング、セキュリティグループ、ボリュームプロパティなど)がカタログ内のマシンを作成するために使用されます。マシンプロファイルのソースを別のVMまたは起動テンプレートバージョンに変更するには、編集ボタンをクリックします。
-
仮想マシンページで:
- カタログのVM数を入力します。
- マシンプロファイルに基づいたデフォルトのマシン仕様が表示されます。変更するには、編集アイコンを選択し、マシン仕様を選択します。
- NICページで、VMのNIC(またはENI)を選択します。
-
マシンIDページで、カタログ内のマシンのマシンIDタイプを構成します。
- ドメイン参加済みマシン(オンプレミスActive DirectoryまたはMicrosoft Entraハイブリッド参加済み)を構成するには、ドメインを選択し、このマシンカタログで作成されるVM用の新しいADアカウントを作成します。プロビジョニングされたVMは、選択したドメインに参加します。ドメイン非参加マシンをプロビジョニングするには、ドメイン非参加オプションを選択します。
- VM用に作成される新しいアカウントのアカウント命名スキームを指定します。
- ドメイン資格情報ページで、資格情報の入力をクリックして、選択したドメインの資格情報を入力します。プロンプトが表示されたら、管理者レベルのユーザー名とパスワードを入力します。以前に当社の製品ドキュメントに従ってドメイン資格情報を保存している場合は、サービスアカウントを使用することもできます。
- 概要ページが表示されるまで、残りのページをクリックして進みます。マシンカタログの名前を入力し、完了を選択してマシンカタログを作成します。
AWSローカルゾーンでのマシンカタログ作成に関する制限事項
- 特定のローカルゾーンは特定のハードウェア構成のみをサポートします(例: パースローカルゾーンはGP3ボリュームをサポートせず、GP2のみをサポートします)。
- すべてのローカルゾーンでgp2のみが普遍的にサポートされており、すべてがgp3をサポートしているわけではないため、IDディスクの作成はデフォルトでgp2ボリュームタイプを使用します。
- 目的のローカルゾーンでサポートされているハードウェア仕様を持つマシンプロファイルを選択する必要があります。
- 準備済みイメージAMIスナップショットとIDディスクスナップショットは、デフォルトでローカルゾーンではなくリージョンに配置されます(ローカルゾーンでのEBSスナップショットサポートに関するAWSの制限のため)。
- 完全なEC2およびEBSサービスをサポートするローカルゾーンのみがサポート対象ゾーンです。
PowerShellを使用したカタログ作成
準備済みイメージバージョン仕様とマシンプロファイルを使用したカタログ作成
-
New-ProvSchemeコマンドを使用して、準備済みイメージバージョン仕様からMCS非永続マシンカタログを作成します。例:New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy--> -
New-ProvSchemeコマンドを使用して、準備済みイメージバージョン仕様からMCS永続マシンカタログを作成します。例:New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy-->
カタログを作成するためのPowerShellコマンドの完全なセットの例:
$Catalog = New-BrokerCatalog -AllocationType "Random" -IsRemotePC $False -MinimumFunctionalLevel "L7_20" -Name "wsccatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"
$IdentityPool = New-AcctIdentityPool -AllowUnicode -Domain "domainname" -IdentityPoolName "wsccatalog" -IdentityType "ActiveDirectory" -NamingScheme "aws##" -NamingSchemeType "Numeric" -Scope @()
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
$Task = New-ProvScheme -ProvisioningSchemeName wsccatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName wsc -IdentityPoolName wsccatalog -CleanOnBoot -Scope @() -SecurityGroup @() -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm' -RunAsynchronously
Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName wsccatalog
- Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--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のみを使用してマシンカタログを作成する際に課金モードを指定できます。
PowerShellの使用
PowerShellを介して課金モードを指定するには、New-ProvSchemeコマンドでCustomPropertiesパラメーターを使用します。
$custprop = "BillingMode,Monthly"
New-ProvScheme -ProvisioningSchemeName "MyCatalog" `
-ImageVersionSpecUid $ImageVersionSpecUid `
-HostingUnitName "wsc-unit" `
-IdentityPoolName "MyIdentityPool" `
-MachineProfile "XdHyp:\HostingUnits\wsc-unit\machine-profile lt-123.launchtemplate\lt-123 (1).launchtemplateversion" `
-CustomProperties $custprop `
-CleanOnBoot
<!--NeedCopy-->
注:
BillingModeプロパティが省略された場合、カタログはデフォルトでHourlyになります。
既存カタログの課金モード変更
既存のカタログをMonthlyからHourlyに、またはその逆に変換できます。この変更は、カタログ内の新規および既存のVMの両方に適用できます。
更新に関する重要な考慮事項
- サービスウィンドウ: 既存のVMは、課金変更を適用するためにサービスウィンドウまたは電源サイクルを経る必要があります。
- 検証: MCSは、変更を適用する前に、既存のインスタンスタイプとプラットフォームが新しい課金モードと互換性があることを検証します。
PowerShell を使用した更新
-
カタログに追加された新しいVMのみの課金モードを更新するには、プロビジョニングスキームの課金モードカスタムプロパティを更新します。
$custprop = "BillingMode,Hourly" Set-ProvScheme -ProvisioningSchemeName "MyCatalog" -CustomProperties $custprop <!--NeedCopy--> -
カタログ内の新規および既存のVMの課金モードを更新するには、更新されたカスタムプロパティを持つ新しいプロビジョニングスキームバージョンを作成し、その新しいバージョンをすべてのVMに適用します。
$custprop = "BillingMode,Hourly" New-ProvSchemeVersion -ProvisioningSchemeName "MyCatalog" -CustomProperties $custprop New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 2 ` -StartsNow -AllVMs ` -MaxDurationInMinutes 100 ` -ProvisioningSchemeName "MyCatalog" <!--NeedCopy-->
課金情報の監視
カタログおよび個々の仮想マシンの課金モードを確認できます。
アカウントの課金資格を確認するには、以下のPowerShellコマンドを実行します。
-
CustomPropertiesの一部として
BillingModeを返します。- Get-ProvScheme –ProvisioningSchemeName “"MyCatalog" " | Select ProvisioningSchemeName, CustomProperties <!--NeedCopy-->- VMInfoの一部として
BillingModeを返します。
Get-ProvVMDetails –ProvisioningSchemeName “"MyCatalog" " | Select-Object -ExpandProperty VMInfo <!--NeedCopy--> - VMInfoの一部として
トラブルシューティングと検証
MCSには、互換性のない構成を防ぐための事前チェックが含まれています。カタログの作成または編集中に、以下のエラーが発生する可能性があります。
- **NoInstanceConfigFoundForBillingMode**: 選択したサービスオファリング(インスタンスタイプ)、テナンシー、およびプラットフォームタイプが、選択された課金モードでサポートされていない場合に発生します。
- **Spot Instance Not Supported**: WorkSpacesホスト接続でスポットインスタンスを使用しようとすると、検証に失敗します。
- **EC2 billing restriction**: AWSアカウントがレガシーEC2課金モデルを使用している場合、月次課金モードを設定しようとすると検証エラーが発生します。
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" ` - -ImageVersionSpecUid ‘24dfb047-e867-527g-896c-25664xxxxx1t’ ` - -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-->
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単位で指定します。これはオプションのパラメーターです。
注記:
WriteBackCacheDiskSizeの値は0より大きくする必要があります。これは、少なくとも1 GBのキャッシュディスクストレージが必要なためです。キャッシュディスクサイズはOSディスクサイズより大きくしてはいけません。WriteBackCacheMemorySizeの値は0以外で、マシンカタログのメモリサイズより小さくする必要があります。
MCSIOに影響を与えるカスタムプロパティは次のとおりです。
-
WBCDiskStorageType: Amazon WorkSpaces Core Managed Instancesの一時ディスクに使用されるボリュームタイプを定義します。このパラメーターは、volume-type[:iops][:throughput]の形式で文字列引数を取ります。ボリュームタイプは次のとおりです。- gp2: このボリュームタイプではiopsおよびthroughputパラメーターを使用しないでください
- gp3: このボリュームタイプではiopsおよびthroughputパラメーターを使用してください
- io1: このボリュームタイプではiopsパラメーターのみを使用してください
- io2: このボリュームタイプではiopsパラメーターのみを使用してください
-
デフォルトのボリュームタイプは gp2 です。
-
PersistWBC: Amazon WorkSpaces Core Managed Instancesの電源がオフになったときに、キャッシュディスクを保持するか破棄するかを制御します。trueに設定すると、キャッシュディスクは保持されます。false(デフォルト)に設定すると、キャッシュディスクはAMIインスタンスの電源がオンになっている間のみ作成および保持されます。 -
PersistOSDisk: Amazon WorkSpaces Core Managed Instancesの電源がオフになったときに、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は新しいキャッシュディスクを初期化したり、テンプレートからルートディスクを再作成したりする必要がないため、より高速に起動できます。
OSディスクとIDディスクの暗号化
AWS KMSキー(カスタマー管理キーおよびAWS管理キー)を使用して、OSディスクとIDディスク(ID)を暗号化できるVMのカタログを作成できます。
- AWS管理キーは毎年自動的にローテーションされます。
-
カスタマー管理キーは自動ローテーションのオプションであり、手動で管理できます。
-
KMSキーの詳細については、以下のAWSドキュメントを参照してください。
-
- AWS KMS の概念
-
OSディスクとIDディスクの暗号化には、次のいずれかを構成します。
- 暗号化された準備済みイメージを使用する(たとえば、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キーを含むボリュームを持つマシンプロファイル入力。
- イメージ管理を使用して暗号化された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)の作成。
- マスターイメージから準備済みイメージを作成します。Amazon WorkSpaces Coreマネージドインスタンス用の準備済みイメージの作成を参照してください。
- Citrix Studioのカタログ作成メニューで、またはPowerShellコマンドを使用してプロビジョニングスキームを作成する際に、NitroTPMおよびUEFIセキュアブートが有効な準備済みイメージを選択してマシンカタログを作成します。
作成されたカタログに追加されたVMは、NitroTPMおよびUEFIセキュアブートが有効になります。
NitroTPMおよびUEFIセキュアブートをサポートするAMIの作成
-
NitroTPMおよび/またはUEFIセキュアブートが有効なVMからAMIを作成できます。
- AWSマーケットプレイスイメージを使用してインスタンスを作成します。例として、
TPM-Windows_Server-2022-English-Full-Base on the aws-marketplaceを検索します。 - シングルまたはマルチセッションVDAをダウンロードします。
- そのVMからAMIを作成します。
- AWSマーケットプレイスイメージを使用してインスタンスを作成します。例として、
-
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 コンソールでは、起動テンプレートバージョンリソースタグの下にネットワークインターフェイスのタグの値は表示されません。ただし、
aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12PowerShell コマンドを実行して、タグの仕様を確認できます。- マシンプロファイルソース(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 <!--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-->
次のステップ
- Amazon WorkSpaces Core カタログの管理については、「Amazon WorkSpaces Core マネージドインスタンスのカタログの管理」を参照してください。
詳細情報
- AWS 仮想化環境
- Amazon WorkSpaces Core マネージドインスタンスへの接続
- イメージ管理
- Amazon WorkSpaces Core マネージドインスタンス用の準備済みイメージの作成
- Amazon WorkSpaces Core GitHub PowerShell の例については、「citrix-mcs-sdk-samples-Amazon WorkSpaces Core」を参照してください。