Upload
hironobu-saitoh
View
1.115
Download
0
Embed Size (px)
Citation preview
1
パブリッククラウドConoHaを使って
OpenStack APIを理解する(初級編)
GMOインターネット株式会社ホスティング事業部テクニカルエバンジェリスト
オープンソースカンファレンス2015 .Enterprise
2
アジェンダ
• OpenStackとConoHa
• パブリッククラウド「ConoHa」
• OpenStackについて(コンポーネントを理解する)
• OpenStack APIの概要
• REST APIの仕様
• APIワークフロー
• 実践
• 認証(Keystone)とコンピュート(Nova)をつかう
• コマンドラインツールを使う(python-openstackclient)
• SDKと実際の利用例
3
ConoHaとOpenStack
4
パブリッククラウド「ConoHa」とは
GMOインターネットが提供するIaaS型クラウドサービス
• 全ストレージにSSDを採用
• 900円/月〜の定額制
• 転送料金なし
• スケールアップ/ダウン対応
• プライベートネットワーク
• ロードバランサー
• オブジェクトストレージ
• 海外リージョン
• OpenStack APIhttps://www.conoha.jp/
5
サーバー
ネットワーク
ストレージ
ConoHaサービス一覧
リージョン 東京
グローバルネットワーク(IPv4/IPv6 デュアルスタック)
シンガポール アメリカ(サンノゼ)
ロードバランサー 無料DNS GeoDNS(GSLB)
プライベートネットワーク 追加IPv4 リージョン間転送
自動バックアップ スケールアップ スナップショット
SSD追加 オブジェクトストレージ
仮想サーバー(All-SSD)
メールサーバーDBサーバー
(MySQL互換)
A
P
I
GMOバックボーンネットワーク
ISOイメージ管理
6
OpenStackとは
• オープンソースで開発されている、クラウド環境を構築するためのソフ
トウェアコンポーネント群
• いわゆるIaaSの分野(仮想マシン、ネットワーク、ストレージ)を扱う
• ConoHaでは少し前のバージョンの「Juno」を採用
(現行バージョンは10月にリリースされたLiberty)
7
OpenStackとは
https://www.openstack.org/summithttps://www.openstack.org/
• 10月末にOpenStack Summit Tokyoが開催される
• GMOインターネットも基調講演を行った
• 他に日本からはNTT Group、サイバーエージェント、Yahoo!、楽天
• 2016年はOpenStackの普及元年に?
8
®
OpenStackのサービス
Keystone
Nova
Neutron
Cinder
Glance
Swift
Core Services
Optional Services
Ironic
Horizon
Ceilimeter
Heat
Designate
認証仮想マシンネットワークブロックストレージ仮想マシンイメージオブジェクトストレージ
ベアメタルサーバーダッシュボードメータリングプロビジョニングDNS
など
9
コンポーネント 利用用途 リージョン
Keystoneユーザー作成アカウント認証
All regions
Nova 仮想サーバ(VPS) All regions
Neutronローカルネットワーク
VPSへのIPアドレス割り当てAll regions
Cinder ブロックストレージ(追加SSD) All regions
Swift オブジェクトストレージ Tokyo
Glance初期OSイメージ自動バックアップ
All regions
Ceilometerリソース利用状況の収集決済システムとの連携
Tokyo
Heat cloud-initによるVPSの初期化 All regions
Horizon (管理用) All regions
ConoHaでのOpenStackの利用
10
OpenStack APIの概要
11
OpenStackで管理される項目
1つのOpenStack環境を表す単位。
ConoHaの場合、日本(TYO1)、アメリカ(SJC1)、シンガポール(SIN1)の3つ
エンドポイントもリージョン毎に異なる
ユーザー名 / パスワード
テナント
リージョン
その名の通り、利用者毎のアカウント。パスワードがセットになる
ユーザーが所属するグループのようなもの。ユーザーは複数のテナントに属することができる
12
OpenStackで管理される項目
13
API概要
• API自体はシンプルな設計のREST API
• 各サービス毎にエンドポイントが存在する
(ConoHaのエンドポイント)
14
APIのワークフロー
15
1. 認証Identity Endpoint(Keystone)にリクエストを送信する。
2. クレデンシャル情報はユーザー名/パスワード/テナント名(もしくはテナントID)
3. トークンとアクセス可能なエンドポイントがJSONで返ってくる
4. それを元にコンポーネントを利用する
APIのワークフロー
16
実践
17
https://www.conoha.jp/docs/
APIのドキュメント
18
SDKなど
19
OpenStack SDK
http://developer.openstack.org/
• C
• C++
• Clojure
• Erlang
• Go
• Java
• Android
• JavaScript
• Python
• Node.js
• Perl
• PHP
• Python
• Ruby
• Yaml
オフィシャルサイトにある一覧
20
実際の利用例
仮想環境構築ツール「Vagrant」をConoHaで
使えるようにするProviderの開発
Docker環境を構築する「Docker Machine」を
ConoHaで動作するように開発元へのPR
Go言語
https://github.com/hironobu-s/vagrant-conoha
https://github.com/docker/machine
21
WordPressのメディアストレージとして
オブジェクトストレージを使うプラグインを開発
実際の利用例
ConoHaのISOイメージマウント機能を
CLIから扱えるコマンドラインツールの開発
Go言語
https://wordpress.org/plugins/conoha-object-sync/
https://github.com/hironobu-s/conoha-iso
22
まとめ
23
本日お話ししたこと
• OpenStackとConoHaの関係
• ConoHaについて
• OpenStackとは
• コンポーネントを理解する
• OpenStack APIの概要
• REST APIの仕様
• APIワークフロー
• 認証(Keystone)
• コンピュート(Nova)
• コマンドラインツールを使う
24
Q&A