Citrix DaaS™

Image Portability Service を使用したリソースロケーション間でのワークロードの移行

注:

既存のクラウド版 IPS は非推奨になりました。オンプレミス版 IPS が利用可能になりました。このオンプレミスソリューションの詳細については、ドキュメントを参照してください。

クラウド版 IPS は 2026 年 4 月 27 日にオフラインになります。その日までに新しいオンプレミス版 IPS への移行を完了してください。

ご質問や追加情報のリクエストについては、Citrix の担当者にお問い合わせください。

Image Portability Service は、プラットフォーム間でのイメージ管理を簡素化します。Citrix Virtual Apps and Desktops™ REST API を使用して、Citrix Virtual Apps and Desktops サイト内のリソース管理を自動化できます。

  • Image Portability ワークフローは、Citrix Cloud を使用して 2 つのリソースロケーション間でイメージの移行を開始すると開始されます。イメージのエクスポート後、Image Portability Service は、ターゲットのハイパーバイザーまたはパブリッククラウドで実行できるようにイメージを転送および準備するのに役立ちます。最後に、Citrix Provisioning または Machine Creation Services™ がターゲット環境にイメージをプロビジョニングします。

コンポーネント

Image Portability Service のコンポーネントは次のとおりです。

  • Citrix Cloud™ サービス
  • Citrix Credential Wallet
  • Citrix Connector™ Appliance
  • Compositing Engine VM
  • PowerShell サンプルスクリプト

Citrix Cloud サービス

Citrix Cloud Services API は、Image Portability Service と連携する REST API サービスです。REST API サービスを使用すると、Image Portability ジョブを作成および監視できます。たとえば、ディスクのエクスポートなどの Image Portability ジョブを開始するために API 呼び出しを行い、その後、ジョブのステータスを取得するために呼び出しを行います。

Citrix Credentials Wallet

Citrix Credentials Wallet サービスは、システム資格情報を安全に管理し、Image Portability Service がアセットと連携できるようにします。たとえば、vSphere から SMB 共有にディスクをエクスポートする場合、Image Portability Service は、ディスクを書き込むために SMB 共有への接続を開くための資格情報を必要とします。資格情報が Credential Wallet に保存されている場合、Image Portability Service はそれらの資格情報を取得して使用できます。

このサービスにより、資格情報を完全に管理できます。Cloud Services API はアクセスポイントとして機能し、資格情報の作成、更新、削除を可能にします。

Compositing Engine

Compositing Engine は、Image Portability Service の主要なコンポーネントです。Compositing Engine (CE) は、Image Portability のエクスポートまたは準備ジョブの開始時に作成される単一の VM です。これらの VM は、ジョブが実行されているのと同じ環境に作成されます。たとえば、vSphere からディスクをエクスポートする場合、CE は vSphere サーバー上に作成されます。同様に、Azure、AWS、または Google Cloud で準備ジョブを実行する場合、CE はそれぞれ Azure、AWS、または Google Cloud に作成されます。CE はディスクを自身にマウントし、ディスクに必要な操作を実行します。準備またはエクスポートジョブの完了後、CE VM とそのすべてのコンポーネントは削除されます。

Connector Appliance

IPS リソースを管理するためのプロバイダーソフトウェアを実行する Connector Appliance は、お客様の環境(オンプレミスおよび Azure、AWS、または Google Cloud サブスクリプションの両方)で実行され、個々のジョブのコントローラーとして機能します。クラウドサービスからジョブ指示を受け取り、Compositing Engine VM を作成および管理します。Connector Appliance VM は、クラウドサービスとお客様の環境間の単一の安全な通信ポイントとして機能します。各リソースロケーション(オンプレミス、Azure、AWS、または Google Cloud)に 1 つ以上の Connector Appliance を展開します。セキュリティのために、各リソースロケーションに Connector Appliance が展開されます。Connector Appliance と Compositing Engine を同じ場所に配置することで、すべてのコンポーネントと通信がリソースロケーション内に保持されるため、展開のセキュリティ体制が大幅に向上します。

PowerShell モジュール

スクリプト内で使用するための PowerShell モジュールのコレクションを提供しており、独自のカスタム自動化を開発するための出発点として利用できます。提供されるモジュールは現状のままサポートされますが、展開に合わせて必要に応じて変更できます。

  • PowerShell 自動化は、提供された構成パラメーターを使用して Citrix Cloud API サービスへの REST 呼び出しを作成し、ジョブを開始し、ジョブの進行状況に応じて定期的な更新を提供します。

  • 独自の自動化ソリューションを開発したい場合は、お好みのプログラミング言語を使用してクラウドサービスに直接呼び出しを行うことができます。Image Portability Service の REST エンドポイントと PowerShell モジュールの構成と使用に関する詳細については、API ポータルを参照してください。

