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 #※ 再起動