概要

OpenStackのAPIを利用した自動化の仕組みは、構成管理ツールのAnsibleやChefなどを使って開発チーム内で共有することができます。そうすることで、新規で作成したサーバーへのセットアップや、既存のサーバーに対し差分をマージするなど、管理や運用をさらに効率化できます。OpenStackのAPIは、様々な製品やディスビューションがリリースされているので、それらとの連携をすることで、さらに効率的な運用ができます。

特長

  • サーバーの追加も
    スマートに完了

    例えば「サーバーを100台追加」といった作業の場合、コントロールパネルでは1台ずつサーバーを追加する必要があり手間がかかりますが、APIならば数行のコードを実行するだけでスマートに完了できます。

  • インフラ環境の操作も
    自動化

    プログラムからの操作も可能です。PythonやPHPなどのプログラムからAPIを実行することで、インフラ環境の操作を自動化させることができます。

  • OpenStackとの連携で
    より効率的に

    OpenStack APIはIaaSのAPIとして互換性が高く、OpenStack APIに対応した様々なアプリケーションをConoHaで利用でき、OpenStackで構築したオンプレミスとConoHaとの連携も可能です。

ConoHaAPIのサービスリスト

Identity Service
POST /v2.0/tokens 有効なトークンを発行
Account(Billing) Service
GET /v1/{tenant_id}/order-items アイテム一覧取得
GET /v1/{tenant_id}/billing-invoices 請求データ一覧取得
Compute Service
GET /v2/{tenant_id}/servers VM一覧取得
POST /v2/{tenant_id}/servers/{server_id}/action VM再起動
DELETE /v2/{tenant_id}/servers/{server_id} VM削除
Block Storage Service
GET /v2/{tenant_id}/volumes ボリューム一覧取得
POST /v2/{tenant_id}/volumes ボリューム作成
DELETE /v2/{tenant_id}/volumes/{volume_id} ボリューム作成
Image Service
GET /v2/images イメージ一覧取得
GET /v2/schemas/images イメージコンテナのスキーマ情報取得
GET /v2/quota イメージ保存容量制限情報取得
Network Service
GET /v2.0/networks ネットワーク一覧取得
PUT /v2.0/ports/{port_id} ポート更新/セキュリティグループ割り当て
GET /v2.0/lb/health_monitors/{health_monitor_id} ヘルスモニタ詳細取得
Identity
PUT /v1/nc_{account}/{container} コンテナ作成
DELETE /v1/nc_{account}/{container} コンテナ削除
GET /v1/nc_{account}/{container}/{object} オブジェクト情報取得
Database Hosting Service
GET /v1/services サービス一覧取得
POST /v1/databases データベース作成
GET /v1/databases/(uuid:database_id)/backup バックアップ一覧
DNS Service
GET /v1/domains/(uuid:domain_id)/servers ドメインホスティング情報表示
GET /v1/domains ドメイン一覧表示
POST /v1/domains ドメイン作成
Mail Hosting Service
POST /v1/emails メールアドレス作成
PUT /v1/emails/(uuid:email_id)/action 迷惑メールフィルタ(有効/無効)
GET /v1/emails/(uuid:email_id)/whitelist 迷惑メールフィルタ許可一覧取得
Identity Service

POST

/v2.0/tokens

有効なトークンを発行

Account(Billing) Service

GET

/v1/{tenant_id}/order-items

アイテム一覧取得

GET

/v1/{tenant_id}/billing-invoices

請求データ一覧取得

Compute Service

GET

/v2/{tenant_id}/servers

VM一覧取得

POST

/v2/{tenant_id}/servers/{server_id}/action

VM再起動

DELETE

/v2/{tenant_id}/servers/{server_id}

VM削除

Block Storage Service

GET

/v2/{tenant_id}/volumes

ボリューム一覧取得

POST

/v2/{tenant_id}/volumes

ボリューム作成

DELETE

/v2/{tenant_id}/volumes/{volume_id}

ボリューム作成

Image Service

GET

/v2/images

イメージ一覧取得

GET

/v2/schemas/images

イメージコンテナのスキーマ情報取得

GET

/v2/quota

イメージ保存容量制限情報取得

Network Service

GET

/v2.0/networks

ネットワーク一覧取得

PUT

/v2.0/ports/{port_id}

ポート更新/セキュリティグループ割り当て

GET

/v2.0/lb/health_monitors/{health_monitor_id}

ヘルスモニタ詳細取得

Identity

PUT

/v1/nc_{account}/{container}

コンテナ作成

DELETE

/v1/nc_{account}/{container}

コンテナ削除

GET

/v1/nc_{account}/{container}/{object}

オブジェクト情報取得

Database Hosting Service

GET

/v1/services

サービス一覧取得

POST

/v1/databases

データベース作成

GET

/v1/databases/(uuid:database_id)/backup

バックアップ一覧

DNS Service

GET

/v1/domains/(uuid:domain_id)/servers

ドメインホスティング情報表示

GET

/v1/domains

ドメイン一覧表示

POST

/v1/domains

ドメイン作成

Mail Hosting Service

POST

/v1/emails

メールアドレス作成

PUT

/v1/emails/(uuid:email_id)/action

迷惑メールフィルタ(有効/無効)

GET

/v1/emails/(uuid:email_id)/whitelist

迷惑メールフィルタ許可一覧取得

VM再起動の参考例

■リクエスト

curl -i -X POST \

-H "Accept: application/json" \

-H "X-Auth-Token: 35941e7df872405d84e5b026dba8323c" \

-d '{"reboot": {"type": "SOFT"}}' \

https://compute.tyo1.conoha.io/v2/1864e71d2deb46f6b47526b69c65a45d/servers/997d6052-4b17-4500-8d41-c08fb9667aae/action

 

■レスポンス

HTTP/1.1 204 No Content

Date: Tue, 09 Dec 2014 03:56:52 GMT Server: Apache

Content-Length: 0

Content-Type: application/json