App Layering

VMware vSphere

vSphereコネクター構成には、アプライアンスがvSphereに接続するために必要な資格情報とストレージの場所が含まれます。vSphereコネクターを使用して、レイヤーをパッケージ化し、イメージをVMware vSphereまたはVMware Cloud on AWSに公開します。

開始前の準備

vSphere環境を使用してレイヤーを作成し、レイヤー化されたイメージを公開できます。各コネクター構成は、特定のストレージの場所にアクセスします。

便利なシステムプロビジョニングのために、ハイパーバイザー内の複数の場所にレイヤー化されたイメージを公開できます。複数の場所に公開するには、場所ごとにコネクター構成を作成します。コネクターとコネクター構成の詳細については、「接続」を参照してください。

コネクターに使用するvCenterアカウントは、App Layeringアプライアンスのインストール記事に記載されているデータセンターに対する権限と同じ権限を持っている必要があります。

Citrix Provisioning™のハイパーバイザーとしてvSphereを使用する場合、vSphereコネクター設定で、レイヤーの作成に使用するvSphere VMテンプレートと、Citrix Provisioningでターゲットデバイスを作成する際に使用するvSphere VMテンプレートを同じにすることをお勧めします。この方法により、公開されたイメージとターゲットデバイスが同じベースラインVMスペックを持つことが保証されます。

App Layeringを初めて使用する場合

App Layeringを初めて使用し、vSphere仮想マシンを使用してレイヤーを作成する場合は、vSphereコネクターが必要です。レイヤー化されたイメージをvSphereに公開する場合も、公開場所ごとにコネクター構成を作成できます。

レイヤーを作成してレイヤー化されたイメージを公開する際に、コネクター構成を選択できます。タスクに適したコネクター構成がまだない場合は、ConnectorsページでAdd Connector Configurationをクリックして作成できます。

仮想コントローラー

デフォルトのLSI Logic SASコントローラー、またはVMware準仮想化SCSIコントローラーのいずれかを使用できます。

デフォルトのLSI Logic SASコントローラーを使用するには、レイヤーの仮想マシンにそれを選択し、すべてのレイヤーが同じコントローラーを使用していることを確認します。

VMware準仮想化SCSIコントローラーを使用するには、VMware準仮想化SCSIコントローラーが搭載されており、ディスクがアタッチされていない既存のテンプレートVMが必要です。

既存のLSI OSレイヤーをVMware準仮想化SCSIコントローラーで使用する

LSI Logic SASコントローラーを搭載したOSレイヤーがあり、それをVMware準仮想化SCSIコントローラーで使用したい場合は、以下のいずれかの方法を使用できます。

  • OSレイヤーにバージョンを追加します。この際、LSI Logic SAS VMテンプレートを使用するVMware vSphereコネクターを使用します。パッケージングマシンが作成されたら、以下の手順に従ってOSレイヤーを準仮想化対応にします。

  • LSI OSレイヤーと、LSI Logic SAS VMテンプレートを使用するプラットフォームコネクターを備えた新しいプラットフォームレイヤーを追加します。パッケージングマシンが作成されたら、以下の手順に従ってプラットフォームレイヤーを準仮想化対応にします。

注:

以下の変更は、OSレイヤーとプラットフォームレイヤーに対して実行する必要があります。

選択した方法でパッケージングマシンが準備できたら、次の手順を実行します。

  1. 仮想マシンにログインし、シャットダウンします。
  2. vSphere Web Clientで、パッケージングマシンの設定の編集ページを開きます。
  3. 新規デバイスメニューからSCSIコントローラーを選択して新しいSCSIコントローラーを追加し、追加をクリックします。
  4. 追加された新しいSCSIコントローラーセクションを展開し、タイプの変更VMware Paravirtualに設定します。
  5. 新規デバイスメニューから新しいハードディスクを選択して新しいハードディスクを追加し、追加をクリックします。
  6. 新しいハードディスクセクションを展開し、以下のパラメーターを設定します。
    • サイズ: 1 GB
    • ディスクプロビジョニング: シンプロビジョニング
    • 仮想デバイスノード: 新しいSCSIコントローラーのデフォルトバス
  7. OKをクリックします。
  8. パッケージングマシンの電源を入れ、ログインし、シャットダウンして準仮想化ドライバーをインストールします。
  9. vSphere Web Clientで、パッケージングマシンの設定の編集ページを開きます。
  10. この手順で以前に追加したハードディスクと準仮想化コントローラーの両方を削除します。
  11. パッケージングマシンの電源を入れ、ログインし、最終処理のためにシャットダウンをクリックします。

レイヤーの作成が完了したら、それを使用して準仮想化コントローラーを備えたイメージを作成できます。

vSphereコネクター構成設定に必要な情報

vSphereのコネクターを構成すると、新しい構成に使用するvCenter Server、データストア、およびホストを参照できます。

重要:

