クラウド テンプレートを展開した後、展開を変更する Day 2 アクションを実行できます。Cloud Assembly には多くのインストール後アクションが含まれていますが、他のアクションを提供することもできます。カスタム リソース アクションを作成し、ユーザーがインストール後アクションとして使用できるようにすることができます。

カスタム リソース アクションは、vRealize Orchestrator ワークフローに基づいています。

このカスタム Day 2 リソース アクションの例は、作成プロセスを紹介することを目的としています。リソース アクションを効果的に使用するには、必要なタスクを実行する vRealize Orchestrator ワークフローとアクションを作成できる必要があります。

前提条件

  • vRealize Orchestrator 統合が構成されていることを確認します。Cloud Assembly での vRealize Orchestrator の統合の構成を参照してください。
  • インストール後アクションに使用するワークフローが vRealize Orchestrator に存在し、正常に実行されることを確認します。

手順

  1. vMotion を使用してホストから別のホストに vSphere 仮想マシンを移動するカスタム リソース アクションを作成します。
    1. Cloud Assembly で、[デザイン] > [リソース アクション] の順に選択し、[新しいリソース アクション] をクリックします。
    2. 次の値を指定します。

      ワークフロー名を除き、これらはサンプル値です。

      設定 サンプルの値
      名前 vSphere_VM_vMotion

      これは、リソース アクションのリストに表示される名前です。

      表示名 仮想マシンの移動

      これは、展開アクション メニューに表示される名前です。

    3. [有効化] オプションをクリックして、リソース タイプが一致するリソースのインストール後アクション メニューでこのアクションを有効にします。
    4. インストール後アクションを定義するリソース タイプとワークフローを選択します。
      設定 サンプルの値
      リソース タイプ [Cloud.vSphere.Machine] リソース タイプを選択します。

      これは、クラウド テンプレート コンポーネントとして展開されるリソース タイプで、必ずしもクラウド テンプレートに含まれる内容ではありません。たとえば、クラウド テンプレート内にクラウドに依存しないマシンがある場合でも、そのマシンは、vCenter Server 上に展開されると、[Cloud.vSphere.Machine] となります。このアクションは展開されたタイプに適用されます。このため、リソース アクションを定義するときは、クラウドに依存しないタイプを使用しないでください。

      この例では、vMotion は vSphere マシンに対してのみ機能しますが、複数のリソース タイプに対してその他のアクションの実行が必要になる場合もあります。アクションは、リソース タイプごとに作成する必要があります。

      ワークフロー [vMotion での仮想マシンの移行] ワークフローを選択します。

      複数の vRealize Orchestrator 統合がある場合は、これらのカスタム リソース アクションを実行するために使用する統合インスタンスのワークフローを選択します。

  2. vRealize Orchestrator プロパティと Cloud Assembly スキーマ プロパティのバインドを作成します。Cloud Assembly の Day 2 アクションでは、次の 3 タイプのバインドがサポートされます。
    バインド タイプ 説明
    申請中 デフォルト値のバインド タイプ。選択すると、入力プロパティが申請フォームに表示され、その値はユーザーが申請時に指定する必要があります。
    バインド アクション付き このオプションは、次のようなリファレンス タイプの入力に対してのみ使用できます。
    • VC:VirtualMachine
    • VC:Folder

    ユーザーはバインドを実行するアクションを選択します。選択したアクションは、必ず入力パラメータと同じタイプを返します。プロパティの定義の正しい形式は ${properties.someProperty} です。

    直接 このオプションは、プリミティブ データ タイプを使用する入力プロパティで使用できます。選択すると、プロパティが適切なタイプで、入力プロパティのスキーマから直接マッピングされます。ユーザーはスキーマ ツリーからプロパティを選択します。タイプが異なるプロパティは無効になります。
    この使用事例では、バインドは、ワークフローで使用される vRealize OrchestratorVC:VirtualMachine 入力タイプと Cloud AssemblyCloud.vSphere.Machine リソース タイプ間の接続を確立する vRealize Orchestrator アクションです。バインドを設定することで、vSphere 仮想マシンへの vMotion アクションを要求するユーザーに対して、インストール後アクションがシームレスになるようにします。システムは、ユーザーが指定しなくて済むように、ワークフローで名前を提供します。
    1. [vMotion での仮想マシンの移行] ワークフローを選択後、[プロパティ バインド] ペインに移動します。
    2. vm 入力プロパティのバインドを選択します。
    3. [バインド] で、[バインド アクション付き] を選択します。
      [findVcVmByVcAndVmUuid] アクションが自動的に選択されます。このアクションは、 Cloud AssemblyvRealize Orchestrator 統合によって事前構成されています。
    4. [保存] をクリックします。
  3. Day 2 アクションへの変更を保存するには、[作成] をクリックします。
  4. ワークフロー内の他の入力パラメータを考慮して、ユーザーがアクションを要求するときに表示される申請フォームをカスタマイズできます。
    1. [リソース アクション] から、最近作成した Day 2 アクションを選択します。
    2. [要求パラメータの編集] をクリックします。
      ユーザーに要求画面を表示する方法をカスタマイズできます。
      デフォルトのフィールド名 表示 制約
      仮想マシンのターゲット リソース プール。デフォルトは、現在のリソース プールです。
      • ラベル = ターゲット リソース プール
      • 表示タイプ = 値ピッカー
      仮想マシンの移行先のホスト
      • ラベル = ターゲット ホスト
      • 表示タイプ = 値ピッカー
      必須 = はい
      移行タスクの優先順位 ラベル = タスクの優先順位 値のオプション
      • 値のソース = 定数
        テキスト ボックスにカンマ区切りのリストを入力します。
        lowPriority|Low,defaultPriority|Default,highPriority|High
      必須 = はい
      (オプション)パワーオン状態が指定した状態と一致する場合にのみ、仮想マシンを移行します このテキスト ボックスを削除します。

      vMotion では、パワー状態にかかわらずマシンを移動できます。

    3. [保存] をクリックします。
  5. アクションがいつ利用可能になるかを制限するには、条件を構成します。
    たとえば、CPU 数が 4 以下のマシンでのみ vMotion アクションを使用できるようにするといった状況が考えられます。
    1. [条件が必要] をオンにします。
    2. 条件を入力します。
      Key 演算子
      ${properties.cpuCount} lessThan 4

      複雑な条件が必要な場合は、Cloud Assembly カスタム アクションの詳細条件を作成する方法を参照してください。

    3. [更新] をクリックします。
  6. [仮想マシンの移動] アクションが、条件に一致する展開されたマシンに対して使用可能であることを確認します。
    1. [展開] を選択します。
    2. 定義された条件に一致する展開済みのマシンを含む展開を探します。
    3. 展開を開いて、マシンを選択します。
    4. 右側のペインで [アクション] をクリックし、Move VM アクションが表示されることを確認します。
      [アクション] メニューの [仮想マシンの移動] アクションの例。
    5. アクションを実行します。