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