フィールドでは大文字と小文字が区別されるため、手動で入力する値はvSphere内のオブジェクトの大文字と小文字に一致している必要があります。一致しない場合、検証は失敗します。

  • コネクター構成名 - このコネクター構成を識別および追跡するのに役立つ名前。
  • vCenter Server - アプライアンスが統合するvSphereサーバーの名前。
  • vCenterユーザー名 - アプライアンスがvSphereに接続するために使用するアカウントのユーザー名。
  • vCenterパスワード - アプライアンスがvSphereに接続するために使用するアカウントのパスワード。
  • データセンター名 - App Layeringアプライアンスが仮想マシンを作成および取得するvSphereデータセンターの名前。
  • パッケージングキャッシュサイズ(GB)(推奨) - App Layeringがレイヤーを作成する際に使用するディスクキャッシュのサイズ。サイズを空白のままにするか0に設定すると、App Layeringはディスクキャッシュを使用しません。サイズを指定すると、App Layeringはこのサイズまでのディスクキャッシュを使用して、ブートディスクとパッケージングディスクのコピーを保持し、これらのディスクを再利用してパッケージングマシンを作成します。これらのブートディスクとパッケージングディスクの再利用により、Appレイヤーのパッケージングにかかる時間が短縮されます。
  • 仮想マシンテンプレート - (オプション)VMwareのハードウェア設定(メモリ、CPU、ビデオ設定を含む)で仮想マシンをクローンする仮想マシンテンプレート。この設定により、結果として得られる仮想マシンを構成するためのホスト、データストア、およびネットワークを指定できます。

    重要:

    VMware Cloudに公開する場合、仮想マシンのネットワークが正しく機能するためには、VMware仮想マシンテンプレート(通常のVMテンプレートではない)が必要です。

    テンプレート仮想マシンを選択する際:

    • 設定の更新を求めるプロンプトにははいと答えますが、ネットワークは変更しないでください
    • 選択したテンプレートで使用されているOSバージョンが、レイヤーの構築またはレイヤー化されたイメージの公開に使用しているOSバージョンと一致していることを確認します。
    • テンプレートにはディスクがアタッチされておらず、少なくとも1つのネットワークカードがアタッチされている必要があります。そうでない場合、構成を検証または保存しようとするとエラーが発生します。
  • ESXホスト名 - アプライアンスが仮想マシンを作成および取得するvSphere ESXホストの名前。
  • データストア名 - アプライアンスが仮想マシンを作成および取得するvSphereデータストアの名前。
  • ネットワーク名 - アプライアンスが仮想マシンを作成および取得するvSphereネットワークの名前。
  • 仮想マシンフォルダー名 - アプライアンスが仮想マシンを作成および取得するvSphereフォルダーの名前。
  • オフロードコンポジティング - 指定されたvSphereサーバーでレイヤーのパッケージングまたはイメージ公開プロセスを実行できるようにします。この機能はパフォーマンスを向上させ、VMDKディスク形式とBIOSまたはUEFI仮想マシンのいずれかを使用できます。UEFIでは、VMで有効になっている場合、セキュアブートも使用できます。

    重要:

    VMware CloudとvSAN 7.0 Update 2(またはそれ以降)データストアでvSphereコネクター構成を使用する場合、オフロードコンポジティングを選択する必要があります。

    オフロードコンポジティングが選択されている場合:

    • 仮想マシンテンプレートを提供しない場合、仮想マシンはデフォルトでBIOSになります。
    • BIOSまたはUEFI用に構成されたテンプレートを提供した場合、結果として得られる仮想マシンは選択したタイプになります。
    • UEFIセキュアブートが有効で選択されているテンプレートを提供した場合、結果として得られるVMはUEFIセキュアブートになります。

    オフロードコンポジティングが選択されていない場合:

    • テンプレートを提供しない場合、仮想マシンはデフォルトでBIOSになります。
    • BIOS用に構成されたテンプレートを提供した場合、結果として得られる仮想マシンはBIOSになります。
    • UEFI用に構成されたテンプレートを提供した場合、マシンは起動に失敗し、ブルースクリーンになります。(UEFIにはオフロードコンポジティングが必要です。)

コネクターのvSphere Client管理者ロールに必要な権限

vSphere Client管理者に必要なVMware権限を、App Layeringアプライアンスの権限と一致するように設定します。

権限を設定したら、コネクター構成の作成サマリーブレードで保存をクリックして検証します。

コネクター構成の作成

値を入力するには:

  • 最初の3つのvCenterフィールドは手動で入力する必要があります。これらのフィールドの資格情報が検証されると、残りのフィールドの値をドロップダウンメニューから選択できます。
  • 値を手動で入力するには、フィールドをクリックしてカーソルを置き、vCenterの値と大文字と小文字が一致していることを確認しながら値を入力します。
  • ドロップダウンリストから値を選択するには、フィールドを1回クリックしてカーソルを置き、可能な値のリストを表示します。

