APIを使用して仮想サーバーを作成する方法をご案内します。
以下ではcurlコマンドを用いたAPIの操作手順となりますので、任意のサーバーにて実行ください。
なお、本リファレンスに掲載しておりますフレーバーIDやイメージID等の一覧につきましては、実際のデータと更新に差が出る場合がございますので、ご利用の際はAPIにて最新版の一覧をご取得ください。
トークンの発行
[ 1 ] API認証を行い、トークンの取得ならびに発行されたトークンIDを確認します。認証のエンドポイント | コントロールパネル内のAPIメニューから「Identity Service」をご確認ください。 |
APIユーザー名 | コントロールパネル内のAPIメニューからAPIユーザーを作成ください。 |
パスワード | コントロールパネルのAPIメニューからAPIユーザーを作成する際に設定するパスワード。 |
テナント名 | コントロールパネル内のAPIメニューから「テナント名」をご確認ください。 |
curl -i -X POST \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -d ‘{“auth”:{“passwordCredentials”:{“username”: “APIユーザー名“, “password”: “パスワード“},”tenantName”:”テナント名“}}’ \ 認証のエンドポイント/tokens |
コンソール画面上には以下のようにリクエストの結果が返ってきます。「access」の「id」の値がAPI操作を行う際に必要となるトークンIDです。以降の手順では、トークンIDと表示されているものは全てこのIDを指すものとします。トークンIDは発行後、24時間で失効となりますので作業が日をまたぐ場合は都度発行する必要があります。
{“access”:{“token”:{“issued_at”:”2016-11-27T08:01:26.504595″,”expires”:”2016-11-28T08:01:26Z”, “id”:”9e54605ee98043b2a89d28f80bc1ce3f“ |
ブートストレージの作成
[ 1 ] ボリュームタイプの一覧を取得し、ボリュームタイプ名を確認します。
ボリュームのエンドポイント | コントロールパネル内のAPIメニューから「Volume Service」をご確認ください。 |
curl -i -X GET \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -H “X-Auth-Token: トークンID” \ ボリュームのエンドポイント/types |
上記リクエストが正常に処理されるとボリュームタイプの一覧情報が返ってきます。ボリュームタイプの一覧は以下の通りです。ボリュームタイプ名は以降の手順でAPIの操作に必要となりますので、任意のタイプ名についてメモをとってください。
ボリュームタイプ名 | IOPS | 備考 |
sd1-iops-500 | 500 | ボリュームサイズが50GBの時のみ指定可能 |
sd1-iops-1k | 1,000 | ボリュームサイズが100GB以上の時に指定可能 |
sd1-iops-5k | 5,000 | ボリュームサイズが100GB以上の時に指定可能 |
sd1-iops-10k | 10, 000 | ボリュームサイズが100GB以上の時に指定可能 |
[ 2 ] OSイメージの一覧を取得し、イメージIDを確認します。
イメージのエンドポイント | コントロールパネル内のAPIメニューから「Image Service」をご確認ください。 |
curl -i -X GET \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -H “X-Auth-Token: トークンID” \ イメージのエンドポイント/v2/images |
上記リクエストが正常に処理されると作成されたイメージの一覧情報が返ってきます。イメージの一覧は以下の通りです。イメージIDは以降の手順でAPIの操作に必要となりますので、任意のイメージIDについてメモをとってください。
・Linux
OS名 | ボリュームサイズ | イメージID |
---|---|---|
CentOS 6.8 | 50GB | 4bf532e4-02e3-4b0d-b524-90152e264772 |
100GB | 8e965538-736b-404b-98ae-8255178873d5 | |
300GB | 2d4eaeb4-8a35-425b-8726-3b5d08efafe6 | |
500GB | 667d8b3e-fae6-4763-a7db-67c7ac67736f | |
1TB | 390a7488-2d55-41c7-8620-06dd3a231ec7 | |
2TB | 984ba64a-6183-4e39-9b0b-146605f77f95 | |
CentOS 7.2 | - | 367eabf1-1074-4235-b52a-4f6c7bd8a677 |
CentOS 7.3 | - | 5d63f9a1-a029-4be5-9e66-76ff6b3b95a3 |
Ubuntu 14.04 | - | 01202b31-7943-450e-a839-44ecc9282e53 |
Ubuntu 16.04 | - | d47f8b62-5a06-42f9-9af1-55d955e9321f |
Debian 7 | 50GB | 66d3db93-a3ab-40ac-bac7-86f83ca776c7 |
100GB | 10b86d8f-eab0-44d7-9668-f9aec5f4db25 | |
300GB | ac847dc3-675b-4ccc-bf34-07cb0c54cb59 | |
500GB | 9d44d612-6507-437c-8913-1f2b8a406118 | |
1TB | 13a5ffe4-6449-4c2b-8f46-c1b1806ac3a2 | |
2TB | 3be7cbb8-a8ef-41a0-9b19-5f49b4fa2d34 | |
Debian 8 | - | 25f84f6d-ea3a-492b-9daf-d436882fe496 |
・Windows
OS名 | ボリュームサイズ | イメージID |
---|---|---|
Windows Server 2008 | - | f53b6b72-d1b5-41d7-902f-5fecaf383205 |
Windows Server 2012 | - | 7da475e0-786f-44a2-8d97-5bff682f3dbb |
Windows Server 2008 + SQL Server 2008 |
- | 604259f0-8e2c-4956-b42e-34c0714ab240 |
Windows Server 2012 + SQL Server 2012 |
- | c9479725-5e33-41b2-8f8c-6dedee9bc354 |
Windows Server 2012 + SQL Server 2014 |
- | 00adebfa-f7b5-47aa-9b5d-f1a4d3361cd8 |
[ 3 ] ブードストレージを作成します。
パラメータ | 指定する値 | 備考 |
---|---|---|
name | 任意のボリューム名 | ブートストレージに任意の名前を指定します。 |
size | 50 100 300 500 1000 2000 |
ストレージの容量を指定します。 |
curl -i -X POST \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -H “X-Auth-Token: トークンID” \ -d ‘{“volume”:{“name”:”任意のボリューム名“,”size”:ボリュームサイズ,”volume_type”:”ボリュームタイプ名“,”imageRef”:”イメージID“}}’ \ ボリュームのエンドポイント/volumes |
上記リクエストが正常に処理されると作成されたボリュームの情報が返ってきます。ボリュームIDは以降の手順でAPIの操作に必要となりますので、メモをとってください。
{ “volume”: { “status”: “creating”, “user_id”: “fe9256e97cbc4b2c8c68743e85311b84”, “attachments”: [], “links”: [ { “href”: “ボリュームのエンドポイント/volumes/ボリュームID“, “rel”: “self” }, |
グローバルIPアドレスの購入
本リファレンスでは、仮想サーバーに共用グローバルネットワークのグローバルIPアドレスをアタッチさせます。
以下手順では、共用グローバルネットワークのグローバルIPアドレスの購入方法をご案内します。
なお、グローバルIPアドレスを購入済みの場合は、本項目の[ 5 ]からご確認ください。
[ 2 ] [+ IPアドレス] をクリックします。
[ 3 ] 追加するグローバルIPアドレスの個数を選択の上、 [追加] をクリックします。
[ 4 ] 問題がなければ、 [はい] をクリックします。
[ 5 ] 以下のように標準グローバルネットワーク セグメントリストに追加されます。後述するAPIの操作手順にて使用しますので、「UUID」情報をメモしておきます。
ポート作成ならびにセキュリティグループの設定
仮想サーバーにアタッチさせるグローバルIPアドレスのポートを作成します。
本リファレンスでは、SSHのみ許可する既存のセキュリティグループの「SSH(22)」を設定します。
ネットワークのエンドポイント | コントロールパネル内のAPIメニューから「Network Service」をご確認ください。 |
curl -i -X GET \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -H “X-Auth-Token: トークンID” \ ネットワークのエンドポイント/v2.0/subnets |
上記リクエストが正常に処理されるとサブネットの一覧情報が返ってきます。ネットワークIDは以降の手順でAPIの操作に必要となりますので、サブネット一覧からグローバルIPアドレスなどをもとに対象のネットワークIDをご確認の上、メモをとってください。
{ “subnets”: [ { “allocation_pools”: [ { “end”: “グローバルIPアドレス“, “start”: “グローバルIPアドレス“ } ], “cidr”: “サブネットマスク”, “dns_nameservers”: [], “enable_dhcp”: false, “gateway_ip”: null, “host_routes”: [], “id”: “サブネットID“, “ip_version”: 4, “ipv6_address_mode”: null, “ipv6_ra_mode”: null, “name”: “サブネットの名前”, “network_id”: “ネットワークID“, “tenant_id”: “テナントID” } |
[ 2 ] 本リファレンスで購入したグローバルIPアドレスのポートを作成します。
curl -i -X POST \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -H “X-Auth-Token: トークンID” \ -d ‘{“port”:{“network_id”:”ネットワークID“,”fixed_ips”:[{“ip_address”:”グローバルIPアドレス“,”subnet_id”:”グローバルIPアドレスのUUID“}]}}’ \ https://networking.jpt1.cloud.z.com/v2.0/ports |
上記リクエストが正常に処理されると作成されたポートの情報が返ってきます。ポートIDは以降の手順でAPIの操作に必要となりますので、メモをとってください。
“ports”: [ { “admin_state_up”: true, “allowed_address_pairs”: [], “binding:vnic_type”: “normal”, “device_id”: “デバイスID”, “device_owner”: “compute:None”, “extra_dhcp_opts”: [], “fixed_ips”: [ { “ip_address”: “グローバルIPアドレス”, “subnet_id”: “グローバルIPアドレスのUUID” } ], “id”: “ポートID“, “mac_address”: “MACアドレス”, “name”: “ポートの名前”, “network_id”: “ネットワークID”, “security_groups”: [ “セキュリティグループID” ], “status”: “ACTIVE”, “tenant_id”: “テナントID” }, |
[ 3 ] 作成したポートに既存のセキュリティグループの「SSH(22)」を設定します。
curl -X PUT \ -H “Accept: application/json” \ -H “X-Auth-Token: トークンID” \ -d ‘{“port”: {“security_groups”: [“73ce5bb0-f58f-4101-9550-4e10ccd1019c”]}}’ \ ネットワークのエンドポイント/v2.0/ports/ポートID |
仮想サーバーの作成
[ 1 ] サーバープランの一覧を取得し、任意のサーバープランのフレーバーIDを確認します。
仮想サーバーのエンドポイント | コントロールパネル内のAPIメニューから「Compute Service」をご確認ください。 |
curl -i -X GET \ -H “Accept: application/json” \ -H “Content-Type: application/json” \ -H “X-Auth-Token: トークンID” \ 仮想サーバーのエンドポイント/flavors |
上記リクエストが正常に処理されるとサーバープランの一覧情報が返ってきます。サーバープランの一覧は以下の通りです。サーバープランのフレーバーIDは以降の手順でAPIの操作に必要となりますので、任意のサーバープランのフレーバーIDについてメモをとってください。
・Standardプラン
プラン名 | vCPU | メモリ | フレーバーID |
Standard 1Core 1GB | 1 vCPU | 1 GB | f92f5a3f-3f45-45a8-9d3c-c7e08fa4f5bb |
Standard 1Core 2GB
|
1 vCPU | 2 GB | 9e56474d-9e8d-477e-8e92-6ae856ada5ed |
Standard 2Core 2GB
|
2 vCPU | 2 GB | e598901d-2b43-4c76-9543-8218c9e1e7ec |
Standard 2Core 4GB
|
2 vCPU | 4 GB | 5af1b9af-ff71-440f-8113-9f5c27dc35f6 |
Standard 4Core 4GB
|
4 vCPU | 4 GB | 222ad1bb-2b29-4db2-9734-de9cf28609aa |
Standard 4Core 8GB
|
4 vCPU | 8 GB | 2e84b0e7-dca6-4a46-a40a-019035ac4a6a |
Standard 8Core 8GB
|
8 vCPU | 8 GB | 7c517cdc-b74b-4b3f-9fb9-3656f392ac28 |
Standard 8Core 16GB
|
8 vCPU | 16 GB | 541c5940-e346-4acd-8a4d-8c6ae72b9503 |
Standard 16Core 16GB
|
16 vCPU | 16 GB | e525156d-0380-4904-8c02-945e5492c3d5 |
Standard 16Core 32GB
|
16 vCPU | 32 GB | 6e2d9c73-576e-4a71-9203-4c910f1177a7 |
Standard 32Core 32GB
|
32 vCPU | 32 GB | 6f92343e-094f-43a1-9e31-0c5cc7a565b5 |
Standard 32Core 60GB
|
32 vCPU | 60 GB | 321b81e6-ec4a-4479-9bce-62223b41eb14 |
・専有プラン
プラン名 | vCPU | メモリ | フレーバーID |
VD40120 | 40 vCPU | 120 GB | 999f6379-c35b-4876-87f3-e23345c4dc0f |
[ 2 ] 仮想サーバーを作成します。実行例では以下内容でサーバーを作成します。
パラメータ | 指定する値 | 備考 |
name(server) | ホスト名 | 仮想サーバーのホスト名になります。任意の名前を指定します。 |
flavorRef | フレーバーID | 作成したいサーバープランのフレーバーIDを指定します。本リファレンスでは、Standardプランの「ST0101」を指定します。 |
adminPass | rootの初期パスワード | Linux系のOSの場合は、rootの初期パスワードになります。任意のパスワードを指定します。 |
uuid | グローバルIPアドレスのUUID | 本リファレンスで購入した共用グローバルネットワークのグローバルIPアドレスのネットワークIDを指定します。 |
volume_id | ボリュームID | 本リファレンスで作成したブートストレージのボリュームIDを指定します。 |
instance_name_tag | ネームタグ | 仮想サーバーに任意の名前を指定します。コントロールパネルのネームタグ欄に表示される名前になります。 |
curl -i -X POST \ -H “Accept: application/json” \ -H “X-Auth-Token: トークンID” \ -d ‘{ “server”: { “name”: “ホスト名“, “flavorRef”: “afb9e401-1fa7-4f94-9f8b-aa5251178a2c”, “adminPass”: “rootの初期パスワード“,”networks”: [ { “port”: “グローバルIPアドレスのUUID“ } ], “block_device_mapping”: [ { “volume_id”: “ボリュームID“ } ], “metadata”: { “instance_name_tag”: “ネームタグ“ } } }’ \ 仮想サーバーのエンドポイント/servers |
本リファレンスは S-port cloud EVA にてサーバーをご利用いただく場合の一例であり、お客様の運用やポリシーによってその限りではございません。
お客様のご利用用途に応じて必要な設定や操作をおこなってください。