イメージ マッピングでは、自然言語による名前付けを使用して、vRealize Automationでの特定のクラウド アカウントとリージョンに対する一連の事前定義済みのターゲット オペレーティング システム仕様をグループ化します。

Microsoft AzureAmazon Web Services などのクラウド ベンダー アカウントは、イメージを使用して、OS や関連する設定などの一連のターゲットの展開条件をグループ化します。vCenterVMware Cloud on AWS などのNSX ベースの環境では、同様のグループ分けメカニズムを使用して、一連の OS 展開条件を定義します。テンプレートをビルドし、最終的に展開して、繰り返し使用する場合は、ニーズに最も適した使用可能なイメージを選択します。

プロジェクトのイメージ マッピングは、同様のオペレーティング システム設定、タグ付け方法、および機能展開の目的に合わせて編成します。

テンプレートの作成を簡素化するために、新しいクラウド アカウントを追加するときに事前構成オプションを選択できます。事前構成オプションを選択すると、指定されたリージョンに対する組織で最も一般的なフレーバー マッピングとイメージ マッピングが選択されます。

テンプレートにイメージ情報を追加する場合は、マシン コンポーネントの properties セクションの image または imageRef のどちらかのエントリを使用します。たとえば、スナップショットからクローンを作成する場合は、imageRefプロパティを使用します。

テンプレート コードの image および imageRef エントリの例については、Cloud Assembly 展開の設計を参照してください。

コンテンツ ライブラリに権限を割り当てるには、管理者が権限をグローバル権限としてユーザーに付与する必要があります。関連情報については、VMware vSphere のドキュメントで、『vSphere 仮想マシン管理』のコンテンツ ライブラリの権限の階層的な継承を参照してください。

クラウド アカウント/リージョンのイメージの同期

Cloud Assembly[インフラストラクチャ] > [構成] > [イメージ マッピング] ページの特定のクラウド アカウント/リージョンに対して追加または削除しているイメージが最新のものであることを確認するには、イメージの同期を実行します。
  1. Cloud Assembly[インフラストラクチャ] > [接続] > [クラウド アカウント] を選択して、関連付けられている [クラウド アカウント/リージョン] を開きます。
  2. 既存のクラウド アカウント/リージョンを選択します。
  3. [イメージの同期] ボタンをクリックして、アクションを完了させます。

    クラウド アカウント ページの [イメージの同期] アイコンの画像

  4. アクションが完了したら、[インフラストラクチャ] > [構成] > [イメージ マッピング] をクリックします。
  5. イメージ マッピングを新しく定義するか、既存のものを編集して、手順 1 のクラウド アカウント/リージョンを選択します。
  6. [イメージ マッピング] ページのイメージ同期アイコンをクリックします。

    イメージ マッピング ページに表示されたイメージ同期アイコン

  7. [イメージ マッピング] ページで、指定されたクラウド アカウント/リージョンのイメージ マッピングを構成します。

OVF 詳細の表示

vCenter Server マシン コンポーネントやイメージ マップなど、OVF 仕様を Cloud Assembly クラウド テンプレート オブジェクトに含めることができます。イメージに OVF ファイルが含まれている場合は、ファイルを開かずにそのコンテンツを見つけることができます。OVF の詳細を表示 オプションの上にマウスを移動すると、名前と場所を含む OVF の詳細が表示されます。OVF ファイル フォーマットの詳細については、vcenter ovf: propertyを参照してください。OVF の詳細を表示するには、イメージ マッピングが Web サーバに存在する必要があります。

[OVF 詳細の表示] 記号の上にマウスを移動し、クリックして OVF コンテンツを表示

注: テンプレートからプロビジョニングするときに、 vCenter Server またはコンテンツ ライブラリ内のイメージの OVF プロパティを使用することはできません。OVF が vCenter に直接ホストされている場合、「 OVF の詳細を表示」オプションは表示されないか、使用できません。「 OVF の詳細を表示」オプションは、コンテンツ ライブラリ内のイメージには使用できません。

マッピング フィールドで OVF リンクを使用して OVF の詳細を表示する方法の関連情報については、外部の記事OVA からのクラウド テンプレートを参照してください。

Microsoft Azureイメージ ギャラリーにある最新の共有イメージの使用

Microsoft Azureのイメージ マッピングを作成するとき、サブスクリプションの共有 Azure イメージ ギャラリーからイメージを選択できます。ドロップダウン メニュー内のイメージはデータ収集され、選択したリージョンに基づいて使用可能になります。