新しいコネクター構成の追加

  1. Connectorsページをクリックします。
  2. Add Connector Configurationをクリックします。ダイアログボックスが開きます。
  3. レイヤーを作成またはイメージを公開するプラットフォームと場所のコネクタータイプを選択します。次に、新規をクリックしてコネクター構成ページを開きます。
  4. 構成の名前vCenter ServervCenterユーザー名、およびvCenterパスワードを入力します。ガイダンスについては、前のフィールド定義を参照してください。
  5. vCenterフィールドの下にある接続ボタンをクリックします。データセンターフィールドが有効になり、利用可能なデータセンターのリストが表示されます。
  6. データセンターを選択し、残りのドロップダウンリストを有効にします。
  7. 残りのフィールドを完了し、テストボタンをクリックして、App Layeringが指定された資格情報を使用して指定された場所にアクセスできることを確認します。
  8. 保存をクリックします。新しいコネクター構成がConnectorsページに表示されていることを確認します。

スクリプト構成(オプション、高度な機能)

コネクター構成を作成する際、App Layeringエージェント(Citrix Provisioningサーバーで使用されるものと同じエージェント)が実行されている任意のWindowsマシンでオプションのPowerShellスクリプトを構成できます。スクリプトはApp Layeringエージェントがインストールされているマシンに保存する必要があり、レイヤー化されたイメージのデプロイが成功した後にのみ実行されます。

異なるテンプレートイメージや異なるコネクター構成でスクリプトを再利用できるように、いくつかのプリセット変数が利用可能です。これらの変数には、vSphereで公開されたレイヤー化されたイメージの一部として作成された仮想マシンを識別するために必要な情報も含まれています。

スクリプトの実行は公開ジョブの結果に影響を与え、スクリプトの進行状況は表示されません。vSphereコネクターログには、スクリプト実行後の出力が含まれます。

スクリプトの構成

これはオプションの手順であることを忘れないでください。レイヤー化されたイメージが公開されるたびにスクリプトを実行したい場合は、以下のセクションで説明されている値を使用してこれらの手順を完了します。

  1. 前述のとおり、コネクター構成を完了して保存します。

    注:

    スクリプト構成ページを選択する前に、コネクター構成設定への編集を保存(または破棄)する必要があります。

  2. 左側のナビゲーションメニューが開いていない場合は、それを選択し、スクリプト構成をクリックしてスクリプトパスページを開きます。

  3. ここに詳述されている値を使用して必須フィールドを完了し、保存をクリックします。

スクリプト構成フィールド

  • スクリプトを有効にする - このチェックボックスをオンにすると、残りのフィールドが有効になります。これにより、レイヤー化されたイメージが公開されるたびに実行されるスクリプトを入力できます。
  • スクリプトエージェント - スクリプトが配置され、実行されるエージェントマシン。
  • ユーザー名(オプション) - スクリプトを実行する際に偽装するユーザー名。これは、スクリプトがスクリプト内の操作を実行する権限を持つユーザーのコンテキストで実行されることを保証するために使用できます。
  • パスワード(オプション) - 指定されたユーザー名のパスワード。
  • パス - スクリプトファイルが保存されているエージェントマシン上の完全なパスとファイル名。

その他のスクリプト構成値

スクリプトが実行されると、以下の変数が設定され、PowerShellスクリプトで使用できます。

コネクタータイプへの適用 どのコードによって値が決定されるか 説明
connectorCfgName すべて 共通コード これは、スクリプト構成が関連付けられているコネクター構成の名前です。
imageName すべて 共通コード これは、レイヤー化されたイメージの構築/公開に使用されたレイヤー化されたイメージテンプレートの名前です。
osType すべて 共通コード 公開されたレイヤー化されたイメージのOSタイプ。以下のいずれかの値になります: Windows7; Windows764; Windows8; Windows864; Windows200864; Windows201264; Windows10; Windows1064
virtualInfrastructureServer すべて vSphereコネクターコード コネクター構成で指定されたvCenterサーバー。
vmName すべて vSphereコネクターコード 仮想マシンの名前。
vmId すべて vSphereコネクターコード VMからの仮想マシンID(例: “vm-12345”)。
vmUuid すべて vSphereコネクターコード 仮想マシンUUID。

ユーザーの偽装

Windowsマシン上でサービスとして実行されるApp Layeringエージェントは、ローカルシステムアカウントまたはネットワークアカウントのいずれかで実行されます。これらのアカウントのいずれも特別な権限を持つ場合がありますが、特定のコマンドを実行したり、ファイルシステム内のファイルを参照したりする際には制限されることがよくあります。そのため、App Layeringでは、ユーザーを「偽装」するために使用できるドメインユーザーとパスワードが提供されます。スクリプトは、そのユーザーがシステムにログインしたかのように実行され、そのユーザーの権限でコマンドやデータにアクセスできるようになります。ユーザー名またはパスワードが入力されていない場合、スクリプトはサービスが実行するように構成されているアカウントを使用して実行されます。

スクリプト実行ポリシー

スクリプト実行ポリシーの要件はユーザー次第です。署名されていないスクリプトを実行する予定がある場合は、実行ポリシーをより緩やかなポリシーのいずれかに構成する必要があります。ただし、独自のスクリプトに署名する場合は、より制限の厳しい実行ポリシーを使用することを選択できます。

エラーメッセージ

パッケージングマシンをデプロイしたりイメージを公開したりする際にENOTFOUNDエラーが発生した場合は、vCenterサーバーのFQDNの代わりにIPアドレスを使用してください。

VMware vSphere