ワークフロー

  • Image Portability Service は、オンプレミスのリソースロケーションからパブリッククラウドサブスクリプション用のマスターカタログイメージを準備するために、多段階のワークフローを使用します。このサービスは、オンプレミスのハイパーバイザープラットフォームからイメージをエクスポートし、お客様がパブリッククラウドサブスクリプションにアップロードします(提供されている PowerShell アップロードユーティリティがこれを自動化するのに役立ちます)。次に、Image Portability は、パブリッククラウドプラットフォームと互換性があるようにイメージを準備します。最後に、イメージは公開され、クラウドのリソースロケーション内に新しいマシンカタログとして展開する準備が整います。

  • Image Portability ワークフロー

  • これらの高レベルのワークフローは、イメージのソースおよびターゲットのプロビジョニング構成(Machine Creation または Citrix Provisioning™)に基づいています。選択されたワークフローによって、どの Image Portability ジョブステップが必要かが決まります。

  • サポートされている各 IPS ワークフローに必要なジョブを理解するには、次の表を参照してください。

  • ワークフロー(ソースからターゲット) エクスポート アップロード 準備 公開
  • | — | — | — | — | — |
  • MCS to MCS Y Y Y N
  • PVS to MCS* N Y Y N
    PVS to PVS N/A Y Y Y
    MCS to PVS Y Y Y Y

*元のイメージが Citrix Provisioning vDisk として存在し、ソースプラットフォームのハイパーバイザーから直接エクスポートする必要がないことを前提としています。

要件

  • Image Portability を開始するには、次の要件を満たす必要があります。

Citrix マシンカタログイメージ

IPS では、次のいずれかのテスト済み構成を持つイメージを使用する必要があります。

  • Windows Server 2016、2019、および 2022H2

  • Windows 10 または 11

  • Machine Creation Services または Citrix Provisioning を使用してプロビジョニング済み

  • Citrix Virtual Delivery Agent

  • Azureでのコンソールアクセス向けに有効化されたリモートデスクトップサービス

  • イメージポータビリティサービスは、以下のハイパーバイザーとクラウドプラットフォームをサポートします。

  • ソースプラットフォーム:

  • VMware vSphere 7.0および8.0

  • XenServer 8/Citrix Hypervisor 8.2

  • Nutanix AHV (Prism Elementのみ)

  • Microsoft Azure

  • Google Cloud Platform

ターゲットプラットフォーム:

  • VMware vSphere 8.0

    • XenServer 8/Citrix Hypervisor 8.2

    • Nutanix AHV (Prism Elementのみ)

    • Microsoft Azure

    • AWS

    • Google Cloud Platform

Citrix Connector Appliance

-  イメージポータビリティを使用する予定の各リソースロケーションに、Citrix Connector Applianceをインストールして構成する必要があります。たとえば、イメージポータビリティを使用してvSphereからAzure、AWS、Google Cloudにイメージを移動する場合、少なくとも4つのCitrix Connector Applianceが必要です。

詳細な手順については、「Connector Applianceの展開」を参照してください。

SMB (Windows)ファイル共有

エクスポートジョブの出力の保存には、Windows SMBファイル共有が必要です。この共有は、イメージポータビリティサービスを使用しているリソースロケーションに作成されるCompositing Engine VMからアクセスできる必要があります。共有上の利用可能な空き容量が、イメージのファイルシステムの構成済みサイズの少なくとも2倍であることを確認してください。

PowerShellスクリプト実行用マシン

PowerShellスクリプトを実行するマシンには、以下のものがあることを確認してください。

-  PowerShellバージョン5.1。
  • SMBファイル共有への高速ネットワーク接続。ファイル共有をホストしているマシンと同じマシンでも構いません。

  • イメージポータビリティ機能を使用する予定のパブリッククラウドプラットフォームへの高速ネットワーク接続。たとえば、Azure、AWS、Google Cloudなどです。

    PowerShell Galleryからイメージポータビリティモジュールをダウンロードして構成する方法の詳細については、「PowerShell用マシンの準備」セクションを参照してください。

Citrix Cloudの顧客ID

有効なCitrix DaaSサブスクリプションがあることを確認してください。

続行するには、Citrix DaaS(旧Citrix Virtual Apps and Desktopsサービス)へのアクセスが必要です。アクセス権がない場合は、Citrixの担当者にお問い合わせください。

イメージポータビリティで使用するAPIクライアントを作成および構成する手順については、API入門ドキュメントを参照してください。

Azureの必要な権限と構成

イメージポータビリティサービスがAzureリソースに対してアクションを実行するには、イメージポータビリティサービスが使用するAzureサービスプリンシパルに、特定のAzure機能への権限を付与する必要があります。詳細なリストについては、「Microsoft Azureの必要な権限」を参照してください。

関連するリソースのサービスプリンシパルに共同作成者ロールを割り当てることができます。または、必要な最小限の権限を割り当てるには、必要な権限を持つカスタムロールを作成し、適切なリソースにスコープ設定されたサービスプリンシパルにそれらを割り当てることができます。

Azureサービスプリンシパルのセキュリティロールの構成およびカスタムロールの作成については、Azureドキュメントを参照してください。

Google Cloud の必要な権限と構成

