Citrix Virtual Apps and Desktopsサービス

Microsoft Azure Resource Manager仮想化環境

Citrix Virtual AppsまたはCitrix Virtual Desktopsサービス環境でMicrosoft Azure Resource Managerを使用して仮想マシンをプロビジョニングする場合は、このガイダンスに従ってください。

ここでは、以下の内容を熟知していることを前提とします:

注:

Azureは、デフォルトでAzureが管理する暗号キーを使用したディスク暗号化をサポートしています。この形式の暗号化は、MCSのすべてのカタログで使用され、ユーザー構成は必要ありません。

Azureのオンデマンドプロビジョニング

MCSを使用してAzure Resource Managerでマシンカタログを作成する場合、Azureのオンデマンドプロビジョニング機能は次のことを実現します。

  • ストレージコストを削減する。
  • カタログ作成を高速化する。
  • 仮想マシン(VM)の電源操作を高速化する。

管理者にとっては、ホスト接続とMCSマシンカタログを作成する場合、オンデマンドプロビジョニングと完全な構成インターフェイスで手順に違いはありません。相違点は、Azureでリソースを作成し管理する方法とそのタイミング、Azure PortalでのVMの可視性です。

Citrix Virtual Apps and DesktopsサービスでAzureのオンデマンドプロビジョニングを統合する前は、MCSの挙動は異なっていました。MCSがカタログを作成すると、プロビジョニングプロセス中にAzureにVMが作成されました。

Azureのオンデマンドプロビジョニングでは、VMは、プロビジョニング完了後、Citrix Virtual Apps and Desktopsで電源投入操作が開始されたときにのみ作成されます。Azure Portalでは、実行中のVMのみが表示されます。[管理]>[完全な構成] インターフェイスでは、VMが実行されている場合はVMが表示されます。

MCSカタログを作成すると、Azure Portalにリソースグループ、ネットワークセキュリティグループ、ストレージアカウント、ネットワークインターフェイス、基本イメージ、IDディスクが表示されます。Azure Portalでは、Citrix Virtual Apps and DesktopsがVMの電源投入操作を開始するまで、そのVMは表示されません。次に、完全な構成インターフェイスのVMのステータスが「On」に変わります。

  • プールされたマシンの場合、オペレーティングシステムのディスクとライトバックキャッシュは、VMが存在する場合にのみ存在します。キャッシュにより、マシンを定期的に(たとえば、勤務時間外に)シャットダウンする場合はストレージを大幅に節約できます。
  • 専用マシンでは、VMの初回電源投入時にオペレーティングシステムのディスクが作成されます。このディスクは、マシンIDが削除されるまでストレージに残ります。

Citrix Virtual Apps and DesktopsがVMの電源切断操作を開始すると、そのマシンIDはAzureで削除されます。Azureポータルには表示されなくなります(完全な構成インターフェイスのVMのステータスが「Off」変わります)。

オンデマンドプロビジョニングのサポート前に作成されたカタログ Citrix Virtual Apps and DesktopsでAzureのオンデマンドプロビジョニング機能をサポートする前(2017年半ば)に作成されたマシンカタログは、異なる挙動を見せます。これらのカタログ内の仮想マシンは、実行中かどうかにかかわらず、Azureポータルに表示されます。MCSがカタログをプロビジョニングする場所以外のリージョンでイメージを変換することはできません。イメージは、カタログのリージョンにある従来のストレージアカウントのVHDにコピーされます。その後、Managed Disksに変換されて戻されます。

カタログ作成ウィザードの [ストレージとライセンスの種類] ページで、Managed Disksの代わりに従来のストレージアカウントを使用するチェックボックスをオンにすることもできますこのチェックボックスは、Managed DisksをサポートしていないAzureリージョンでプロビジョニングしている場合は無効になっています。

Azure Resource Managerへの接続の作成

接続の作成と管理」では接続を作成するためのウィザードについて説明しています。以下の情報は、Azure Resource Managerの接続に固有の詳細を扱っています。

注意事項:

  • サービスプリンシパルには、サブスクリプションの投稿者の役割が付与されている必要があります。
  • 最初の接続を作成するときに、必要な権限付与を求めるプロンプトがAzureで表示されます。その後の接続でも認証は必要ですが、Azureでは以前の同意が記憶され、このプロンプトは再表示されません。
  • 認証に使用されるアカウントは、サブスクリプションの共同管理者である必要があります。
  • 認証に使用されるアカウントは、サブスクリプションのディレクトリのメンバーである必要があります。注意すべき2つのタイプのアカウントがあります。「職場または学校」と「個人用Microsoftアカウント」です。詳しくは、CTX219211を参照してください。
  • 既存のMicrosoftアカウントは、サブスクリプションのディレクトリのメンバーとして追加することで使用できますが、ユーザーが以前にそのディレクトリのリソースのいずれかへのゲストアクセスを許可されていた場合は、複雑になる可能性があります。この場合、必要な権限を与えないディレクトリにプレースホルダーエントリが存在し、エラーが返されることがあります。

    ディレクトリからリソースを削除してこれを修正し、明示的に追加し直します。ただし、そのアカウントがアクセスできる他のリソースに対して意図しない影響を与えるため、このオプションは注意深く実行してください。

  • 特定のアカウントが実際にメンバーであるときにディレクトリゲストとして検出されるという既知の問題があります。これは、通常、古い確立済みのディレクトリアカウントで発生します。回避策:アカウントをディレクトリに追加します。これにより適切なメンバーシップ値が取得されます。
  • リソースグループはリソースのコンテナにすぎず、そのリージョン以外のリージョンのリソースを含む場合があります。これが原因で、リソースグループのリージョンに表示されているリソースを利用できると期待した場合に、混乱を招く可能性があります。
  • ネットワークとサブネットが、必要な数のマシンをホストするのに十分な大きさであることを確認してください。これには多少先見の明が必要ですが、Microsoftが、アドレススペースの容量に関するガイダンスを示して、適切な値を指定できるようサポートします。

