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

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

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

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

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

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

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

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

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

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

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

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

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

OVF 詳細の表示

vCenterマシン コンポーネントやイメージ マップなど、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 を指定して、クラウド テンプレートでそのイメージ マッピングを使用します。

イメージの選択を調整するための制約とタグの使用

クラウド テンプレートのイメージの選択をさらに絞り込むには、1 つまたは複数の制約を追加して、展開可能なイメージ タイプにタグベースの制限を指定します。イメージ マッピングの構成を作成または編集するときに表示される、提供される [制約] の例は、!license:none:hard です。この例では、タグベースの制限が示されています。これは、クラウド テンプレートに license:noneタグが表示されない場合にのみ、イメージを使用できることを示しています。license:88license:92 などのタグを追加すると、license:88 および license:92 タグがクラウド テンプレート内に含まれている場合にのみ、指定されたイメージを使用できます。

前述のイメージ マッピング制約の例の図

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

イメージ マップとクラウド テンプレートのどちらかまたはその両方でクラウド設定スクリプトを使用して、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 形式でもう片方が別の形式の場合、両スクリプトの結合では、イメージ マッピング スクリプトが最初に実行され、イメージ マッピング スクリプトの終了後にクラウド テンプレート スクリプトが実行されます。

関連情報については、Merging user-data sectionsを参照してください。

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

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

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

注:

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

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

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

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

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

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

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

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

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

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

また、VMware ブログ記事のvSphere Customization with Cloud-init While Using vRealize Automation 8 or CloudCustomizing Cloud Assembly Deployments with Cloud-Initも参照してください。