Image Portability Service が Google Cloud プロジェクトでアクションを実行できるようにするには、Image Portability Service が使用する Google Cloud サービスプリンシパルに特定の機能に対する権限を付与します。

詳細なリストについては、Google Cloud の必要な権限を参照してください。

これらの権限は、以下のロールを使用して割り当てることができます。

  • Cloud Build Editor
  • Compute Admin
  • Storage Admin
  • Service Account User

サービスアカウントの権限構成の詳細については、Google Cloud ドキュメントを参照してください。

Amazon Web Services の必要な権限と構成

Amazon Web Services (AWS) アカウントでイメージポータビリティサービスワークフローを実行するには、それぞれの Identity and Access Management (IAM) ID が適切な権限を持っている必要があります。

詳細なリストについては、AWS の必要な権限を参照してください。

Image Portability Service のセットアップ

Image Portability Service をセットアップするには、次の手順を実行します。

コネクタアプライアンスの展開

Image Portability では、Image Portability ジョブを作成するために Citrix Connector Appliances が必要です。コネクタアプライアンスは、オンプレミスおよびパブリッククラウド環境との安全な対話を支援します。コネクタアプライアンスは、Image Portability Service にジョブステータスとサービス全体の健全性を報告するために通信します。

環境にコネクタアプライアンスを展開および構成するには、Connector Appliance for Cloud Services の手順に従ってください。

展開を計画する際には、アプライアンスに必要なハードウェア構成ネットワークポートアクセスに注意してください。

アプライアンスが展開され登録されると、Image Portability を有効にするために必要なコンポーネントが自動的にインストールされます。

PowerShell 用マシンの準備

  • Image Portability の利用開始を支援するため、サービスでカスタマイズして使用できる PowerShell モジュールを作成しました。

  • 以下のセクションでは、PowerShell スクリプトを実行するためのマシンの準備方法について説明します。これらのスクリプトはほんの一例です。必要に応じて変更または強化してください。

注:

初期インストール後、PowerShell モジュールを更新するには Update-Module を使用します。

PowerShell の要件

PowerShell スクリプトを使用するには、以下が必要です。

  • イメージポータビリティジョブを駆動する PowerShell スクリプトを実行するための Windows マシン。このマシンは次の条件を満たしている必要があります。

    • 最新バージョンの PowerShell がインストールされていること。

    • オンプレミスの SMB ファイル共有への 10 Gbps 以上のネットワーク接続と、パブリッククラウド (Azure、AWS、Google Cloud など) への高速接続があること。

    • ファイル共有をホストしているマシンと同じマシンであること。

    • 最新の Microsoft パッチが適用された Windows 10、Windows Server 2019、または Windows Server 2022 を実行しているマシンであること。

    • 必要な PowerShell ライブラリをダウンロードするために Microsoft PowerShell Gallery に接続できること。

    • Windows のバージョンによっては、TLS 1.0/1.1 のサポートを無効にする必要がある場合があります。詳細については、Microsoft PowerShell Gallery TLS サポートドキュメントを参照してください。

    • デフォルトでは、PowerShell はプロキシサーバー経由で自動的に認証を行いません。Microsoft およびプロキシベンダーのベストプラクティスに従って、PowerShell セッションがプロキシサーバーを使用するように構成されていることを確認してください。

PowerShell スクリプトの実行時に、PowerShellGet のバージョンが見つからない、または古いことに関するエラーが表示される場合は、次のように最新バージョンをインストールする必要があります。

Install-Module -Name PowerShellGet -Force -Scope CurrentUser -AllowClobber
<!--NeedCopy-->

ライブラリとモジュールのインストール

Image Portability Service は、ポータビリティ操作を駆動するために Microsoft PowerShell Gallery のライブラリを利用します。

重要:

初回インストール後、新しいバージョンをインストールするには Update-Module を使用します。

  1. 最新のモジュールをダウンロードするには、次のPowerShellコマンドを実行します。

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • PATH環境変数を変更するには:

      Y を押して Enter を押し、承諾します。

    • NuGetプロバイダーをインストールするには:

      Y を押して Enter を押し、承諾します。

    • 信頼されていないリポジトリについて通知された場合:

      A (すべてはい) を押して Enter を押し、続行します。

  2. 次のコマンドを実行して、必要なすべてのモジュールがダウンロードされたことを確認します。

    Get-InstalledModule -Name Citrix.*
    <!--NeedCopy-->
    

    このコマンドは、次のような出力を返します。

    名前 リポジトリ 説明
    Citrix.Image.Uploader PSGallery VHD(x)をAzureストレージアカウント、AWS、またはGCPにアップロードし、VHD(x)に関する情報を取得するコマンド
    Citrix.Workloads.Portability PSGallery Citrix Image Portability Serviceのイメージジョブ用のスタンドアロンコマンドレット

モジュールの最新バージョンへの更新

  • スクリプトを最新バージョンに更新するには、次のコマンドを実行します。

    • ```

    • Update-Module -Name “Citrix.Workloads.Portability”,”Citrix.Image.Uploader” -Force

    • ```

