Slide 1

Slide 1 text

1 パブリッククラウドConoHaを使って OpenStack APIを理解する(初級編) GMOインターネット株式会社 ホスティング事業部 テクニカルエバンジェリスト ⻫藤弘信 hironobu-saitoh@gmo.jp オープンソースカンファレンス2015 .Enterprise

Slide 2

Slide 2 text

2 アジェンダ • OpenStackとConoHa • パブリッククラウド「ConoHa」 • OpenStackについて(コンポーネントを理解する) • OpenStack APIの概要 • REST APIの仕様 • APIワークフロー • 実践 • 認証(Keystone)とコンピュート(Nova)をつかう • コマンドラインツールを使う(python-openstackclient) • SDKと実際の利⽤例

Slide 3

Slide 3 text

3 ConoHaとOpenStack

Slide 4

Slide 4 text

4 パブリッククラウド「ConoHa」とは GMOインターネットが提供するIaaS型クラウドサービス • 全ストレージにSSDを採用 • 900円/月〜の定額制 • 転送料金なし • スケールアップ/ダウン対応 • プライベートネットワーク • ロードバランサー • オブジェクトストレージ • 海外リージョン • OpenStack API https://www.conoha.jp/

Slide 5

Slide 5 text

5 サーバー ネットワーク ストレージ ConoHaサービス⼀覧 リージョン 東京 グローバルネットワーク (IPv4/IPv6 デュアルスタック) シンガポール アメリカ(サンノゼ) ロードバランサー 無料DNS GeoDNS(GSLB) プライベートネットワーク 追加IPv4 リージョン間転送 ⾃動バックアップ スケールアップ スナップショット SSD追加 オブジェクトストレージ 仮想サーバー (All-SSD) メールサーバー DBサーバー (MySQL互換) A P I GMOバックボーンネットワーク ISOイメージ管理

Slide 6

Slide 6 text

6 OpenStackとは • オープンソースで開発されている、クラウド環境を構築するためのソフ トウェアコンポーネント群 • いわゆるIaaSの分野(仮想マシン、ネットワーク、ストレージ)を扱う • ConoHaでは少し前のバージョンの「Juno」を採⽤ (現⾏バージョンは10⽉にリリースされたLiberty)

Slide 7

Slide 7 text

7 OpenStackとは https://www.openstack.org/summit https://www.openstack.org/ • 10月末にOpenStack Summit Tokyoが開催される • GMOインターネットも基調講演を行った • 他に日本からはNTT Group、サイバーエージェント、Yahoo!、楽天 • 2016年はOpenStackの普及元年に?

Slide 8

Slide 8 text

8 ® OpenStackのサービス Keystone Nova Neutron Cinder Glance Swift Core Services Optional Services Ironic Horizon Ceilimeter Heat Designate 認証 仮想マシン ネットワーク ブロックストレージ 仮想マシンイメージ オブジェクトストレージ ベアメタルサーバー ダッシュボード メータリング プロビジョニング DNS など

Slide 9

Slide 9 text

9 ίϯϙʔωϯτ ར༻༻్ Ϧʔδϣϯ ,FZTUPOF Ϣʔβʔ࡞੒ ΞΧ΢ϯτೝূ "MMSFHJPOT /PWB Ծ૝αʔό 714 "MMSFHJPOT /FVUSPO ϩʔΧϧωοτϫʔΫ 714΁ͷ*1ΞυϨεׂΓ౰ͯ "MMSFHJPOT $JOEFS ϒϩοΫετϨʔδ ௥Ճ44% "MMSFHJPOT 4XJGU ΦϒδΣΫτετϨʔδ 5PLZP (MBODF ॳظ04Πϝʔδ ࣗಈόοΫΞοϓ "MMSFHJPOT $FJMPNFUFS Ϧιʔεར༻ঢ়گͷऩू ܾࡁγεςϜͱͷ࿈ܞ 5PLZP )FBU DMPVEJOJUʹΑΔ714ͷॳظԽ "MMSFHJPOT )PSJ[PO ؅ཧ༻ "MMSFHJPOT ConoHaでのOpenStackの利⽤

Slide 10

Slide 10 text

10 OpenStack APIの概要

Slide 11

Slide 11 text

11 OpenStackで管理される項⽬ 1つのOpenStack環境を表す単位。 ConoHaの場合、日本(TYO1)、アメリカ(SJC1)、シンガポール(SIN1)の3つ エンドポイントもリージョン毎に異なる ユーザー名 / パスワード テナント リージョン その名の通り、利用者毎のアカウント。パスワードがセットになる ユーザーが所属するグループのようなもの。 ユーザーは複数のテナントに属することができる

Slide 12

Slide 12 text

12 OpenStackで管理される項⽬

Slide 13

Slide 13 text

13 API概要 • API自体はシンプルな設計のREST API • 各サービス毎にエンドポイントが存在する (ConoHaのエンドポイント)

Slide 14

Slide 14 text

14 APIのワークフロー

Slide 15

Slide 15 text

15 1. 認証Identity Endpoint(Keystone)にリクエストを送信する。 2. クレデンシャル情報はユーザー名/パスワード/テナント名(もしくはテナントID) 3. トークンとアクセス可能なエンドポイントがJSONで返ってくる 4. それを元にコンポーネントを利用する APIのワークフロー

Slide 16

Slide 16 text

16 実践

Slide 17

Slide 17 text

17 https://www.conoha.jp/docs/ APIのドキュメント

Slide 18

Slide 18 text

18 SDKなど

Slide 19

Slide 19 text

19 OpenStack SDK http://developer.openstack.org/ • C • C++ • Clojure • Erlang • Go • Java • Android • JavaScript • Python • Node.js • Perl • PHP • Python • Ruby • Yaml オフィシャルサイトに ある一覧

Slide 20

Slide 20 text

20 実際の利⽤例 仮想環境構築ツール「Vagrant」をConoHaで 使えるようにするProviderの開発 Docker環境を構築する「Docker Machine」を ConoHaで動作するように開発元へのPR Go⾔語 https://github.com/hironobu-s/vagrant-conoha https://github.com/docker/machine

Slide 21

Slide 21 text

21 WordPressのメディアストレージとして オブジェクトストレージを使うプラグインを開発 実際の利⽤例 ConoHaのISOイメージマウント機能を CLIから扱えるコマンドラインツールの開発 Go⾔語 https://wordpress.org/plugins/conoha-object-sync/ https://github.com/hironobu-s/conoha-iso

Slide 22

Slide 22 text

22 まとめ

Slide 23

Slide 23 text

23 本⽇お話ししたこと • OpenStackとConoHaの関係 • ConoHaについて • OpenStackとは • コンポーネントを理解する • OpenStack APIの概要 • REST APIの仕様 • APIワークフロー • 認証(Keystone) • コンピュート(Nova) • コマンドラインツールを使う

Slide 24

Slide 24 text

24 Q&A