共有イメージ ギャラリーは複数のサブスクリプションから使用できますが、イメージ マッピング ドロップダウン メニューに複数のサブスクリプションから表示することはできません。特定のサブスクリプションのイメージだけがデータ収集されてイメージ マッピング リストに表示されます。別のサブスクリプションのイメージ ギャラリーに属するイメージを使用するには、イメージ マッピングでイメージ ID を指定して、テンプレートでそのイメージ マッピングを使用します。

制約とタグの使用によるイメージに適したコンピューティングの選択

イメージ制約を使用し、コンピューティングのタグに基づいて適切なコンピューティングを選択できます。たとえば、特定のイメージに tag1 制約があり、割り当て中にイメージが選択される場合は、プロビジョニングするマシンを配置するためにタグ tag1 が付いたコンピューティングが選択されます。このようなコンピューティングがない場合、マシンの割り当ては失敗します。

クラウド設定スクリプトを使用した展開の制御

イメージ マップとテンプレートのどちらかまたはその両方でクラウド構成スクリプトを使用して、Cloud Assembly 展開で使用するカスタムの OS 特性を定義できます。たとえば、テンプレートをパブリック クラウドまたはプライベート クラウドのどちらに展開するかに応じて、特定のユーザー権限、OS 権限、またはその他の条件をイメージに適用することができます。クラウド設定スクリプトは、Linux ベースのイメージの場合は cloud-init、Windows ベースのイメージの場合はcloudbase-init の形式になります。Cloud Assemblyは、Linux システム用の cloud-init ツールと Windows 用の cloudbase-init ツールをサポートしています。

Windows マシンの場合、cloudbase-initでサポートされている任意のクラウド設定スクリプト形式を使用できます。

次のサンプル テンプレート コードのマシン リソースは、クラウド構成スクリプトを含むイメージを使用しており、その内容が image エントリに表示されます。
resources:
  demo-machine:
    type: Cloud.vSphere.Machine
    properties:
      flavor: small
      image: MyUbuntu16 
        https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ami-ubuntu-16.04-1.10.3-00-15269239.ova
      cloudConfig: |
        ssh_pwauth: yes
        chpasswd:
          list: |
            ${input.username}:${input.password}
          expire: false
        users:
          - default
          - name: ${input.username}
            lock_passwd: false
            sudo: ['ALL=(ALL) NOPASSWD:ALL']
            groups: [wheel, sudo, admin]
            shell: '/bin/bash'
        runcmd:
          - echo "Defaults:${input.username}  !requiretty" >> /etc/sudoers.d/${input.username}

動的プロパティ評価は、テンプレートで cloudConfig を直接使用する場合には機能しますが、イメージ マップ内の cloudConfig ではサポートされません。

テンプレートのコードでは、イメージ マッピングとして定義されているイメージを参照するには image 設定を使用します。スナップショット(リンク クローンの場合)、イメージ テンプレート、またはコンテンツ ライブラリ テンプレート OVF を含むテンプレートを特定するには、imageRef設定を使用します。

イメージ マッピングとテンプレートにクラウド構成スクリプトが含まれている場合の動作

クラウド構成スクリプトを含むテンプレートがクラウド構成スクリプトを含むイメージ マッピングを使用する場合、両方のスクリプトが結合されます。このマージ動作では、スクリプトが #cloud-config の形式になっているかどうかを考慮しながら、まずイメージ マッピング スクリプトの内容、次にテンプレート スクリプトの内容が処理されます。

  • #cloud-config形式のスクリプトの場合、マージでは各モジュールの内容(たとえば runcmduserswrite_files)が次のように結合されます。
    • 内容がリストであるモジュールの場合、イメージ マッピングのコマンドのリストとテンプレートのコマンドのリストがマージされ、両方のリストで同一であるコマンドが除外されます。
    • 内容がディクショナリであるモジュールの場合、コマンドはマージされ、結果は両方のディクショナリの組み合わせになります。両方のディクショナリに同じキーがある場合、イメージ マッピング スクリプト ディクショナリのキーは保持され、テンプレート スクリプト ディクショナリのキーは無視されます。
    • 内容が文字列であるモジュールの場合、イメージ マッピング スクリプトの内容値は保持され、テンプレート スクリプトの内容値は無視されます。
  • 両スクリプトの形式が #cloud-config 以外の場合、または片方のスクリプトが #cloud-config 形式でもう片方が別の形式の場合、両スクリプトの結合では、イメージ マッピング スクリプトが最初に実行され、イメージ マッピング スクリプトの終了後にテンプレート スクリプトが実行されます。