Citrix Virtual Apps and Desktops Remote PowerShell SDKのインストール

-  Image Portability Serviceは、Citrix Cloud内でポータビリティジョブを作成および管理するために、Citrix Virtual Apps and Desktops Remote PowerShell SDKを必要とします。

    -  お使いのマシンに[Remote PowerShell SDK](/ja-jp/citrix-daas/sdk-api.html)をダウンロードしてインストールします。

プラットフォーム固有のサードパーティコンポーネントのインストール

    -  Image Portability Service PowerShellモジュールは、サードパーティの依存関係をインストールしません。そのため、インストールをターゲットとするプラットフォームのみに限定できます。次のいずれかのプラットフォームを使用している場合は、プラットフォームの依存関係のインストールに関する関連手順に従ってください。
VMware
    -  VMware環境と通信するImage Portabilityジョブを作成する場合は、必要なVMware PowerShellモジュールをインストールするために次のコマンドを実行します。

    -  ```
    -  Install-Module -Name VMWare.PowerCLI -Scope CurrentUser -AllowClobber -Force -SkipPublisherCheck

    -  <!--NeedCopy--> ```
Amazon Web Services

AWSでImage Portabilityジョブを作成する場合は、AWS Command Line Interfaceをダウンロードしてインストールし、次にこれらのコマンドを実行して必要なAWS PowerShellモジュールをインストールします。

Install-Module -Name AWS.Tools.Installer
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3
<!--NeedCopy-->
Azure

AzureでImage Portabilityジョブを作成する場合は、Azureコマンドラインユーティリティをダウンロードしてインストールし、次にこれらのコマンドを実行して必要なAzure PowerShellモジュールをインストールします。

Install-Module -Name Az.Accounts -Scope CurrentUser -AllowClobber -Force
Install-Module -Name Az.Compute -Scope CurrentUser -AllowClobber -Force
<!--NeedCopy-->
Google Cloud

Google CloudでImage Portabilityジョブを作成する場合は、お使いのマシンにGoogle Cloud SDKをダウンロードしてインストールします。

スクリプトとモジュールのアンインストール

Image Portabilityソフトウェアで使用されるモジュールをアンインストールするには、次のコマンドを実行します。

注:

IPSモジュールをアンインストールしても、サードパーティのスクリプトとコンポーネントは自動的に削除されません。

モジュールをアンインストールするには:

Get-InstalledModule -Name "Citrix.Workloads.Portability","Citrix.Images.Uploader" | Uninstall-Module
<!--NeedCopy-->

Credential Walletへの資格情報の追加

エンドツーエンドの自動化シナリオでは、Image Portability Serviceを構成して、Citrix Cloud、パブリッククラウド、およびオンプレミスリソースと非対話的に認証できます。また、Image Portability Serviceは、APIがオンプレミスおよびパブリッククラウドのリソースと直接認証されるたびに、Citrix Credential Walletに保存されている資格情報を使用します。このセクションで説明されている資格情報の設定は、エクスポート、準備、および公開ジョブを実行するために必要な手順です。

ジョブの実行時、Image Portability Serviceは、お客様が制御できるリソースへのアクセスを必要とします。たとえば、Image Portability ServiceがvSphereサーバーからSMB共有にディスクをエクスポートするには、サービスが両方のシステムへのログインアクセスを必要とします。このアカウント情報を保護するために、Image Portability ServiceはCitrix Credential Walletサービスを使用します。このサービスは、ユーザー定義の名前で資格情報をウォレットに保存します。ジョブを実行したい場合は、使用する資格情報の名前を指定します。また、これらの資格情報はいつでもウォレットから更新または削除できます。

資格情報は、多くの場合、次のプラットフォームに保存されます。

    -  Microsoft Azure
    -  AWS
  • Google Cloud
    • SMB共有
    • VMware vSphere
    • Nutanix AHV
      • XenServer®

資格情報を管理するには、Image Portability Service APIおよび開発者APIポータルの資格情報管理セクションを参照してください。

Image Portability Serviceの使用

オンプレミスのリソースロケーションにあるイメージをパブリッククラウドサブスクリプション用に準備するには、Citrix Cloud内でImage Portabilityジョブを作成する必要があります。スクリプトまたはプログラム内でサービスに直接API呼び出しを行うジョブを作成するか、API呼び出しを自動化するために開発したPowerShellモジュールの例を使用できます。Image Portability Service開発者APIポータルを参照して、REST APIとPowerShellモジュールを使用してIPSジョブを作成する方法に関する情報を確認してください。

Citrix Provisioningを使用したマシンカタログの公開

Image Portability Service (IPS)は、Azure、AWS、Google Cloud、Nutanix、vSphere、XenServerのMachine Creation Services (MCS)または、Azure、Google Cloud、vSphere、XenServerのCitrix Provisioning (PVS)で使用されます。このガイドで説明されているPowerShellおよびRESTソリューションを、プラットフォームのツール、プラットフォームのAPI、またはCitrix DaaS™ SDKと組み合わせて、準備されたイメージに基づいてマシンカタログを作成するためのシームレスで自動化されたエンドツーエンドのワークフローを作成できます。選択したクラウドプラットフォームによっては、IPS準備ジョブの完了とカタログの作成またはPVSターゲットへの割り当ての間に中間ステップが必要になる場合があります。