Azureへのホスト接続は、次の2つの方法で確立できます:

  • Azureに認証してサービスプリンシパルを作成する。
  • 以前作成されたサービスプリンシパルからの詳細を使ってAzureに接続する。

サービスプリンシパルの作成

重要:

この機能は、Azure ChinaおよびAzure Germanyのサブスクリプションではまだ利用できません。

開始する前に、Azureに認証します。次のことを確認します:

  • サブスクリプションのAzure Active Directoryテナントにユーザーアカウントがあること。
  • Azure ADのユーザーアカウントが、リソースのプロビジョニングに使用するAzureサブスクリプションの共同管理者でもあること。
  • 認証には、グローバル管理者権限が必要です。

Azureに認証してサービスプリンシパルを作成すると、Azureにアプリケーションが登録されます。登録されたアプリケーションの秘密キー(クライアントシークレット)が作成されます。

アプリケーションIDを表示するには、Azure Portalにサインインして、[Azure Active Directory]>[App registrations]>[All applications] に移動します。このコンソール([Manage] タブ)で登録したアプリケーションの名前には、「citrix-xd-」というプレフィックスが付きます。

AzureでのアプリケーションID

アプリケーションのクライアントシークレットを表示するには、[All Applications]タブのアプリケーションをクリックし、[Certificates & secrets]>[Client secrets]に移動します。

Azureでのクライアントシークレット

このコンソールを介して作成されたクライアントシークレットは、2年後に期限切れになります。登録されたアプリケーションは、クライアントシークレットを使用してAzure ADに認証します。有効期限が切れる前に、必ずクライアントシークレットを変更してください。変更するには、次の手順を実行します:

  1. Azureで [Azure Active Directory] を選択します。

  2. Azure ADの [App registrations] でアプリケーションを選択します。

  3. [Certificates & secrets] を選択します。

  4. [Client secrets]>[New client secret] を選択します。

  5. シークレットの説明を入力し、期間を指定します。完了したら、[Add]を選択します。

    注:

    クライアントシークレットは後で取得できないため、必ず保存してください。

  6. クライアントシークレット値をコピーします。

  7. コンソールで、対応する接続を編集し、[アプリケーションシークレット]フィールドの内容をコピーした値に置き換えます。

