Create Server#

サーバを作成します。

📒注:
  • 「/etc/cloud/cloud.cfg」に以下の設定がない場合は、「/etc/cloud/cloud.cfg.d/datasource.cfg」を作成して追加してください。すでに設定済の場合は、対応する必要はありません。
    datasource_list: ['OpenStack']
    
  • インスタンスの作成でエラーが生じると、"status"が "ERROR"、または"fault"になります。

    "message"を確認し、以下の内容が表示された場合はインスタンスの再作成が必要です。

    "Block Device Mapping is Invalid: Volume <ボリュームのuuid> did not finish being created even after we waited <経過時間(秒)> seconds or <ボリュームのstatus確認回数> attempts."

    インスタンスの再作成は、以下の手順を実施してください。
     1. ボリューム"status"の確認
      <ボリュームのuuid>で示す"status"が"available"に変更されることを確認します。
      「Show a volume's details」を参照し、ボリュームの状態を確認してください。
      インスタンスの作成に失敗した場合、タイミングによっては"status"が"reserved"になります。
      この場合は、アタッチメントを削除してボリュームの状態を復旧する必要があります。
      アタッチメントの削除は、以下の手順を実施してください。
        a. 対象アタッチメントを確認する
         「List all attachments」を参照し、対象アタッチメントのUUIDを確認します。
        b. 対象アタッチメントを削除する
         「Delete an attachment」を参照し、対象アタッチメントを削除します。
     2. インスタンスの削除
      エラーとなったインスタンスだけを削除します。
      「Delete Server」を参照し、削除してください。
     インスタンスだけ削除され、ボリュームが存在していることを確認します。
        a. インスタンスが削除されていることを確認する
         「Show Server Details」を参照し、インスタンスが削除されたことを確認します。
        b. ボリュームの存在を確認する
         「Show a volume's details」を参照し、ボリュームの存在を確認します。
     3. インスタンスの作成
      1.のボリュームを指定してインスタンスを作成します。
      "block_device_mapping_v2"の"source_type"に"volume"、"uuid"に再利用する<ボリュームのuuid>を指定して、インスタンスを作成します。

APIエンドポイント#

リージョン APIエンドポイント
西日本リージョン3の場合 https://compute.jp-west-3.cloud.global.fujitsu.com
東日本リージョン3の場合 https://compute.jp-east-3.cloud.global.fujitsu.com

HTTPメソッドとURI#

POST

/v2.1/{project_id}/servers

HTTPステータスコード#

正常時:202

エラー時:400, 401, 403, 404, 409, 503

📒注: 「503 Sorry. We're busy for now. Please retry after a while.」が返却された場合は、数分間待ってリトライしてください。

リクエストパラメータの説明#