AWS

AWSでは、IPSは準備されたイメージを含むEC2 EBSボリューム(デフォルト)または準備されたイメージから作成されたAmazon Machine Image (AMI)を生成します。ボリュームのデフォルトではなくAMIを作成する方法については、Image Portability Service開発者APIポータルを参照してください。

MCSはカタログ作成にAMIを必要とすることに注意してください。IPSはAWS VMインポートを使用してAMIを作成し、これには特定の要件があります。IPSを使用してAMIを作成する前に、AWS VM Import/Exportユーザーガイドで要件を確認し、それらが満たされていることを確認してください。

Azure

Azureでは、IPSはMCSマスターイメージとして直接使用できるマネージドディスクを生成します。結果のイメージをPVSターゲットに割り当てるには、IPSはマネージドディスクをPVSストア内のVHD(x)ファイルにコピーするための「公開」操作を提供します。

Google Cloud

Google CloudでのIPS準備ジョブはディスクを生成します。MCSにはGoogle Cloudインスタンステンプレートが必要です。ディスクからMCSインスタンステンプレートを作成するプロセスについては、マスターVMインスタンスと永続ディスクの準備で詳しく説明されています。

Google Cloud上のPVSターゲットの場合、IPSはディスクをPVSストア内のVHD(x)ファイルにコピーするための「公開」操作を提供します。

VDA構成の自動化

オンプレミスで作成されたCitrix管理イメージを準備する際、イメージが準備されるターゲット環境をサポートするように、イメージ内のVDAを再構成できます。Image Portability Serviceは、ワークフローの準備フェーズ中にVDA構成の変更をその場で適用できます。以下の構成パラメーターは、移行されたイメージでVDAがどのように動作するかを定義します。InstallMisaXdReconfigure、およびInstallMcsio。IPSジョブを作成する際にこれらのパラメーターを定義する方法については、Image Portability Service PowerShellの例を参照してください。

構成

    -  **InstallMisa**を`true`に構成すると、Image Portability Serviceは、MCSを使用してイメージをプロビジョニングするために必要な不足しているVDAコンポーネントをインストールできます。

    -  **InstallMisa**を`true`または**InstallMcsio**を`true`に構成すると、**CloudProvisioningType**を`Mcs`に構成することも必要になります。

    -  **InstallPvs**を、イメージが展開されるPVSサーバーのバージョンに設定します。**InstallPvs**が設定されている場合、Image Portability Service (IPS)は、準備ジョブ中に指定されたバージョンのPVSターゲットデバイスソフトウェアをイメージに自動的にインストールします。IPSは、最新の2つのLong-Term Service Releases (LTSR)およびCurrent Releases (CR)の最新の2つのビルド(ベースリリースまたは累積更新プログラム)をサポートします。

InstallMisaInstallMcsioの両方について、以下に注意してください。

-  これらの機能は、VDAの最近のLTSRおよびCRリリースでのみサポートされています。

-  インストールされているVDAに必要なコンポーネントがすでに存在する場合、パラメーターが構成されていても変更は行われません。

-  サポートされているバージョンのVDAの場合、必要なVDAコンポーネントが存在しない場合でも、Image Portabilityは必要なコンポーネントの適切なバージョンをインストールします。
  • サポートされていないバージョンのVDAの場合、必要なVDAコンポーネントが存在しないと、再構成は失敗し、メッセージがログに記録されます。VDAの再構成が完了しなくても、準備ジョブは完了します。

XdReconfigureには、controllersまたはsite_guidのいずれかの値が必要です。各値を使用した構成パラメーターの例を次に示します。

controllersの使用:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'controllers'
        ParameterValue = 'comma-separated-list-of-your-cloud-connectors-fqdns'
    }
)
<!--NeedCopy-->

ここで、ParameterValueは、VDAをポイントする新しいDDCのFQDNのリストです。複数のDDCは、コンマ区切りの形式で指定できます。

site_guid の使用:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'site_guid'
        ParameterValue = 'active-directory-site-guid'
    }
)
<!--NeedCopy-->

XdReconfigure は、/reconfigure インストールスイッチを使用して VDA コマンドラインインストーラーを実行する際にサポートされる値も受け入れます。たとえば、XenDesktopVdaSetup.exe /reconfigure などです。これらの値の例には、wem_agent_portwem_cached_data_sync_portwem_cloud_connectors、または wem_server が含まれます。VDA 再構成コマンドラインオプションの完全なリストについては、Citrix DaaS VDA ドキュメントを参照してください。

InstallMcsiotrue に構成すると、イメージに MCSIO が自動的にインストールされます。イメージへの MCSIO の自動インストールを無効にするには、InstallMcsiofalse に構成します。

