Upgrade to Pro — share decks privately, control downloads, hide ads and more …

パブリッククラウドConoHaを使って OpenStack APIを理解する(初級編)

パブリッククラウドConoHaを使って OpenStack APIを理解する(初級編)

OSC Enterprise2015 Tokyoのセミナー資料です。
https://www.ospn.jp/osc2015.enterprise/

Hironobu Saitoh

December 09, 2015
Tweet

More Decks by Hironobu Saitoh

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

  3. 3
    ConoHaとOpenStack

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 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の利⽤

    View full-size slide

  10. 10
    OpenStack APIの概要

    View full-size slide

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

    View full-size slide

  12. 12
    OpenStackで管理される項⽬

    View full-size slide

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

    View full-size slide

  14. 14
    APIのワークフロー

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide