サーバー作成 | Z.com Cloud パブリッククラウド リファレンス

サーバー作成

Description

仮想サーバーを作成します。
・IPアドレスを購入していない場合ははじめにコントロールパネルからIPアドレスの購入が必要です。
・ブート用ボリュームをあらかじめ作成する必要があります。
・指定できるポート数はローカルネットワークは2つ、それ以外はグループ毎に1つまでです。

[サーバーのrootパスワードについて]
サーバーのroot/Administratorパスワードは"adminPass"パラメータを利用します。adminPassはOptionalですが、指定するimageによって動作が変わります。
・Publicイメージを指定した場合、パスワードが入力されていないとランダムなパスワードが設定されます。
・Privateイメージ(自身の仮想サーバーの保存イメージ)を指定した場合、パスワードが入力されなかったら元イメージのパスワードが設定されます。(※レスポンスのadminPassには""と表示されます)
・文字種:半角英大文字と、半角英小文字と、半角数字または記号の組み合わせ以外はエラー
・文字数:9文字以上~70文字以内
・使用可能な記号 : ! # $ % & ? " ' = + - _ { } [ ] ^ ~ : ; ( ) . , / | \ * @

Request URL

Compute API v2.0

POST /v2/{tenant_id}/servers

Request Json

# 最低指定時(port指定)
{
    "server": {
        "name": "ホスト名",
        "flavorRef":"フレーバーID",
        "adminPass":"パスワード",
        "networks": [
            {
                "port":"ポートID"
            }
        ],
        "block_device_mapping": [
            {
                "volume_id":"ボリュームID(ブートディスク)"
            }
        ]
    }
}

# 最低指定時(UUID[NetworkID]指定)
{
    "server": {
        "name":"ホスト名",
        "flavorRef":"フレーバーID",
        "adminPass":"パスワード",
        "networks": [
            {
                "uuid":"ネットワークID"
            }
        ],
        "block_device_mapping": [
            {
                "volume_id":"ボリュームID(ブートディスク)"
            }
        ]
    }
}

# Port複数指定時
{
    "server": {
        "name": "ホスト名",
        "flavorRef":"フレーバーID",
        "adminPass":"パスワード",
        "networks": [
            {
                "port":"ポートID"
            },
            {
                "port":"ポートID"
            },
            {
                "port":"ポートID"
            }
        ],
        "block_device_mapping": [
            {
                "volume_id":"ボリュームID(ブートディスク)"
            }
        ]
    }
}

# SSHキー指定時
{
    "server": {
        "name":"ホスト名",
        "flavorRef":"フレーバーID",
        "adminPass":"パスワード",
        "networks": [
            {
                "port":"ポートID"
            }
        ],
        "block_device_mapping": [
            {
                "volume_id":"ボリュームID(ブートディスク)"
            }
        ],
       "key_name":"SSHキー名"
    }
}

# metadata指定時
{
    "server": {
        "name":"ホスト名",
        "flavorRef":"フレーバーID",
        "adminPass":"パスワード",
        "networks": [
            {
                "port":"ポートID"
            }
        ],
        "block_device_mapping": [
            {
                "volume_id":"ボリュームID(ブートディスク)"
            }
        ],
       "metadata": {
            "instance_name_tag":"ネームタグ"
        }
    }
}

# 追加ディスク指定時
{
    "server": {
        "name":"ホスト名",
        "flavorRef":"フレーバーID",
        "adminPass":"パスワード",
        "networks": [
            {
                "port":"ポートID"
            }
        ],
        "block_device_mapping": [
            {
                "volume_id":"ボリュームID(ブートディスク)"
            },
            {
                "volume_id":"ボリュームID(追加ディスク)"
            }
        ]
    }
}

Request Parameters

Parameter Value Style Description
X-Auth-Token Userトークン header トークンID
tenant_id テナントID URI テナントID
name ホスト名 plain OS内のホスト名(英数字15文字以下、「-」のみ利用可能)
flavorRef フレーバーID plain 対象サーバータイプのUUIDを指定する。サーバータイプ一覧取得にてフレーバーIDをご確認ください。
networks ネットワークオブジェクト plain keyに"port"を、valueにアタッチしたいポートIDを指定、またはkeyに"uuid"を、valueにサブネットを持つネットワークIDを指定する(RequestJson参照) ポート一覧取得にてポートIDを、ネットワーク一覧取得にてネットワークIDをご確認ください。
block_device_mapping ブロックストレージ Array deviceは1~2つマッピングできる。
volume_id ボリュームID plan アタッチしたいボリュームのIDを指定する。ボリューム一覧取得にてボリュームIDをご確認ください。
adminPass (Optional) パスワード plan サーバーのroot/Administratorのパスワード(詳細は「サーバーのroot/Administratorパスワードについて」を参照)
key_name (Optional) SSHキー名 plan SSHキーを利用する場合に指定する。キーペア一覧取得にてSSHキー名をご確認ください。
metadata (Optional) plan
instance_name_tag (Optional) ネームタグ plan ネームタグを入れる際に利用する(Default:server.name)(文字種:半角英数字、「 - 」、「 _ 」のみを許可。文字数:255文字以下)
availability_zone (Optional) ホストサーバー名 plan 作成先のホストサーバーを指定する際に使用する。(自分のホストサーバーを所有している場合のみ使用可能)

Response

  • Normal response codes
202

Example

  • Request
curl -i -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: トークンID" \
-d '{
        "server": {
            "name": "ホスト名",
            "flavorRef": "フレーバーID",
            "adminPass": "パスワード",
            "networks": [
                {
                    "uuid": "ネットワークID"
                }
            ],
            "block_device_mapping": [
                {
                    "volume_id": "ボリュームID(ブートディスク)"
                }
            ]
        }
    }' \
https://compute.jpt1.cloud.z.com/v2/テナントID/servers
  • Response
HTTP/1.1 202 Accepted
Date: Fri, 22 Jul 2016 06:02:41 GMT
Server: Apache
Content-Length: 446
Content-Type: application/json

{
    "server": {
        "security_groups": [
            {
                "name": "セキュリティグループ名"
            }
        ],
        "OS-DCF:diskConfig": "MANUAL",
        "id": "サーバーID",
        "links": [
            {
                "href": "https://compute.jpt1.cloud.z.com/v2/テナントID/servers/サーバーID",
                "rel": "self"
            },
            {
                "href": "https://compute.jpt1.cloud.z.com/テナントID/servers/サーバーID",
                "rel": "bookmark"
            }
        ],
        "adminPass": "パスワード"
    }
}