注:

コマンドの実行中に -DryRun を使用して、構成とコネクタアプライアンスのネットワーク設定を検証できます。

リファレンス

このセクションでは、必要に応じた技術的なリファレンス情報について詳しく説明します。

Image Portability Service に必要な権限

このセクションでは、サポートされている各オンプレミスおよびクラウドプラットフォームで Image Portability Service に必要な権限について詳しく説明します。

Connector Appliance に必要な権限

Connector Appliance は、Image Portability Service でイメージを準備するために、以下の URL へのアクセスを必要とします。

api-ap-s.cloud.com
api-eu.cloud.com
api-us.cloud.com
credentialwallet.citrixworkspaceapi.net
graph.microsoft.com
login.microsoftonline.com
management.azure.com
*.blob.storage.azure.net
ips-assets.layering.cloud.com
<!--NeedCopy-->

VMware vCenter に必要な権限

VMware 環境で IPS エクスポートディスクジョブを実行するには、以下の vCenter 権限が必要です。これらの権限は、vCenter 管理パネルの [アクセス制御] セクションにある [ロール] で確認できます。

-  Cryptographic operations
    -  Direct Access

-  Datastore
    -  Allocate space
    -  Browse datastore
    -  Low level file operations
    -  Remove file

    -  Folder
    -  Create folder
    -  Delete folder

-  Network
    -  Assign network

-  Resource
    -  Assign virtual machine to resource pool

-  Virtual machine
    -  Change Configuration
        -  Add existing disk
        -  Add new disk
        -  Remove disk

    -  Edit Inventory
        -  Create from existing
        -  Create new
        -  Remove

    -  Interaction
        -  Power off
        -  Power on
<!--NeedCopy-->

Microsoft Azure に必要な権限

Image Portability では、Azure サービスアカウントに以下の権限が必要です。

Compositing Engine に使用するリソースグループが指定されている場合 (つまり、REST リクエストの resourceGroup プロパティ、または Citrix.Workloads.Portability PowerShell コマンド使用時の -AzureVmResourceGroup パラメーターで指定されている場合)、リソースグループのスコープで以下の権限が必要です。

  • ```

Microsoft.Compute/disks/beginGetAccess/action Microsoft.Compute/disks/endGetAccess/action Microsoft.Compute/disks/delete Microsoft.Compute/disks/read

  • Microsoft.Compute/disks/write
    • Microsoft.Compute/virtualMachines/delete
  • Microsoft.Compute/virtualMachines/powerOff/action
    • Microsoft.Compute/virtualMachines/read
  • Microsoft.Compute/virtualMachines/write
    • Microsoft.Network/networkInterfaces/delete Microsoft.Network/networkInterfaces/join/action
  • Microsoft.Network/networkInterfaces/read
  • Microsoft.Network/networkInterfaces/write
  • Microsoft.Network/networkSecurityGroups/delete
  • Microsoft.Network/networkSecurityGroups/join/action
  • Microsoft.Network/networkSecurityGroups/read Microsoft.Network/networkSecurityGroups/write Microsoft.Resources/deployments/operationStatuses/read Microsoft.Resources/deployments/read Microsoft.Resources/deployments/write Microsoft.Resources/subscriptions/resourcegroups/read

Compositing Engine に使用するリソースグループが指定されていない場合、サブスクリプションのスコープで以下の権限が必要です。

Microsoft.Compute/disks/beginGetAccess/action Microsoft.Compute/disks/endGetAccess/action Microsoft.Compute/disks/read Microsoft.Compute/disks/write Microsoft.Compute/virtualMachines/powerOff/action Microsoft.Compute/virtualMachines/read Microsoft.Compute/virtualMachines/write Microsoft.Network/networkInterfaces/join/action Microsoft.Network/networkInterfaces/read Microsoft.Network/networkInterfaces/write Microsoft.Network/networkSecurityGroups/join/action Microsoft.Network/networkSecurityGroups/read Microsoft.Network/networkSecurityGroups/write Microsoft.Resources/deployments/operationStatuses/read Microsoft.Resources/deployments/read Microsoft.Resources/deployments/write Microsoft.Resources/subscriptions/resourceGroups/delete Microsoft.Resources/subscriptions/resourceGroups/write Microsoft.Authorization/roleAssignments/read Microsoft.Authorization/roleDefinitions/read


指定されたターゲットリソースグループのスコープで以下の権限が必要です (つまり、REST リクエストの *targetDiskResourceGroupName* プロパティ、または PowerShell 使用時の *-TargetResourceGroup* パラメーターで指定されているリソースグループ)。

Microsoft.Compute/disks/beginGetAccess/action Microsoft.Compute/disks/delete Microsoft.Compute/disks/read Microsoft.Compute/disks/write Microsoft.Compute/snapshots/delete Microsoft.Compute/snapshots/read Microsoft.Compute/snapshots/write


指定された仮想ネットワークリソースグループのスコープで以下の権限が必要です (つまり、REST リクエストの *virtualNetworkResourceGroupName* プロパティ、または PowerShell 使用時の *-AzureVirtualNetworkResourceGroupName* パラメーターで指定されているリソースグループ)。

Microsoft.Network/virtualNetworks/read Microsoft.Network/virtualNetworks/subnets/join/action


> **重要:**
>
> 'prepare' および 'prepareAndPublish' ジョブの `ceVmSku` オプションは、結果として得られるマネージドディスクが適している Azure VM の種類を制御します。出力イメージからプロビジョニングする予定の VM と同じファミリおよびバージョンの ceVmSku を選択する必要があります。デフォルト値の `Standard_D2S_v3` は、すべての v3 D ファミリマシンで実行するのに適しています。一時ディスクを含まないマシン SKU の指定はサポートされていません。

#### Google Cloud に必要な権限

Image Portability では、Google Cloud サービスアカウントに以下の権限が必要です。

cloudbuild.builds.create cloudbuild.builds.get cloudbuild.builds.list compute.disks.create compute.disks.delete compute.disks.get compute.disks.list compute.disks.setLabels compute.disks.use compute.disks.useReadOnly compute.globalOperations.get compute.images.create compute.images.delete compute.images.get compute.images.list compute.images.setLabels compute.images.useReadOnly compute.instances.create compute.instances.delete compute.instances.get compute.instances.setLabels compute.instances.setMetadata compute.instances.setServiceAccount compute.instances.setTags compute.instances.stop compute.instances.updateDisplayDevice compute.networks.get compute.networks.list compute.subnetworks.use compute.zoneOperations.get compute.zones.get compute.zones.list iam.serviceAccounts.actAs iam.serviceAccounts.get iam.serviceAccounts.list resourcemanager.projects.get storage.buckets.create storage.buckets.delete storage.buckets.get storage.objects.create storage.objects.delete storage.objects.get storage.objects.list


#### AWS に必要な権限

Image Portability では、以下の構成を持つ JSON ポリシードキュメントを Identity and Access Management (IAM) ユーザーにアタッチする必要があります。

{ “Version”: “2012-10-17”, “Statement”: [ { “Action”: [ “ebs:CompleteSnapshot”, “ebs:PutSnapshotBlock”, “ebs:StartSnapshot”, “ec2:CreateImage”, “ec2:CreateSnapshot”, “ec2:CreateTags”, “ec2:DeleteImage”, “ec2:DeleteSnapshot”, “ec2:DeleteVolume”, “ec2:DeregisterImage”, “ec2:DescribeImages”, “ec2:DescribeImportImageTasks”, “ec2:DescribeInstances”, “ec2:DescribeRegions”, “ec2:DescribeSecurityGroups”, “ec2:DescribeSnapshots”, “ec2:DescribeSubnets”, “ec2:ImportImage”, “ec2:RebootInstances”, “ec2:RegisterImage”, “ec2:RunInstances”, “ec2:TerminateInstances”, “iam:GetRole” ], “Effect”: “Allow”, “Resource”: “*” } ] }

```

