ConoHa VPS ISOイメージからCentOS 7 インストール

Contents

 


はじめに

ConoHa VPSにISOイメージを使ってOSインストールします。方法はConoHa APIを直接叩いて実行する方法と、conoha-isoツールを使う方法があります。conoha-isoツールの手順は公式ドキュメントが用意されています。

私はAPIを使いたかったので、以下はAPIを使ったOSインストール手順になります。

 

 

事前準備

APIを使うためにはトークンを事前に発行して確認しておく必要があります。過去記事を参考までに。

 

必要なパラメータ等の値を確認しておきます。

パラメータ 説明
X-Auth-Token <User Token> 事前に確認しておく
tenant_id <Tenant ID> 管理画面で確認
url http://ftp.tsukuba.wide.ad.jp/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso CentOSのダウンロードページで確認。(CentOS7.4)
server_id <Server ID> 管理画面で確認(VPS設定のUUID)
エンドポイント(Identity Service) https://compute.tyo1.conoha.io/ 管理画面で確認(左のValueは公式ドキュメントから)

 

 

ISOイメージのダウンロード

外部サーバからConoHa側の一時領域にISOイメージをダウンロードします。

 

リクエスト

Macなどのターミナルから以下のコマンド実行。

$ curl -i -X POST \
-H 'Content-Type: application/json' \
-H "Accept: application/json" \
-H "X-Auth-Token: <User Token>" \
-d '{"iso-image":{"url":"http://ftp.tsukuba.wide.ad.jp/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso"}}' \
https://compute.tyo1.conoha.io/v2/<Tenant ID>/iso-images

 

レスポンス

以下のような結果が返ってくればOK。

HTTP/1.1 201 Created
Server: openresty/1.7.10.1
Date: Thu, 21 Dec 2017 02:19:15 GMT
Content-Type: application/json
Content-Length: 167
Connection: keep-alive

"request":{"iso-image":{"url":"http://ftp.tsukuba.wide.ad.jp/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso"}},"user":"<Tenant ID>";}

 

 

ISOイメージの一覧取得

ISOイメージ一覧を取得して、ISOイメージがダウンロードされていることを確認します。また次項のISOイメージの挿入でパスが必要なので確認しておきます。

 

リクエスト

結果を見やすくするためオプション"-i"を外して、最後にパイプでjqにつなげてます。

$ curl -X GET \
-H 'Content-Type: application/json' \
-H "Accept: application/json" \
-H "X-Auth-Token: <User Token>" \
https://compute.tyo1.conoha.io/v2/<Tenant ID>/iso-images | jq

 

レスポンス

"path"を確認しておきます。

{
 "iso-images": [
 {
 "url": "http://ftp.tsukuba.wide.ad.jp/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso";,
 "path": "/mnt/isos/repos/tenant_iso_data/<Tenant ID>/CentOS-7-x86_64-Minimal-1708.iso",
 "ctime": "Tue Sep 5 23:15:13 2017",
 "name": "CentOS-7-x86_64-Minimal-1708.iso",
 "size": 830472192
 }
 ]
}

 

 

ISOイメージの挿入

ISOイメージをマウントします。VM停止時にのみ実行できます。

 

リクエスト

"mountImage"は「ISOイメージの一覧取得」で確認したパスを入れます。sever_idも必要になるため、管理画面のVPS設定でUUIDを確認しておきます。

$ curl -i -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: <User Token>" \
-d '{"mountImage": "/mnt/isos/repos/tenant_iso_data/<Tenant ID>/CentOS-7-x86_64-Minimal-1708.iso"}' \
https://compute.tyo1.conoha.io/v2/<Tenant ID>/servers/<Server ID>/action

 

レスポンス

以下のような結果が返ればOK。

HTTP/1.1 204 No Content
Server: openresty/1.7.10.1
Date: Thu, 21 Dec 2017 02:42:47 GMT
Content-Type: application/json
Content-Length: 0
Connection: keep-alive

 

 

ISOイメージからOSインストール

ここまでくればインストール可能です。管理画面でサーバを起動し、コンソールでインストール画面を表示させてインストールします。(手順は省略)

 

 

ISOイメージの排出

OSのインストールが終わったら、ISOイメージをアンマウントしておきます。

 

リクエスト

"unmountImage"は空の文字列を指定。

$ curl -i -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: <User Token>" \
-d '{"unmountImage": ""}' \
https://compute.tyo1.conoha.io/v2/<Tenant ID>/servers/<Server ID>/action

 

レスポンス

以下のような結果が返ればOK。

HTTP/1.1 204 No Content
Server: openresty/1.7.10.1
Date: Thu, 21 Dec 2017 04:21:24 GMT
Content-Type: application/json
Content-Length: 0
Connection: keep-alive

 

 

最後に

APIのドキュメントを見ると他にもいろいろできそうで良い感じ。

 

参考

https://www.conoha.jp/guide/clitools.php
https://www.conoha.jp/docs/?btn_id=header_docs