Properties

BlockDeviceMappingsV2

  • Block device mappings to attach to instance.
  • Required property.
  • Type: List
  • List contents:

    • Optional property.
    • Type: Map
    • Map properties:

      • source_type

        • Describes the volume source type for the volume.
        • Required property.
        • Allowed values: image, volume, snapshot
        • Type: String
      • destination_type

        • Describes where the volume comes from.
        • Required property.
        • Allowed values: volume
        • Type: String
      • boot_index

        • Indicates a number designating the boot order of the device.

          0から連続した値を指定します。起動ディスクは、"0"を指定します。

        • Required property.
        • Type: String
      • volume_size

        • ボリュームのサイズ(GB)。

          source_typeに"image"を指定した場合は、必ず指定してください。値には、使用するイメージのmin_diskパラメータ以上の値を指定してください。なお、使用するイメージのmin_diskパラメータが無し、または、0の場合、イメージの提供元に最小サイズを確認し、指定してください。

          source_typeに"volume"を指定した場合は、値を指定しても有効にならず、ボリュームのサイズは変わりません。

          source_typeに"snapshot"を指定した場合に、省略すると、スナップショットの採取元のボリュームのサイズとなります。

        • Optional property.
        • Type: String
      • uuid

        • source_typeに指定したリソースのuuid。
        • Required property.
        • Type: String
      • delete_on_termination

        • Indicate whether the volume should be deleted when the instance is terminated.

          "True"を指定した場合、スケールアウトおよびスタック作成時に作成したボリュームを、スケールインおよびスタック削除時にボリュームを削除します。

          "False"を指定した場合、スケールアウトおよびスタック作成時に作成したボリュームを、スケールインおよびスタック削除時にボリュームを削除しません。インスタンスを削除したあとでも、ボリュームの内容を保持したい場合は、"False"を指定してください。

          なお、snapshotが採取されているボリュームは、"True"を指定しても削除されません。

        • Optional property, defaults to "True".
        • Type: Boolean
      • device_name

        • A device name where the volume will be attached in the system at /dev/device_name.e.g. vdb

          /dev/vdx の形式で指定してください。/dev/vdまでは固定で、xはデバイス名として有効な文字を指定します。

          複数のボリュームを割当てたインスタンスを作成する場合、起動ボリュームには、全てのボリュームのデバイス名のうち、優先度が最も高い文字を指定してください。

          優先度は、a > b > c > ...の順です。

        • Required property.
        • Type: String
      • volume_type

        • ボリュームタイプ名を指定します。

          source_typeに"image"を指定した場合にだけ、指定されたボリュームタイプでボリュームが作成されます。省略した場合は M1 となります。

          source_typeに"volume"を指定した場合は、ボリュームタイプは変更できないため、値を指定しても無視されます。

          source_typeに"snapshot"を指定した場合は、スナップショット元のボリュームのボリュームタイプで作成されます。値を指定しても無視されます。

        • Optional property.
        • Type: String

ImageId

  • Glance image ID or name.
  • Optional property.
  • Type: String
  • Value must be of type glance.image

InstanceType

  • Nova instance type (flavor).
  • Optional property.
  • Type: String
  • Value must be of type nova.flavor

KeyName

  • Optional Nova keypair name.
  • Optional property.
  • Type: String
  • Value must be of type nova.keypair

NovaSchedulerHints

  • Scheduler hints to pass to Nova (Heat extension).

    "anti-affinity"のserver groupのuuidを指定してインスタンスを作成したとき、インスタンスを作成できるVMホストが無い(同じserver groupに属するインスタンスの数より、使用できるVMホストの数のほうが少ない)場合は、インスタンスの作成要求を受け付けた後、インスタンスのstatusがERRORとなります。

  • Optional property.
  • Type: List
  • List contents:

    • Optional property.
    • Type: Map
    • Map properties:

      • Key

        • Required property.
        • Type: String
      • Value

        • Required property.
        • Type: String

SecurityGroups

  • Security group names to assign.

    SecurityGroupには、以下のIPアドレスおよびポート番号に対するTCP通信を許可したものを設定してください。

    • IPアドレス: 169.254.169.254
    • ポート番号: 80
    CAUTION:
    TCP通信が許可されていないと、インスタンス作成時のホスト名(コンピュータ名)や管理者パスワードの設定が実施されない場合があります。
  • Optional property.
  • Type: List

UserData

  • User data to pass to instance.

    スクリプトを指定します。サポートしている形式は、主に下記になります。

    • 業務OSがLinuxの場合

      • シェルスクリプト(#!で開始するもの)
    • 業務OSがWindowsの場合

      • PowerShell(#ps1_sysnative または #ps1_x86で開始するもの)
      • Windows batch(rem cmdで開始するもの)
  • Optional property.
  • Type: String

PowerShellでc:\temp ディレクトリを作成する例を記述します。

UserData: |
  #!ps1_sysnative
  New-Item "c:\\temp" -Type Directory

インスタンスの再起動後に、独自の処理を実行する例を記述します。

UserData: |
   #!/bin/sh
   ※ 再起動前に実行する処理を記載します
 
   script_name="<※任意の名前>"
 
   CLOUD_DIR="/var/lib/cloud"
   SCRIPT_DIR="${CLOUD_DIR}/scripts"
   MODULE="per-instance"
   SCRIPT="${SCRIPT_DIR}/${MODULE}/${script_name}" 
 
   cat > ${SCRIPT} <<EOS 
   #!/bin/sh
   ※ 再起動後に実行される処理を記載します
   EOS
 
   chmod +x "${SCRIPT}"
   rm /var/lib/cloud/instance/sem/config_scripts_per_instance
 
   reboot #※ 再起動
CAUTION:
業務OSがLinuxの場合 cloud-config形式で指定した場合は無効になります。