注:

必要に応じて、リソースのスコープをさらに縮小することもできます。

Nutanix AHV に必要な権限

Image Portability では、Nutanix AHV 構成でクラスター管理者である必要があります。

XenServerの必須権限

イメージポータビリティには、XenServerホストが属するプールに対して、最低限「VM管理者」ロールが必要です。

ネットワーク

Image Portability Service (IPS) は、イメージ操作を実行するために、コンポジティングエンジン (CE) と呼ばれるワーカーVMを作成します。関連するリソースロケーション内のすべてのコネクタアプライアンスは、HTTPSを介してCEと通信できる必要があります。 コネクタアプライアンス (CA) とCE間のすべての通信はCAによって開始されますが、vSphereの場合にCEとCA間で双方向のHTTPS通信が行われるという唯一の例外があります。

クラウド環境 (Azure、AWS、Google Cloud) では、CEはプライベートIPアドレスで作成されます。したがって、CEはCAと同じ仮想ネットワーク上にあるか、CAから到達可能な仮想ネットワーク上にある必要があります。

さらに、SMB共有上のファイルを含むジョブ (エクスポートジョブなど) の場合、CEはSMB共有への接続性を持つネットワーク上にある必要があります。

サポートされている各プラットフォームでCEに使用するネットワークを指定する方法の詳細については、Image Portability Service APIドキュメントを参照してください。

「準備」ジョブの場合、イメージに含まれるオペレーティングシステムは、特殊化やその他のタスクを実行するために (CE上で) 起動されます。イメージにコントロールサーバーに接続する管理エージェントまたはセキュリティエージェントが含まれている場合、これらのプロセスが準備プロセスを妨害する可能性があります。

ドメインからの参加解除オプションが指定されている場合、ネットワーク接続が結果に影響を与える可能性があります。コンポジティングエンジンVMがネットワーク経由でActive Directoryドメインコントローラーに到達できる場合、参加解除によってコンピューターアカウントがドメインから削除されます。これにより、イメージが抽出されたソースVMのドメインメンバーシップが解除されます。