Azureに認証してサービスプリンシパルを作成するには、接続およびリソースの追加ウィザードで次の手順を実行します:

  1. [接続] ページで [新しい接続を作成する] を選択します。次に、接続の種類として [Microsoft Azure] を選択し、Azure環境を選択します。

  2. 仮想マシンの作成にどのツールを使用するかを選択し、[次へ]を選択します。

  3. [接続の詳細] ページで、AzureサブスクリプションIDと接続の名前を入力します。サブスクリプションIDを入力すると、[新規作成]ボタンが有効になります。

    注:

    接続名は1~64文字にし、空白スペースのみにしたり記号(\/;:#.*?=<>|[]{}"'()')を含めたりすることはできません。

  4. [新規作成] を選択してから、Azure Active Directoryアカウントのユーザー名とパスワードを入力します。

  5. [サインイン] を選択します。

  6. [承認] を選択して、表示された権限をCitrix Virtual Apps and Desktopsに付与します。Citrix Virtual Apps and Desktopsによって、指定されたユーザーの代わりにAzureリソースを管理することを許可するサービスプリンシパルが作成されます。

  7. [承認] を選択すると、ウィザードの [接続] ページに戻ります。

    注:

    Azureへの認証に成功すると、[新規作成]ボタンと [既存を使用] ボタンが表示されなくなります。緑色のチェックマークが付いた「接続に成功しました」というテキストが表示され、これはAzureサブスクリプションへの接続に成功したことを示します。

  8. [接続の詳細] ページで、[次へ]を選択します。

    注:

    Azureへの認証が完了し、必要な権限の付与に同意しない限り、次のページに進むことはできません。

  9. 接続用のリソースを構成します。リソースには領域とネットワークが含まれます。

    • [リージョン] ページで領域を選択します。
    • [ネットワーク] ページで、次の手順を実行します:
      • 1~64文字のリソース名を入力して、リージョンとネットワークの組み合わせを特定できるようにします。リソース名は、空白のみにしたり記号(\/;:#.*?=<>|[]{}"'()')を含めたりすることはできません。
      • 仮想ネットワークとリソースグループのペアを選択します。(複数の仮想ネットワークを同じ名前にする場合、ネットワーク名とリソースグループをペアリングすると一意の組み合わせになります。)前のページで選択したリージョンに仮想ネットワークがない場合は、前のページに戻って仮想ネットワークのあるリージョンを選択します。
  10. [概要] ページで、設定の概要を表示し、[完了]を選択してセットアップを完了します。

以前作成されたサービスプリンシパルからの詳細を使ってAzureに接続する

手動でサービスプリンシパルを作成するには、Azure Resource Managerサブスクリプションに接続して、後述のPowerShellコマンドレットを使用します。

前提条件:

  • $SubscriptionId: VDAをプロビジョニングするサブスクリプションのAzure Resource Manager SubscriptionID
  • $AADUser: サブスクリプションのADテナントに対するAzure ADユーザーアカウント。$AADUserをサブスクリプションの共同管理者にしてください。
  • $ApplicationName: Azure AD内で作成されるアプリケーションの名前。
  • $ApplicationPassword: アプリケーションのパスワード。このパスワードは、ホスト接続を作成するときのアプリケーションシークレットとして使用します。

サービスプリンシパルを作成するには、次の手順に従ってください。

  1. Azure Resource Managerサブスクリプションに接続します。

    Connect-AzAccount

  2. サービスプリンシパルを作成するAzure Resource Managerサブスクリプションを選択します。

    Select-AzSubscription -SubscriptionID $SubscriptionId;

  3. ADテナントでアプリケーションを作成します。

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -HomePage "https://localhost/$ApplicationName" -IdentifierUris https://$ApplicationName -Password $ApplicationPassword

  4. サービスプリンシパルを作成します。

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.ApplicationId

  5. サービスプリンシパルに役割を割り当てます。

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.ApplicationId –scope /subscriptions/$SubscriptionId

  6. PowerShellコンソールの出力ウィンドウから、ApplicationIdをメモします。このIDは、ホスト接続を作成するときに使用します。

接続およびリソースの追加ウィザードで以下を行います:

  1. [接続] ページで [新しい接続を作成する] を選択します。次に、接続の種類として [Microsoft Azure] を選択し、Azure環境を選択します。

  2. 仮想マシンの作成にどのツールを使用するかを選択し、[次へ]を選択します。

  3. [接続の詳細] ページで、AzureサブスクリプションIDと接続の名前を入力します。

    注:

    接続名は1~64文字にし、空白スペースのみにしたり記号(\/;:#.*?=<>|[]{}"'()')を含めたりすることはできません。

  4. [既存を使用] を選択します。[既存のサービスプリンシパルの詳細] ウィンドウで、既存のサービスプリンシパルに次の設定を入力します。詳細を入力すると、[保存]ボタンが有効になります。[保存] を選択します。有効な詳細を入力しない限り、このページの先には進めません。

    • サブスクリプションID。AzureサブスクリプションIDを入力します。サブスクリプションIDを取得するには、Azure Portalにサインインし、[Subscriptions]>[Overview]に移動します。
    • Active Directory ID(テナントID)。Azure ADに登録したアプリケーションのディレクトリ(テナント)IDを入力します。
    • アプリケーションID。Azure ADに登録したアプリケーションのアプリケーション(クライアント)IDを入力します。
    • アプリケーションシークレット。秘密キー(クライアントシークレット)を作成します。登録されたアプリケーションは、キーを使用してAzure ADへの認証を行います。セキュリティのために、キーを定期的に変更することをお勧めします。後でキーを取得することはできないため、必ずキーを保存してください。
    • 認証URL。このフィールドは自動的に入力され、編集できません。
    • 管理URL。このフィールドは自動的に入力され、編集できません。
    • ストレージのサフィックス。このフィールドは自動的に入力され、編集できません。
  5. [保存] を選択すると、[接続の詳細]ページに戻ります。[次へ] を選択して、次のページに進みます。

  6. 接続用のリソースを構成します。リソースには領域とネットワークが含まれます。

    • [リージョン] ページで領域を選択します。
    • [ネットワーク] ページで、次の手順を実行します:
      • 1~64文字のリソース名を入力して、リージョンとネットワークの組み合わせを特定できるようにします。リソース名は、空白のみにしたり記号(\/;:#.*?=<>|[]{}"'()')を含めたりすることはできません。
      • 仮想ネットワークとリソースグループのペアを選択します。(複数の仮想ネットワークを同じ名前にする場合、ネットワーク名とリソースグループをペアリングすると一意の組み合わせになります。)前のページで選択したリージョンに仮想ネットワークがない場合は、前のページに戻って仮想ネットワークのあるリージョンを選択します。
  7. [概要] ページで、設定の概要を表示し、[完了]を選択してセットアップを完了します。

Azure Resource Managerイメージを使用してマシンカタログを作成する

以下の情報は、「マシンカタログの作成」のガイダンスを補完する情報です。

イメージは、マシンカタログの仮想マシンの作成に使用されることになるテンプレートです。マシンカタログを作成する前に、Azure Resource Managerでイメージを作成します。イメージの一般的な情報については、「マシンカタログの作成」を参照してください。

マシンカタログ作成ウィザードで次の操作を行います:

  • [オペレーティングシステム] ページと [マシン管理] ページには、Azure固有の情報は含まれていません。記事「マシンカタログの作成」のガイダンスに従います。

  • [マスターイメージ] ページで、リソースグループを選択してからコンテナ内を移動(ドリルダウン)して、イメージとして使用するAzure VHDまたはAzure ImageVersionへのShared Image Galleryに移動します。VHDまたはImageVersionには、Citrix VDAがインストールされている必要があります。VHDが仮想マシン(VM)に接続されている場合は、VMを停止します。

  • [ストレージとライセンスの種類] ページは、Azure Resource Managerイメージを使用しているときのみ表示されます。

    [ストレージとライセンスの種類]ページ

    マシンカタログに使用するストレージタイプは次のとおりです:

    • プレミアムSSD:I/Oを多用するワークロードを持つVMに適した、高性能かつ低遅延のディスクストレージオプションを提供します。
    • 標準SSD:低IOPSレベルで安定したパフォーマンスを必要とするワークロードに適した、コスト効率の高いストレージオプションを提供します。Azure IDディスクは、常に標準SSDを使用して作成されます。
    • 標準HDD:遅延の影響を受けないワークロードを実行しているVMに対して、信頼性の高い低コストのディスクストレージオプションを提供します。

    ストレージの種類によって、ウィザードの [仮想マシン] ページに表示されるマシンのサイズが変わります。MCSは、ローカル冗長ストレージ(LRS)を使用するようにプレミアムディスクと標準ディスクを構成します。LRSは、単一のデータ センター内でデータの複数の同期コピーを作成します。Azureのストレージの種類およびストレージの複製について詳しくは、以下のドキュメントを参照してください:

    既存のWindowsライセンスを使用するかを選択します。WindowsライセンスとWindowsイメージ(Azureプラットフォームのサポートイメージまたはカスタムイメージ)を使用すると、AzureでWindows VMを低コストで実行できます。ライセンスには次の2種類があります:

    • Windows Serverライセンス。Windows ServerライセンスまたはAzure Windows Serverライセンスを使用できます。これにより、Azureハイブリッド特典を使用できます。詳しくは、「https://azure.microsoft.com/en-us/pricing/hybrid-benefit/」を参照してください。Azureハイブリッド特典を使用すると、AzureギャラリーからのWindows Server追加ライセンス料金が不要になるため、Azureでの仮想マシン実行コストを基本計算料金のみに抑えられます。

    • Windowsクライアントライセンス。Windows 10ライセンスをAzureに移行できるため、追加のライセンスなしでWindows 10 VMをAzureで実行できます。詳しくは、「クライアントアクセスライセンスと管理ライセンス」を参照してください。

    注:

    Windowsクライアントライセンスのオプションは、マシンカタログのセットアップ時に選択するオペレーティングシステムによって異なります。[マルチセッションOS] を選択した場合、オプションは [自分のWindows 10ライセンスを使用する] が表示されます。[シングルセッションOS] を選択した場合、オプションは [自分のWindowsクライアントライセンスを使用する] が表示されます。

    プロビジョニングされた仮想マシンがライセンス特典を使用していることを確認するには、次のPowerShellコマンドを実行します:Get-AzM -ResourceGroup MyResourceGroup -Name MyVM

    または、Get-Provscheme PowerShell SDKを使用して確認することもできます。例:Get-Provscheme -ProvisioningSchemeName "My Azure Catalog"。このコマンドレットについて詳しくは、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Get-ProvScheme/を参照してください。

    デフォルトでは、カタログ内のVMにはAzure Managed Disksが使用されます。代わりに通常のストレージアカウントを使用する場合は、ページの下部にあるチェックボックスをオンにします。[このカタログのVMにはAzure Managed Disksではなく管理対象外ディスクを使用する] チェックボックスは、従来のコンソールでのみ使用できます。

    AzureのShared Image Gallery(SIG)は、画像を管理および共有するためのリポジトリです。これにより、組織全体で画像を利用できるようになります。大規模な永続的でないマシンカタログを作成する場合は、よりすばやくVDA OSディスクをリセットできるため、イメージをSIGに保存することをお勧めします。[AzureのShared Image Galleryにイメージを格納する] チェックボックスは、Webベースのコンソールでのみ使用できます。

  • [仮想マシン] ページで、作成する仮想マシンの数を指定します。少なくとも1つは指定してください。マシンのサイズを選択します。カタログを作成した後で、マシンのサイズを変更することはできません。後で他のサイズに変更したくなった場合は、カタログを削除してから、同じイメージを使用したカタログを作成し、希望のマシンサイズを指定します。

    [ストレージとライセンスの種類] ページで [AzureのShared Image Galleryにイメージを格納する] チェックボックスをオンにすると、[AzureのShared Image Gallery]セクションが表示され、追加のSIG設定を指定できます:

    • イメージレプリカに対する仮想マシンの比率。Azureで保持するイメージレプリカに対する仮想マシンの比率を指定できます。デフォルトでは、Azureは40台の非永続的なマシンごとに1つのイメージレプリカを保持します。永続マシンの場合、その数はデフォルトで1,000になります。

    • 最大レプリカ数。Azureで保持するイメージレプリカの最大数を指定できます。デフォルトは10です。

仮想マシンの名前に、ASCII以外の文字や特殊文字を含めることはできません。

  • (MCSを使用する場合)[リソースグループ] ページで、リソースグループを作成するか、既存のグループを使用するかを選択します。
    • リソースグループを作成する場合は、[次へ] を選択します。
    • 既存のリソースグループを使用する場合は、[使用可能なプロビジョニングリソースグループ]ボックスの一覧からグループを選択します。注意事項:カタログで作成しているマシンを収容するのに十分なグループを選択してください。選択が少なすぎると、メッセージが表示されます。後でカタログにさらにVMを追加する予定がある場合は、必要最小限よりも多く選択しておくことをお勧めします。カタログが作成された後、カタログにリソースグループをさらに追加することはできません。

    詳しくは、「Azureリソースグループ」を参照してください。

  • [ネットワークカード]ページ、[コンピューターアカウント]ページ、および[概要]ページには、Azure固有の情報は含まれていません。記事「マシンカタログの作成」のガイダンスに従います。

ウィザードを完了します。

Azureの調整

Azure Resource Managerはサブスクリプションおよびテナントの要求を調整し、プロバイダーの特定のニーズに対応して定義された制限を基にルーティングします。詳しくは、Microsoft社のサイトのResource Managerの要求のスロットルを参照してください。制限は、サブスクリプションやテナントで多数のマシンの管理が問題となりうる場合に存在します。たとえば、多数のマシンを含むサブスクリプションは、電源操作に関連してパフォーマンスの問題が発生することがあります。

ヒント:

詳しくは、「Machine Creation ServicesによるAzureのパフォーマンスの向上」を参照してください。

Citrix Virtual Apps and Desktopsサービスでは、これらの問題の影響を軽減するためにMCS内部の調整を削除して、より高い値のAzureの要求クォータを利用することができます。

大量のサブスクリプション(1000台の仮想マシンを含む場合など)で仮想マシンをオンまたはオフにする場合、次の最適設定をお勧めします:

  • 絶対同時操作 - 500
  • 1分あたりの最大新規操作 - 2000
  • 最大同時操作 - 500

完全な構成インターフェイスを使用して、指定のホスト接続でAzure操作を構成します:

  1. [管理]>[完全な構成] の左側ペインで [ホスト] を選択します。
  2. Azure関連の接続を選択して編集します。
  3. [接続の編集] 画面で [詳細設定] を選択します。
  4. [詳細設定] 画面で構成オプションを使用し、同時操作の数、仮想ディスクの同時更新、1分あたりの最大新規操作、その他追加の接続オプションを指定します。

Azureの調整

MCSは、デフォルトで最大500の同時操作をサポートします。以下のPowerShell情報を使用して、同時操作の最大数を設定できます。

PowerShellプロパティMaximumConcurrentProvisioningOperationsを使用して、同時Azureプロビジョニング操作の最大数を指定します。プロビジョニングスキームでこのプロパティを使用する場合は、次のことを考慮してください:

  • MCSは、デフォルトで最大500の同時操作をサポートしており、これにはカスタムプロパティパラメーターMaximumConcurrentProvisioningOperationsを使用します。
  • PowerShellコマンドSet-ProvSchemeを使用してMaximumConcurrentProvisioningOperationsパラメーターを構成します。

Azureリソースグループ

Azureプロビジョニングのリソースグループは、アプリケーションとデスクトップをユーザーに提供するVMをプロビジョニングする方法を提供します。MCSマシンカタログを作成するときに既存の空のAzureリソースグループを追加するか、新しいリソースグループを作成することができます。Azureリソースグループについて詳しくは、「Microsoft社のドキュメント」を参照してください。

Azureリソースグループの使用

Azureリソースグループごとの仮想マシン、管理対象ディスク、スナップショット、およびイメージの数に制限はありません(Azureリソースグループごとに仮想マシンは240、管理対象ディスクは800という数の制限はなくなりました)。

  • フルスコープのサービスプリンシパルを使用してマシンカタログを作成する場合、MCSは1つのAzureリソースグループのみを作成し、カタログのこのグループを使用します。
  • スコープの狭いサービスプリンシパルを使用してマシンカタログを作成する場合、事前に作成された空のAzureリソースグループを指定する必要があります。

Azureエフェメラルディスク

Azureエフェメラルディスクを使用すると、キャッシュディスクを再利用して、Azure対応の仮想マシンのOSディスクを保存できます。この機能は、標準のHDDディスクよりも高性能のSSDディスクを必要とするAzure環境で役立ちます。エフェメラルディスクを使用するには、New-ProvSchemeを実行するとき、カスタムプロパティUseEphemeralOsDisktrueに設定する必要があります。

注:

カスタムプロパティUseEphemeralOsDiskfalseに設定されているか、値が指定されていない場合、プロビジョニングされたすべてのVDAは引き続きプロビジョニングされたOSディスクを使用します。

以下は、プロビジョニングスキームで使用するカスタムプロパティのセットの例です:

"CustomProperties": [
            {
                "Name": "UseManagedDisks",
                "Value": "true"
            },
            {
                "Name": "StorageAccountType",
                "Value": "Standard_LRS"
            },
            {
                "Name": "UseSharedImageGallery",
                "Value": "true"
            },
            {
                "Name": "SharedImageGalleryReplicaRatio",
                "Value": "40"
            },
            {
                "Name": "SharedImageGalleryReplicaMaximum",
                "Value": "10"
            },
            {
                "Name": "LicenseType",
                "Value": "Windows_Server"
            },
            {
                "Name": "UseEphemeralOsDisk",
                "Value": "true"
            }
        ],
<!--NeedCopy-->

エフェメラルOSディスクを使用してマシンを作成する方法

エフェメラルOSディスクは、CustomPropertiesパラメーターのUseEphemeralOsDiskプロパティに基づいて制御されます。

エフェメラルディスクに関する重要な考慮事項

New-ProvSchemeを使用してエフェメラルOSディスクのプロビジョニングを使用するには、次の制約を考慮してください:

  • カタログ(サービスオファリング)に使用されるVMサイズは、エフェメラルOSディスクをサポートする必要があります。
  • VMサイズで表されるキャッシュディスクサイズは、OSディスクのサイズ以上である必要があります。

次の場合にも、これらの問題を考慮してください:

  • プロビジョニングスキームを作成する場合。
  • プロビジョニングスキームを変更する場合。
  • イメージを更新する場合。

Azureサーバー側暗号化

Citrix Virtual Apps and Desktopsサービスは、Azure Key Vaultを使用してAzure Managed Disksの顧客が管理する暗号化キーをサポートします。このサポートにより、独自の暗号化キーを使用してマシンカタログの管理対象ディスクを暗号化して、組織およびコンプライアンスの要件を管理できます。詳しくは、「Azure Disk Storageのサーバー側暗号化」を参照してください。

管理対象ディスクにこの機能を使用する場合:

  • ディスクが暗号化されているキーを変更するには、DiskEncryptionSetの現在のキーを変更します。DiskEncryptionSetに関連付けられているすべてのリソースは、新しいキーで暗号化されるように変更されます。

  • キーを無効にするか削除すると、そのキーを使用するディスクのあるVMはすべて自動的にシャットダウンします。シャットダウン後、キーを再度有効にするか、新しいキーを割り当てない限り、VMは使用できません。このキーを使用するカタログの電源をオンにすることはできません。また、VMをカタログに追加することもできません。

顧客が管理する暗号化キーを使用する場合の重要な考慮事項

この機能を使用するときは、次のことに注意してください。

  • 顧客が管理するキーに関連するすべてのリソース(Azure Key Vault、ディスク暗号化セット、VM、ディスク、スナップショット)は、同じサブスクリプションとリージョンに配置される必要があります。

  • 顧客が管理する暗号化キーを有効にすると、後で無効にすることはできません。顧客が管理する暗号化キーを無効にする、または削除する場合は、顧客が管理する暗号化キーを使用していない別の管理対象ディスクにすべてのデータをコピーします。

  • サーバー側暗号化と顧客が管理するキーを使用して暗号化されたカスタムイメージから作成されたディスクは、同じ顧客が管理するキーを使用して暗号化する必要があります。これらのディスクは同じサブスクリプションでカバーされる必要があります。

  • サーバー側暗号化と顧客が管理するキーを使用して暗号化されたディスクから作成されたスナップショットは、同じ顧客が管理するキーを使用して暗号化する必要があります。

  • 顧客が管理するキーで暗号化されたディスク、スナップショット、イメージは、別のリソースグループおよびサブスクリプションに移動できません。

  • Azure Disk Encryptionを使用して現在暗号化されている、または以前に暗号化された管理対象ディスクは、顧客が管理するキーを使用して暗号化することはできません。

  • サブスクリプションごとに、リージョンあたり最大50のディスク暗号化セットのみを作成できます。

注:

Azureサーバー側暗号化の構成については、クイックスタート:Azureポータルを使用してキーコンテナを作成するを参照してください。

AzureでMCSプロビジョニングされたマシンの公開イメージリポジトリとしてAzure Shared Image Galleryを使用します。公開イメージをギャラリーに保存して、OSディスクの作成とハイドレーションを高速化し、非永続仮想マシンの起動時間とアプリケーションの起動時間を改善できます。Shared Image Galleryには、次の3つの要素が含まれています:

  • ギャラリー。イメージはここに保存されます。MCSは、マシンカタログごとに1つのギャラリーを作成します。
  • ギャラリーイメージの定義。この定義には、公開イメージに関する情報(オペレーティングシステムの種類と状態、Azureリージョン)が含まれます。MCSは、カタログ用に作成されたイメージごとに1つのイメージ定義を作成します。
  • ギャラリーイメージバージョン。Shared Image Galleryの各イメージには複数のバージョンを含めることができ、各バージョンには異なるリージョンに複数のレプリカを含めることができます。各レプリカは、公開イメージの完全なコピーです。Citrix Virtual Apps and Desktopsサービスでは、カタログ内のマシン数、構成されたレプリカの比率、および構成されたレプリカの最大数に基づき、カタログのリージョンにおいて適切なレプリカ数を持つ各イメージに対して、Standard_LRSイメージバージョン(バージョン1.0.0)が1つ作成されます。

注:

Shared Image Gallery機能は、管理対象ディスクでのみ機能します。従来のマシンカタログでは使用できません。

詳しくは、「Azure Shared Image Galleryの概要」を参照してください。

Shared Image Galleryを構成する

New-ProvSchemeコマンドを使用することで、Shared Image Galleryをサポートする新しいプロビジョニングスキームを作成できます。Set-ProvSchemeコマンドでは、プロビジョニングスキームでのこの機能の有効化または無効化と、レプリカの比率およびレプリカの最大値の変更が可能です。

Shared Image Gallery機能をサポートするために、プロビジョニングスキームに3つのカスタムプロパティが追加されました:

UseSharedImageGallery

  • Shared Image Galleryを使用して公開イメージを保存するかどうかを定義します。Trueに設定すると、イメージはShared Image Galleryイメージとして保存されます。Trueに設定しない場合、イメージはスナップショットとして保存されます。
  • 有効な値は、TrueおよびFalseです。
  • プロパティが定義されていない場合、デフォルト値はFalseです。

SharedImageGalleryReplicaRatio

  • ギャラリーイメージバージョンのレプリカに対するマシンの比率を定義します。
  • 有効な値は、0より大きい整数です。
  • プロパティが定義されていない場合は、デフォルト値が使用されます。永続OSディスクのデフォルト値は1000であり、非永続OSディスクのデフォルト値は40です。

SharedImageGalleryReplicaMaximum

  • 各ギャラリーイメージバージョンのレプリカの最大数を定義します。
  • 有効な値は、0より大きい整数です。
  • プロパティが定義されていない場合、デフォルト値は10です。
  • Azureは現在、ギャラリーイメージの単一バージョンに対して最大10個のレプリカをサポートしています。プロパティがAzureでサポートされている値よりも大きい値に設定されている場合、MCSは指定された値を使用しようとします。Azureはエラーを生成し、MCSログでは現在のレプリカ数が変更されずに残ります。

ヒント:

Shared Image Galleryを使用してMCSプロビジョニングされたカタログの公開イメージを保存する場合、MCSは、カタログ内のマシンの数、レプリカの比率、およびレプリカの最大数に基づいて、ギャラリーイメージバージョンのレプリカ数を設定します。レプリカ数は、カタログ内のマシンの数をレプリカ比率(最も近い整数値に切り上げ)で除算し、最大レプリカ数で値を制限することによって計算されます。たとえば、レプリカの比率が20で最大5の場合、0〜20台のマシンで1つのレプリカが作成され、21〜40台で2つ、41〜60台で3つ、61〜80台で4つ、81台以上で5つのレプリカが作成されます。

ユースケース:Shared Image Galleryのレプリカ比率とレプリカの最大値を更新する

既存のマシンカタログはShared Image Galleryを使用します。Set-ProvSchemeコマンドを使用して、カタログ内の既存のすべてのマシンおよび将来のマシンのカスタムプロパティを更新します:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageAccountType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

ユースケース:スナップショットカタログをShared Image Galleryカタログに変換する

このユースケースの場合:

  1. UseSharedImageGalleryフラグをTrueに設定してSet-ProvSchemeを実行します。オプションで、SharedImageGalleryReplicaRatioおよびSharedImageGalleryReplicaMaximumプロパティを含めます。
  2. カタログを更新します。
  3. マシンの電源を入れ直して、強制的に更新します。

次に例を示します:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageAccountType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

ヒント:

パラメーターSharedImageGalleryReplicaRatioおよびSharedImageGalleryReplicaMaximumは必須ではありません。Set-ProvSchemeコマンドが完了した後、Shared Image Galleryイメージはまだ作成されていません。ギャラリーを使用するようにカタログを構成すると、次回のカタログ更新操作で公開イメージがギャラリーに保存されます。カタログ更新コマンドは、ギャラリー、ギャラリーイメージ、およびイメージバージョンを作成します。マシンの電源を入れ直すとマシンが更新されます。その時、必要に応じてレプリカ数が更新されます。それ以降、既存のすべての非永続マシンはShared Image Galleryイメージを使用してリセットされ、新しくプロビジョニングされたすべてのマシンはイメージを使用して作成されます。古いスナップショットは、数時間以内に自動的にクリーンアップされます。

ユースケース:Shared Image Galleryカタログをスナップショットカタログに変換する

このユースケースの場合:

  1. UseSharedImageGalleryフラグをFalseに設定するか、定義せずにSet-ProvSchemeを実行します。
  2. カタログを更新します。
  3. マシンの電源を入れ直して、強制的に更新します。

次に例を示します:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageAccountType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="False"/></CustomProperties>'
<!--NeedCopy-->

ヒント:

スナップショットからShared Image Galleryカタログへの更新とは異なり、各マシンのカスタムデータは、新しいカスタムプロパティを反映するようにまだ更新されていません。次のコマンドを実行して、元のShared Image Galleryのカスタムプロパティを表示します:Get-ProvVm -ProvisioningSchemeName catalog-nameSet-ProvSchemeコマンドが完了した後、イメージスナップショットはまだ作成されていません。ギャラリーを使用しないようにカタログを構成すると、次回のカタログ更新操作で公開イメージがスナップショットとして保存されます。その時点から、既存のすべての非永続マシンはスナップショットを使用してリセットされ、新しくプロビジョニングされたすべてのマシンはスナップショットから作成されます。マシンの電源を入れ直すと更新され、その時カスタムマシンデータが更新されて、UseSharedImageGalleryFalseに設定されていることが反映されます。古いShared Image Galleryアセット(ギャラリー、画像、バージョン)は、数時間以内に自動的にクリーンアップされます。

指定されたアベイラビリティゾーンへのマシンのプロビジョニング

Azure環境の特定のアベイラビリティゾーンにマシンをプロビジョニングできます。これは、完全な構成インターフェイスまたはPowerShellを使用して実行できます

(従来のコンソールを使用する場合は、PowerShellを使用する必要があります)。

注:

ゾーンが指定されていない場合、MCSはAzureにマシンをリージョン内に配置させます。複数のゾーンが指定されている場合、MCSはマシンをそれらにランダムに分散します。

完全な構成インターフェイスを使用したアベイラビリティゾーンの構成

マシンカタログを作成するときに、マシンをプロビジョニングするアベイラビリティゾーンを指定できます。[仮想マシン] ページで、マシンを作成するアベイラビリティゾーンを1つ以上選択します。

アベイラビリティゾーンが使用できない理由は2つあります:リージョンにアベイラビリティゾーンがないか、選択したマシンサイズが使用できないことです。

PowerShellを使用したアベイラビリティゾーンの構成

PowerShellを使用する場合、Get-Itemでサービスオファリングのインベントリアイテムを表示できます。たとえば、米国東部リージョン Standard_B1lsのサービスオファリングを表示するには、以下を実行します:

$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->

ゾーンを表示するには、アイテムのAdditionalDataパラメーターを使用します:

$serviceOffering.AdditionalData

アベイラビリティゾーンが指定されていない場合、マシンのプロビジョニング方法に変更はありません。

PowerShellを使用してアベイラビリティゾーンを構成するには、New-ProvScheme操作で、使用可能なZonesカスタムプロパティを使用します。Zonesプロパティは、マシンをプロビジョニングするアベイラビリティゾーンの一覧を定義します。これらのゾーンには、1つまたは複数のアベイラビリティゾーンを含めることができます。たとえば、Zones 1と3の場合は、<Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/> のようになります。

Set-ProvSchemeコマンドを使用して、プロビジョニングスキームのゾーンを更新します。

無効なゾーンが指定された場合、プロビジョニングスキームは更新されず、無効なコマンドを修正する方法を示すエラーメッセージが表示されます。

ヒント:

無効なカスタムプロパティを指定すると、プロビジョニングスキームは更新されず、関連するエラーメッセージが表示されます。

Azureエフェメラルディスク

Azureエフェメラルディスクを使用すると、キャッシュディスクを再利用して、Azure対応の仮想マシンのOSディスクを保存できます。この機能は、標準のHDDディスクよりも高性能のSSDディスクを必要とするAzure環境で役立ちます。

注:

永続カタログでは、エフェメラルOSディスクはサポートされていません。また、この機能を使用する場合は、パフォーマンスの高いディスクに追加のコストがかかることを考慮してください。追加の管理対象ディスクにお金を払う代わりに、キャッシュディスクを再利用してOSディスクを保存すると便利です。

エフェメラルOSディスクでは、プロビジョニングスキームで管理対象ディスクとShared Image Galleryを使用する必要があります。詳しくは、「Azure Shared Image Gallery」を参照してください。

PowerShellを使用してエフェメラルディスクを構成する

カタログのAzureエフェメラルOSディスクを構成するには、Set-ProvSchemeUseEphemeralOsDiskパラメーターを使用します。UseEphemeralOsDiskパラメーターの値を「true」に設定します。

注:

この機能を使用するには、パラメーターのUseManagedDisksUseSharedImageGalleryも有効にする必要があります。

次に例を示します:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="UseEphemeralOsDisk" Value="true" />
</CustomProperties>'
<!--NeedCopy-->

ストレージの種類

MCSを使用するAzure環境の仮想マシン用に異なるストレージの種類を選択します。ターゲットVMの場合、MCSは以下をサポートします:

  • OSディスク:プレミアムSSD、SSDまたはHDD
  • ライトバックキャッシュディスク:プレミアムSSD、SSD、またはHDD

これらのストレージの種類を使用するときは、次の点を考慮してください:

  • VMが選択したストレージの種類をサポートしていることを確認してください。
  • 構成がAzureエフェメラルディスクを使用している場合、ライトバックキャッシュを有効にすると、常に標準HDDストレージが使用されます。ライトバックキャッシュを使用して実装するためには、CustomProperties内のWBCDiskStorageTypeパラメーターを有効にします。WBCDiskStorageTypeパラメーターを指定しない場合、StorageAccountTypeはデフォルト値を使用します。

ヒント:

StorageAccountTypeは、OSタイプとストレージアカウント用に構成されています。WBCDiskStorageTypeは、ライトバックキャッシュのストレージの種類用に構成されています。通常のカタログの場合、StorageAccountTypeが必要です。WBCDiskStorageTypeが構成されていない場合は、WBCDiskStorageTypeのデフォルトとしてStorageAccountTypeが使用されます。

WBCDiskStorageTypeが構成されていない場合、StorageAccountTypeがWBCDiskStorageTypeのデフォルトとして使用されます

ストレージの種類の構成

VM用のストレージの種類を構成するには、New-ProvSchemeStorageAccountTypeパラメーターを使用します。StorageAccountTypeパラメーターの値を、いずれかのサポートされているストレージの種類に設定します。

以下は、プロビジョニングスキームで使用するCustomPropertiesパラメーターのセットの例です:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>'
<!--NeedCopy-->

要件

  • Citrix Virtual Apps and DesktopsサービスでMCSカタログごとにリソースグループを作成する場合は、ホスト接続に関連付けられているAzureサービスプリンシパルに、リソースグループの作成と削除ができる権限が必要です。Citrix Virtual Apps and Desktopsサービスで既存の空のリソースグループを使用する場合は、ホスト接続に関連付けられているAzureサービスプリンシパルに、それらの空のリソースグループでの投稿者の権限が必要です。
  • [新規作成] オプションを使用してホスト接続を作成すると、作成したサービスプリンシパルにサブスクリプションスコープの投稿権限が設定されます。または、[既存を使用]オプションを使用して接続を作成し、既存のサブスクリプションスコープのサービスプリンシパルの詳細を指定することもできます。[新規作成] オプションを使用して完全な構成インターフェイスでサービスプリンシパルを作成する場合、新しいリソースグループの作成と削除、または既存の空のリソースグループへのプロビジョニングに必要な権限が設定されます。
  • スコープが狭いサービスプリンシパルは、PowerShellを使用して作成する必要があります。また、スコープが狭いサービスプリンシパルを使用するときは、PowerShellまたはAzure Portalを使用して、MCSがVMをプロビジョニングする各カタログのために、ホスト接続と同じリージョンに空のリソースグループを作成する必要があります。手順については、ブログ記事(https://www.citrix.com/blogs/2016/11/09/azure-role-based-access-control-in-xenapp-xendesktop/)を参照してください。

ホスト接続にスコープが狭いサービスプリンシパルを使用していて、カタログ作成ウィザードの [マスターイメージ] ページにイメージリソースグループが表示されない場合は、使用しているスコープが狭いサービスプリンシパルに、イメージリソースグループを一覧表示するための権限Microsoft.Resources/subscriptions/resourceGroups/readがないことが原因と考えられます。ウィザードを閉じ、この権限を設定してサービスプリンシパルを更新してから(手順については、ブログの投稿を参照)、ウィザードを再起動します。Azureでの更新が完全な構成インターフェイスに反映されるまで最大10分かかることがあります。

ヒント:

Azureサービスプリンシパルには、共同作成者の権限が必要です。共同作成者の権限は、完全な(サブスクリプションの)スコープ全体の共同作成者(MCSがマシンカタログのAzureリソースグループを自動的に作成する)、または、スコープが狭い共同作成者(空のAzureリソースグループを事前に作成し、それに応じて共同作成者の権限を付与する必要がある)のいずれかになります。

完全な構成インターフェイスを使用してマシンカタログのリソースグループを構成する

カタログ作成ウィザードの [リソースグループ] ページでは、リソースグループを作成するか、既存のグループを使用するかを選択できます。「Azure Resource Managerイメージを使用してマシンカタログを作成する」を参照してください。

マシンカタログを削除したときのリソースグループへの影響:マシンカタログを作成するときにCitrix Virtual Apps and Desktopsサービスでリソースグループを作成した場合は、その後でそのカタログを削除すると、それらのリソースグループとリソースグループ内のその他のリソースも削除されます。

マシンカタログを作成するときに既存のリソースグループを使用した場合は、その後でそのカタログを削除すると、それらのリソースグループのすべてのリソースは削除されますが、リソースグループは削除されません。

考慮事項と制限事項

既存のリソースグループを使用する場合、カタログ作成ウィザードの[リソースグループ]ページの使用可能なリソースグループの一覧は自動更新されません。したがって、このウィザードページを開き、Azureでリソースグループの権限を作成または追加した場合、その変更はウィザードの一覧に反映されません。最新の変更を表示するには、ウィザードの [マシン管理] ページに戻り、ホスト接続に関連するリソースを再選択します。または、ウィザードを閉じて再起動します。Azureでの変更が完全な構成インターフェイスに反映されるまで最大10分かかることがあります。

接続で、さまざまなリージョンの空のリソースグループにアクセスできるサービスプリンシパルが使用されている場合、それらはすべて利用可能な一覧に表示されます。マシンカタログを作成するリージョンと同じリージョンのリソースグループを選択してください。

トラブルシューティング

  • カタログ作成ウィザードの[リソースグループ]ページの一覧にリソースグループが表示されません。

    サービスプリンシパルで、一覧に表示するリソースグループに適切な権限が適用されていることが必要です。「要件」を参照してください。

詳細情報