vCenterコンテンツ ライブラリからのイメージの追加

ローカルまたは公開者のコンテンツ ライブラリの場所が、vRealize Automation組織によって管理されているvCenter Server 内である場合、コンテンツ ライブラリのテンプレート イメージがイメージ ドロップダウン メニューに表示されます。表示されるイメージには、ローカルまたは公開者のvCenterServer コンテンツ ライブラリ内の OVF および仮想マシン テンプレート イメージも含まれます。サブスクライバ コンテンツ ライブラリ内のイメージは、ドロップダウン メニューに表示されません。仮想マシンのクローンを作成する元になったテンプレートが、マシン展開ユーザー インターフェイスの [マシンの詳細] セクションに表示されます。

イメージ名の前にライブラリ名が付き、スラッシュで区切られたライブラリ アイテムを示す画像

注:

公開者コンテンツ ライブラリの vCenterServer が vRealize Automation によって管理されている場合、公開者の情報がイメージ マッピングの選択グリッドに次の形式で表示されます。publisher_content_library_name / content_item_name

コンテンツ ライブラリに権限を割り当てるには、管理者が権限をグローバル権限としてユーザーに付与する必要があります。関連情報については、VMware vSphere のドキュメントで、『vSphere 仮想マシン管理』のコンテンツ ライブラリの権限の階層的な継承を参照してください。

公開者コンテンツ ライブラリの vCenterServer が vRealize Automation によって管理されていない場合、サブスクライバの情報がイメージ マッピングの選択グリッドに次の形式で表示されます。subscriber_content_library_name / content_item_name

たとえば、次のシナリオでは、サブスクライバ コンテンツ ライブラリ アイテムのみが vRealize Automationイメージ マッピング リストに表示されます。
  • VC-1 という名前の vCenterServer に、サブスクライバ コンテンツ ライブラリがあり、クラウド アカウントは VC-1 に関連付けられた vRealize Automation に作成されます。
  • VC-2 という名前のvCenterServer に、公開者コンテンツ ライブラリがあり、VC-1 のサブスクライバ コンテンツ ライブラリはここからサブスクライブされています。ただし、VC-2 に関連付けられているクラウド アカウントは vRealize Automationにありません。

    VC-1 は vRealize Automationクラウドアカウントに関連付けられているため、サブスクライバ コンテンツ ライブラリはvRealize Automation で使用できます。そのコンテンツは収集され、vRealize Automationイメージ マッピング リストに表示されます。しかし、VC-2 はクラウド アカウントに関連付けられていないため、vRealize Automationには公開者コンテンツ ライブラリの情報はありません。イメージ マッピング リストに公開者コンテンツ ライブラリ アイテムを表示するには、クラウド アカウントを VC-2 vCenterServer に関連付ける必要があります。

仮想マシン テンプレート イメージ マッピングを含むテンプレートを展開すると、vRealize Automation は、プロビジョニングするマシンのデータストアに最も近いコンテンツ ライブラリ内で、マッピングされたイメージへのアクセスを試みます。次に、そのマシンのホストに最も近いコンテンツ ライブラリ内でアクセスを試みます。これには、ローカルのコンテンツ ライブラリに加えて、公開者またはサブスクライバのコンテンツ ライブラリも含まれます。

OVF テンプレート イメージ マッピングを含むテンプレートを展開すると、OVF イメージがローカル コンテンツ ライブラリにある場合、または指定されたリモート公開者コンテンツ ライブラリのローカル サブスクライバにある場合、そのイメージはイメージ マッピング行で指定された方法でアクセスされます。

vCenter Server コンテンツ ライブラリの作成と使用に関する情報については、vSphere 製品ドキュメントコンテンツ ライブラリの使用および VMware ブログ記事How to Use Content LibrariesおよびManage templates with vSphere content libraryを参照してください。

クラウド構成スクリプトの設定と使用に関する詳細情報

テンプレートでのクラウド構成スクリプトの使用方法については、Cloud Assembly でのマシンの初期化を参照してください。

VMware ブログ記事vSphere Customization with Cloud-initおよびCustomizing Deployments with Cloud-Initも参照してください。