したがって、操作に提供されるネットワークを他のネットワークリソースから分離することをお勧めします。これは、サブネット分離またはファイアウォールルールによって実行できます。詳細については、「ネットワーク分離」を参照してください。

一部のオンプレミスハイパーバイザー環境では、ハイパーバイザーがTLSサーバー証明書で構成されている場合があります。この証明書は、CAの信頼されたルート証明機関のセットによって信頼されていないか、サーバーのホスト名と一致しません。このような状況では、問題を回避するために使用できるIPSジョブリクエストプロパティが提供されます。詳細については、「TLS証明書」を参照してください。

ネットワークプロキシ

CAとインターネット間のネットワークトラフィックがTLSインスペクションを実行するプロキシを通過する場合、プロキシのルート証明機関 (つまり、プロキシが生成するTLS証明書に署名するために使用する証明書) をCAのルート証明機関のセットに追加する必要がある場合があります。詳細については、「Citrix Cloudへのコネクタアプライアンスの登録」を参照してください。

ネットワーク分離
  • Azure

    Azureでは、操作で使用されるAzureサービスプリンシパルが必要なAzure権限 1 を持っている場合、CEはデフォルトでNICにネットワークセキュリティグループ (NSG) がアタッチされた状態で作成されます。

    • Microsoft.Network/networkSecurityGroups/join/action
    • Microsoft.Network/networkSecurityGroups/read
    • Microsoft.Network/networkSecurityGroups/write

      それ以外の場合、明示的なリソースグループが使用されていない場合は、サブスクリプションのスコープで次の権限が必要です。

      • Microsoft.Network/networkSecurityGroups/delete
      • Microsoft.Network/networkSecurityGroups/join/action
      • Microsoft.Network/networkSecurityGroups/read
      • Microsoft.Network/networkSecurityGroups/write

    このNSGは、CEへのすべてのトラフィックをブロックするように構成されていますが、以下の例外があります。

    • SMB (ポート 445) アウトバウンド
    • HTTPS (ポート 443) インバウンド
    • 内部Azureサービスに必要なもの

    ジョブリクエストで networkIsolation プロパティを true に設定することで、NSGの使用を強制できます。この場合、操作で使用されるサービスプリンシパルが必要な権限を持っていないと、ジョブは失敗します。networkIsolation プロパティを false に設定することで、NSGの使用を無効にできます。

  • AWS

AWSでCEのネットワーク分離を実現するには、不要なトラフィックをすべてブロックするネットワークセキュリティグループを作成し、ジョブリクエストで securityGroupIds リクエストパラメータを使用してセキュリティグループをCEインスタンスに割り当てることができます。このパラメータは、セキュリティグループIDのリストを値として取ります。

  • Google Cloud

Google CloudでCEのネットワーク分離を実現するには、不要なトラフィックをすべてブロックするファイアウォールルールを作成し、ネットワークタグを介してそれらのルールをCEに適用できます。IPSは、ネットワークタグ compositing-engine を付けてCEを作成します。networkTags ジョブリクエストパラメータを使用して、他のネットワークタグを割り当てることができます。このパラメータは、タグのリストを値として取ります。

TLS証明書

ハイパーバイザーのサーバー証明書がCAによって信頼されていない機関によって署名されている場合、問題を解決するために2つの代替アプローチを使用できます。

  1. 証明書検証で使用する追加のルート証明機関証明書をジョブリクエストで指定します。この証明書は、ハイパーバイザーのサーバー証明書に署名するために使用されたルート証明機関である必要があります。
  2. ジョブリクエストでハイパーバイザーのサーバー証明書のSHA-1フィンガープリントを指定します。この場合、証明書検証は、ハイパーバイザーによって返された証明書のSHA-1フィンガープリントがジョブリクエストで提供されたものと一致することを確認することによって行われます。CEとハイパーバイザーの間にTLS傍受プロキシがある場合、この方法は機能しない可能性があります。

上記に対するジョブリクエストパラメータは、各プラットフォームについて以下にそれぞれ示します。

  • vSphere
    1. vCenterSslCaCertificate
    2. vCenterSslFingerprint
  • Nutanix
    1. prismSslCaCertificate
    2. prismSslFingerprint
  • XenServer
    1. xenSslCaCertificate
    2. xenSslFingerprint

詳細については、Image Portability Service APIドキュメントを参照してください。

証明書検証エラーは、ハイパーバイザーサーバーのホスト名とその証明書のホスト名との間に不一致がある場合にも発生する可能性があります。この場合、ジョブリクエストで次のパラメータを true に設定することで、ホスト名の一致を無効にできます。

  • vSphere
    • vCenterSslNoCheckHostname
  • Nutanix
    • prismSslNoCheckHostname
  • XenServer
    • xenSslNoCheckHostname

関連ドキュメント

  1. 操作に明示的なリソースグループが使用されている場合、リソースグループのスコープで次の権限が必要です。 

Image Portability Service を使用したリソースロケーション間でのワークロードの移行