名前 In Type デフォルト値
/必須指定
Description
project_id path string 必須 プロジェクトのUUID
server body object 必須 サーバのオブジェクト
name body string 必須 サーバ名
本情報は、コンピュータ名/ホスト名としても使用されます。
なお、コンピュータ名/ホスト名に設定する文字列は、以下のように変更され、設定されます。
- 64文字以上を指定した場合、63文字に短縮
- 空白とアンダースコア(_)を、ハイフン(-)に置換
- アルファベットの大文字を、小文字に置換
- ピリオド(.)とハイフン(-)以外の記号を削除
- 先頭がピリオド(.)またはハイフン(-)の場合、文字列を削除
- 末尾がピリオド(.)またはハイフン(-)の場合、文字列を削除
- Windowsにおいては、文字列の先頭、末尾以外にピリオド(.)が存在する場合、ピリオド(.)直前までの文字列を採用
- Unicode文字U+0000からU+0FFF以外の文字を削除
- 変換によってホスト名が空になった場合、ランダムサーバー名を設定
📒注:
- サーバ名に日本語を含める場合、UTF8換算で63byte以下になるように指定してください。
- サーバ名に以下の文字は使用しないでください。
 - 小なり不等号(<)
 - 大なり不等号(>)
 - アンパサンド(&)
 - シングルクォート(')
 - ダブルクォート(")
 - パーセント(%)
 - アットマーク(@)
flavorRef body string 必須 フレーバーの種別
security_groups body array 任意 セキュリティグループ
name属性にセキュリティグループの名前を指定します。名前を省略する場合は、デフォルトのセキュリティグループに作成します。セキュリティグループは設定済のポートに設定されません。
metadata body object 任意 メタデータのキーと値のペア
メタデータキーと値の最大サイズはそれぞれ、255バイトです。
- 使用OSが Windowsであり、かつパスワードを指定する場合
キーに「admin_pass」を指定してください。
値に指定するパスワードは cloudbase-initで指定したユーザーに対して設定されます。
cloudbase-initで指定したユーザーについては、イメージ提供元に確認してください。
指定例: "metadata": {"admin_pass": "<サーバに設定するパスワード>"}
- オートフェイルオーバー機能を使用する場合
"fcx.autofailover":"true"を指定してください。
なお、以下の条件を1つでも満たすインスタンスは、弊社サポートによる復旧対象外となります。利用者で、インスタンスを再作成または削除してください。
・ "fcx.autofailover": "false"が設定されている
・ オートスケール対象になっている
・ インスタンスのstatusが、ERRORになっている
accessIPv4 body string 任意 サーバにアクセスするためのIPv4アドレス
サーバには設定されません。
adminPass body string 任意 サーバの管理者パスワード
省略する場合は、自動的に生成されます。
user_data body string 任意 起動時のスクリプトの設定情報
Base64で暗号されている必要があります。
availability_zone body string 任意 サーバのアベイラビリティゾーン
networks body array 必須 ネットワークのオブジェクト
プロジェクトに複数のネットワークが存在する場合は、必須です。ネットワークが1つしかない場合は省略可能です。
networks.uuid body string 任意 ネットワーク用のNICを使用してサーバを配備するには、ネットワークのUUIDを指定します。
networks.portを省略する場合は必須です。
networks.port body string 任意 既存のポートのNICを使用してサーバを配備するには、ポートIDを指定します。指定するポートは DOWN状態である必要があります。
networks.uuidを省略する場合は必須です。
なお、セキュリティグループは既存のポートには適用されません。
networks.fixed_ip body string 任意 NICの固定IPアドレス
networks.tag body string 任意 ネットワークインターフェースに適用するタグ
サーバのゲストOSによるメタデータとして参照できます。
📒注: マイクロバージョン2.32以上を指定してください。
block_device_mapping_v2 body array 任意 ブロックデバイスマッピングの情報
例:
"block_device_mapping_v2": [{
"boot_index":"0",
"uuid":"ac408821-c95a-448f-9292-73986c790911",
"source_type": "image",
"volume_size":"25",
"destination_type":"volume",
"delete_on_termination": true,
"tag":"disk1",
"disk_bus":"scsi"
}]
block_device_mapping_v2.source_type body string 必須 ボリュームのソースタイプ
「blank」、「snapshot」、「volume」または「image」を指定します。
📒注: 「volume」以外を指定した場合、ボリュームのタイプはM2 (スタンダードタイプ) です。
block_device_mapping_v2.destination_type body string 任意 ボリュームのタイプ
「volume」を指定します。
block_device_mapping_v2.delete_on_termination body string false
任意
「true」の場合は、サーバが削除されると、ブートボリュームも削除されます。
block_device_mapping_v2.boot_index body integer None
任意
ハイパーバイザーがサーバをストレージからブートするときの順位
0から始まる整数を指定します。
ブートを無効にする場合は、マイナスの値を指定する、もしくは指定しないでください。
block_device_mapping_v2.uuid body string 任意 block_device_mapping_v2.source_typeで指定したリソースのUUID
config_drive body boolean 任意 コンフィグドライブの有無
📒注: 提供しているOSイメージでは、本パラメータが反映されません。必要に応じてプライベートイメージを作成してください。
key_name body string 任意 キーペア名
os:scheduler_hints body object 任意 スケジューラに送信するデータ
📒注: リクエストボディ内でトップレベルのキーであり、serverオブジェクトに含めるものではありません。
os:scheduler_hints.group body string 任意 サーバグループUUID
サーバグループに指定されているポリシーに基づいて、サーバが起動されます。
description body string 任意 サーバの説明
255文字までです。
📒注: マイクロバージョン2.19以上を指定してください。
tags body array 任意 サーバに付与するタグ
以下の条件で指定してください。
- 60文字以内の文字列。
- 空文字列ではない。
- 「/」で始まらない。
- コンマが入っていない。
- 1つのサーバにタグ50個まで。
📒注: マイクロバージョン2.52以上を指定してください。

レスポンスボディ(正常系)の説明#

名前 Type Description
server object サーバのオブジェクト
id string サーバのUUID
links array サーバへのリンクURL
OS-DCF:diskConfig string ディスクの設定
「AUTO」または「MANUAL」が表示されます。
security_groups array セキュリティグループのオブジェクト
adminPass string サーバの管理者パスワード
enable_instance_passwordが「false」の場合は、表示されません。

リクエスト例#

{
  "server": {
    "name": "new-server-test",
    "flavorRef": "f5dc173b-6804-445a-a6d8-c705dad5b5eb",
    "networks": [
      {
        "uuid": "f5dc173b-6804-445a-a6d8-c705dad5b5eb"
      }
    ],
    "block_device_mapping_v2": [
      {
        "boot_index": "0",
        "uuid": "f5dc173b-6804-445a-a6d8-c705dad5b5eb",
        "source_type": "image",
        "volume_size": "40",
        "destination_type": "volume"
      }
    ],
    "key_name": "key_pair",
    "security_groups": [
      {
        "name": "default"
      }
    ]
  },
  "os:scheduler_hints": {
    "group": "f5dc173b-6804-445a-a6d8-c705dad5b5eb"
  }
}

レスポンス例#

{
    "server": {
        "OS-DCF:diskConfig": "AUTO",
        "adminPass": "6NpUwoz2QDRN",
        "id": "f5dc173b-6804-445a-a6d8-c705dad5b5eb",
        "links": [
            {
                "href": "http://openstack.example.com/v2/6f70656e737461636b20342065766572/servers/f5dc173b-6804-445a-a6d8-c705dad5b5eb",
                "rel": "self"
            },
            {
                "href": "http://openstack.example.com/6f70656e737461636b20342065766572/servers/f5dc173b-6804-445a-a6d8-c705dad5b5eb",
                "rel": "bookmark"
            }
        ],
        "security_groups": [
            {
                "name": "default"
            }
        ]
    }
}