Create multiple servers
Method | URI | Description |
---|---|---|
POST | /v2/{tenant_id}/servers | オプションの予約IDを持つサーバを1台以上作成します。 |
Normal response codes: 202
-
「/etc/cloud/cloud.cfg」に以下の設定がない場合は、「/etc/cloud/cloud.cfg.d/datasource.cfg」を作成して追加してください。すでに設定済の場合は、対応する必要はありません。
datasource_list: ['OpenStack']
- イメージを登録(インポート)したユーザーのパスワードを変更すると、イメージを使用できなくなります。その場合は、運用者に以下のどちらかを伝えて、イメージの変更を依頼してください。
- イメージのuuidおよびユーザーの認証情報変更後のイメージのlocation情報
- イメージのuuidおよびユーザーの認証情報変更後に登録(インポート)したイメージのuuid
- インスタンスを作成した際に、"status"が "ERROR"および"fault"の"message"に以下のメッセージが表示された場合、「Create server (1)」に記載する手順でインスタンスを再作成してください。
"ブロックデバイスマッピングが不正です: <経過時間(秒)>秒の経過後、または、<ボリュームのstatus確認回数>回のstatus確認後も、ボリューム<ボリュームのuuid>の作成が完了しません。"
Request
下表は、複数サーバ作成リクエストのURIパラメーターの一覧です。
Name | Type | Description |
---|---|---|
{tenant_id} | String | プロジェクトID |
下表は、複数サーバ作成リクエストのリクエストボディ部のパラメーターの一覧です。
Name | Type | Description |
---|---|---|
security_group | array
(Optional) |
1つ以上のsecurity_groupオブジェクト。name属性にはセキュリティグループの名前を指定してください。この属性を省略した場合、サーバはデフォルトのセキュリティグループに作成されます。
SecurityGroupには、以下のIPアドレスおよびポート番号に対するTCP通信を許可したものを設定してください。 IPアドレス: 169.254.169.254 ポート番号: 80 TCP通信が許可されていないと、インスタンス作成時のホスト名(コンピュータ名)や管理者パスワードの設定が実施されない場合があります。 |
user_data | string
(Optional) |
起動時に使用する構成情報またはスクリプト。Base64でエンコードされている必要があります。
サポートしている形式は、主に下記になります。
業務OSがLinuxの場合、スクリプトのほかにcloud-config形式の指定もできますが、検証未完のため、スクリプトの指定を推奨します。 |
availability_zone | string
(Optional) |
仮想サーバを作成するアベイラビリティゾーン |
server | object | サーバ |
imageRef | string | 仮想サーバに使用するイメージの参照先 イメージIDまたはURLを指定してください。. |
flavorRef | string | 仮想サーバに使用するフレーバーの参照先 フレーバーIDまたはURLを指定してください。 |
key_name | string
(Optional) |
指定した名前のキーペアの公開鍵をサーバに割り当てます。 |
networks | array
(Optional) |
networksオブジェクト。デフォルトでは、プロジェクトが所属するネットワークすべてが仮想サーバに割り当てられます。必要であれば、1つ以上のNICをサーバに作成することもできます。ネットワークのNICを仮想サーバに割り当てるには、networksオブジェクトのuuid属性にネットワークのUUIDを指定します。
既存ポートのNICを仮想サーバに割り当てるには、networksオブジェクトにポートIDを指定します。 サーバ上の複数のNICを指定できます。 ネットワークは必ず指定してください。 仮想サーバに対して、以下の情報を設定するために、仮想サーバを接続するネットワークには仮想ルータが接続されている必要があります。
|
uuid | string
(Optional) |
ネットワークのNICを仮想サーバに割り当てるには、networksオブジェクトのuuid属性にネットワークIDを指定します。port属性を省略した場合は必須です。
ネットワークに複数のサブネットを含む場合、任意のサブネットからIPアドレスが割り当てられます。特定のサブネットのIPアドレスを割当てる場合は、事前にポートを作成し、そのポートのuuidをportで指定してください。 |
port | string
(Optional) |
既存ポートのNICを仮想サーバに割り当てるには、networksオブジェクトのポート属性にポートIDを指定します。uuid属性を省略した場合は必須です。 |
fixed_ip | string
(Optional) |
NICに設定する固定IPv4アドレス。 |
name | string | 仮想サーバ名
本情報は、コンピュータ名/ホスト名としても使用されます。 64文字以上を指定した場合、以下のようになります。
なお、コンピュータ名/ホスト名に設定する文字列は、以下のように変更され、設定されます。
|
metadata | object
(Optional) |
メタデータキーと値のペア。メタデータキーと値の最大サイズはそれぞれ、255バイトです。
|
block_device_mapping_v2 | array | 他のパラメーターが指定された場合にボリュームからサーバを起動できるようにします。 |
device_name | string |
仮想サーバの起動に使用するボリュームのデバイスのパスを記述します。
注: 複数のボリュームを割り当てたインスタンスを作成する場合、デバイス名の
"/dev/vd" + 1文字以上の小文字の半角英字部分 が重複しないようにしてください。警告:
特に理由がない限りは、システムボリュームのデバイス名を デバイス名に指定された文字の優先順序は、 |
source_type | string | ボリュームのボリュームソース種別を記述します。"snapshot"、"volume"、または "image"を選択できます。 |
destination_type | string | 接続先("volume")を指定します。 |
delete_on_termination | bool
(Optional) |
インスタンス作成時に作成したボリュームを、インスタンス削除時に削除するかどうかを指定します。
Trueを指定した場合、インスタンス作成時に作成したボリュームを、インスタンス削除時にボリュームも削除します。 Falseを指定した場合、インスタンス作成時に作成したボリュームを、インスタンス削除時にボリュームを削除しません。 未指定時は、False(削除しない)となります。 なお、snapshotが採取されているボリュームは、Trueを指定しても削除されません。 |
boot_index | String | デバイスの起動順序を指定します。0から連続した値を指定します。起動ディスクは、0を指定します。 |
config_drive | String
(Optional) |
falseのみ指定できます。 |
uuid | uuid | source_typeに指定したリソースのUUIDを指定します。 |
volume_size | String | ボリュームサイズをGB単位で指定します。
source_typeにimageを指定した場合は、必ず指定してください。値には、使用するイメージのmin_diskパラメーター以上の値を指定してください。なお、使用するイメージのmin_diskパラメーターが無し、または、0の場合、イメージの提供元に最小サイズを確認し、指定してください。 source_typeにvolumeを指定した場合は、値を指定しても無視されます。 source_typeにsnapshotを指定した場合に、省略すると、スナップショットの採取元のボリュームのサイズとなります。 |
volume_type | string
(Optional) |
ボリュームタイプ名を指定します。
source_typeにimageを指定した場合にだけ、指定されたボリュームタイプでボリュームが作成されます。省略した場合は M1 となります。 source_typeにvolumeを指定した場合は、ボリュームタイプは変更できないため、値を指定しても無視されます。 source_typeにsnapshotを指定した場合は、スナップショット元のボリュームのボリュームタイプで作成されます。値を指定しても無視されます。 |
return_reservation_id | string
(Optional) |
サーバごとに予約IDを生成するには "True" に設定します。予約IDを生成せずにサーバを作成する場合は本属性を省略する。この拡張属性は、サービスプロバイダーが複数サーバの起動を可能にしている場合に有効となる。 |
min_count | string
(Optional) |
サービスプロバイダが複数サーバの起動を可能にしている場合に起動するサーバの最小台数。
指定した値以上のサーバを作成できなかった場合、エラーとなります。指定しなかった場合のデフォルト値は1です。 |
max_count | string
(Optional) |
サービスプロバイダが複数サーバの起動を可能にしている場合に起動するサーバの最大台数。
指定した値のサーバ作成を試みます。指定しなかった場合のデフォルト値はmin_countの値です。 |
Example. Create multiple servers: JSON request
Creates one or more servers with an optional reservation ID.
{
"server": {
"name": "new-server-test",
"imageRef": "9f033140-ea8c-41fe-a432-e832799aa47f",
"flavorRef": "1",
"key_name": "keypair1",
"metadata": {
"My Server Name": "Apache1"
},
"return_reservation_id": true
}
}
Creates one or more servers with an optional min count.
{
"server": {
"name": "new-server-test",
"imageRef": "9f033140-ea8c-41fe-a432-e832799aa47f",
"flavorRef": "08ef25d1-9616-46b6-bad3-3835efccf3a5",
"metadata": {
"My Server Name": "Apache1"
},
"min_count": 1
}
}
Creates one or more servers with an optional max count.
{
"server": {
"name": "new-server-test",
"imageRef": "9f033140-ea8c-41fe-a432-e832799aa47f",
"flavorRef": "08ef25d1-9616-46b6-bad3-3835efccf3a5",
"metadata": {
"My Server Name": "Apache1"
},
"max_count": 1
}
}
Response
Example. Create multiple servers: JSON response
{
"server": {
"adminPass": "wfksH3GTTseP",
"id": "440cf918-3ee0-4143-b289-f63e1d2000e6",
"links": [
{
"href": "http://openstack.example.com/v2/openstack/servers/440cf918-3ee0-4143-b289-f63e1d2000e6",
"rel": "self"
},
{
"href": "http://openstack.example.com/openstack/servers/440cf918-3ee0-4143-b289-f63e1d2000e6",
"rel": "bookmark"
}
]
}
}
Example. Create multiple servers: JSON response
{
"reservation_id": "r-3fhpjulh"
}