API
ConoHa VPSは、OpenStackを採用しています。OpenStack準拠のAPIを公開しており、コントロールパネルで提供されている機能のほか、VPSの構築やネットワークの設定などのシステム構築に直接関わる部分から、ユーザー情報や請求情報といったアカウント管理などが操作でき、効率良くサーバー管理・運用をすることができます。
概要
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 |