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": [{ |
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" } ] } }