Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1分ではじめる、クラウドのようなVPS 
Unityのバックエンドに 
ConoHaオブジェクトストレージ 
を使う 
2014/10/25 
Unityプログラミング生放送勉強会@GMO Yours 
@hironobu_s 
https:/...
1分ではじめる、クラウドのようなVPS 
自己紹介 
• 斉藤弘信(@hironobu_s) 
• 所属:GMOインターネットホスティング事業部 
• Web開発とインフラエンジニアの中間 
• 8月頃からConoHaの人になりました 
htt...
1分ではじめる、クラウドのようなVPS 
みなさん、この人達を知ってますか 
? 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
美雲このは 
• 中学一年生(栃木県出身) 
• 150cm〜 
• 好き: 那須地域牧場の牛乳 
• 嫌い: 栃木の風土食「しもつかれ」
1分ではじめる、クラウドのようなVPS 
美雲あんず 
• 中学一年生(青森県出身) 
• 148cm 
• 好き: アップルパイ大好き。 
• 趣味: 料理
1分ではじめる、クラウドのようなVPS 
ConoHa VPS 
• VPSホスティングサービス 
• 古い言い方だとレンタルサーバ 
• 仮想サーバを930円から 
• さまざまなOSに対応 
https://www.conoha.jp/un...
1分ではじめる、クラウドのようなVPS 
(ConoHaデモ) 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
ConoHaクーポン 
• ConoHaのサービスを3,000円分使えま 
す 
• VPSでもオブジェクトストレージでも 
• 新規アカウント登録すると、 
さらに1,500円分追加されます 
• あ...
1分ではじめる、クラウドのようなVPS 
クーポンの意味 
• とにかく使ってもらいたい 
• 性能、使い勝手は使わないとわからない 
• 事業者側の立場としては 
スケールメリットを生かしたい 
https://www.conoha.jp/u...
1分ではじめる、クラウドのようなVPS 
宣伝乙w
1分ではじめる、クラウドのようなVPS 
本題 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
アジェンダ 
• ConoHaオブジェクトストレージの紹介 
• Unityアプリのバックエンドストレージとして 
• サンプルアプリケーションのデモ 
• REST APIとHTTPの基礎 
http...
1分ではじめる、クラウドのようなVPS 
サンプルコードとデモアプリ 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
ConoHa 
オブジェクトストレージ 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
ConoHaオブジェクトストレージ 
• 今年9月からの新オプションサービス 
• インターネット経由で使えるストレージ 
• 450円/100GB〜 
• 容量無制限、転送量課金なし 
https:/...
1分ではじめる、クラウドのようなVPS 
Unityアプリのバックエンドとして 
• ネットワーク経由(https)で簡単にデータを操作 
• UnityのWWWモジュールが便利 
• データの種類は問わない(画像、動画、ログ、その他) 
• ...
1分ではじめる、クラウドのようなVPS 
今回はサンプルアプリケーションを用意しました
1分ではじめる、クラウドのようなVPS 
サンプルアプリケーションの紹介 
• UnityからREST APIを操作 
• オブジェクトストレージから 
テクスチャ(png)を読み込む 
• 同時にメタデータから 
プロフィール情報を取得 
•...
1分ではじめる、クラウドのようなVPS 
(デモ) 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
オブジェクトストレージ 
解説 
今日はがっつりインフラの話をします 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
特徴 
• REST APIを通じてアクセスする 
• すべてのデータをオブジェクトとして扱う 
• オブジェクトにはメタデータを付加できる 
• フォルダなどの概念がないフラットな構造 
• 冗長化に...
1分ではじめる、クラウドのようなVPS 
OpenStack 
• オープンソースのクラウド基盤構築ソフトウェア 
• IaaSの基盤である、仮想マシン、ストレージ、ネットワ 
ークなどを統合管理する 
• http://www.opensta...
1分ではじめる、クラウドのようなVPS 
コントロールパネルと統合 
ブラウザからちょっとした管理ができます 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS
1分ではじめる、クラウドのようなVPS 
2つのポイント 
REST API 
メタデータ 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
REST API ? 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
HTTPのおさらい 
• Webサイトを表示したりするときに使う 
• HTTPクライアントとHTTPサーバがある 
• プロトコルはPlainText 
• リクエストには「メソッド」を指定する 
•...
1分ではじめる、クラウドのようなVPS
1分ではじめる、クラウドのようなVPS 
REST 
• オブジェクトストレージAPIのモデル 
• リソースをURIで定義し標準的なHTTPメソッドで 
操作をします 
• メソッドはGET POST PUT DELETE HEADなど 
•...
1分ではじめる、クラウドのようなVPS 
URI構造 
• URIはオブジェクトを一意に特定できる 
• URIに対してGET, POSTなどのメソッドを使って操 
作する 
/v1/{アカウント名}/{コンテナ名}/{オブジェクトID} 
h...
1分ではじめる、クラウドのようなVPS
1分ではじめる、クラウドのようなVPS 
メタデータ? 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
メタデータ 
• オブジェクトストレージの特徴の一つ 
• オブジェクトに様々な情報を付加できる 
• コンテナにも付加できる 
• 例) 画像データに撮影者、撮影場所を付加 
• 例) ログデータにサ...
1分ではじめる、クラウドのようなVPS 
メタデータの扱い方 
• HTTPヘッダを用います 
• X-Object-Meta-* という名前を付けます 
• X-Object-Meta-Name, X-Object-Meta-Age 
など ...
1分ではじめる、クラウドのようなVPS
1分ではじめる、クラウドのようなVPS 
ConoHa技術ブログ 
• オブジェクトストレージの使い 
方 
• VPS全般で使える技術情報 
• 脆弱性情報(bash, OpenSSL) 
• 楽しいマンガ 
https://www.cono...
1分ではじめる、クラウドのようなVPS 
Unityアプリとの連携 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
Unityからオブジェクトストレージ 
• UnityのWWWモジュールを使う 
• WWWモジュールは、いわゆるHTTPクラ 
イアント 
• オブジェクトストレージに直接接続できる 
サンプルアプリ...
1分ではじめる、クラウドのようなVPS 
WWWモジュールの動作を確認する 
• Cube, Directional Light, Material, Scriptを追加 
• Material, ScriptをCubeにAdd Compone...
1分ではじめる、クラウドのようなVPS 
(WWWモジュールのデモ)
1分ではじめる、クラウドのようなVPS 
さらに活用する 
• 今のデモは普通のWebサーバでもできる 
• オブジェクトストレージ固有の機能を活用します 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
サンプルアプリ 
• オブジェクトストレージからオブジェクトの一覧を 
取得する 
• 上記のJSONデータをパースする 
• そのリストを元にキャラを切り替えるボタンを設置 
• さらに画像のメタデー...
1分ではじめる、クラウドのようなVPS 
JSONを扱う 
• JSONとはJavaScript構文のデータフォーマット 
• オブジェクトストレージがJSONのデータを返す 
• Unityで扱うにはいろいろ外部ライブラリがある 
• 今回は...
1分ではじめる、クラウドのようなVPS 
メタデータ 
• 画像データを取得する際にメタデータも取得できる 
• 通常の実装では、画像はファイル、 
プロフィールはDBに保存したりする 
• オブジェクトストレージでは 
画像とプロフィール情報...
1分ではじめる、クラウドのようなVPS 
(コードの解説をする)
1分ではじめる、クラウドのようなVPS 
ちょっとした注意 
https://www.conoha.jp/unity1025
1分ではじめる、クラウドのようなVPS 
CORS 
• WebPlayer向けにビルドした場合の話 
• Cross-Origin Resource Sharing 
• 異なるドメイン間でリソースの共有ができない 
• オブジェクトストレー...
1分ではじめる、クラウドのようなVPS 
PolicyError!!!
1分ではじめる、クラウドのようなVPS 
回避策 
• オブジェクトストレージにCNAMEを割り当てる 
• 同オリジンになるリバースプロクシを作る 
• アプリをオブジェクトストレージにホストする 
https://www.conoha.jp...
1分ではじめる、クラウドのようなVPS 
まとめ
1分ではじめる、クラウドのようなVPS 
オブジェクトストレージを 
Unityアプリのバックエンドに 
• WWWモジュールなどで簡単にデータを取得 
• メタデータという仕組みがあるため、 
メディアデータをテキストデータを一度に扱える 
...
1分ではじめる、クラウドのようなVPS 
ご清聴ありがとうございました 
https://www.conoha.jp/unity1025
Upcoming SlideShare
Loading in …5
×

Unityのバックエンドに
ConoHaオブジェクトストレージ を使う

2014年10月25日の「Unityプログラミング生放送勉強会@GMO Yours #マスコットアプリ文化祭」で発表したスライドです。

  • Login to see the comments

Unityのバックエンドに
ConoHaオブジェクトストレージ を使う

  1. 1. 1分ではじめる、クラウドのようなVPS Unityのバックエンドに ConoHaオブジェクトストレージ を使う 2014/10/25 Unityプログラミング生放送勉強会@GMO Yours @hironobu_s https://www.conoha.jp/unity1025
  2. 2. 1分ではじめる、クラウドのようなVPS 自己紹介 • 斉藤弘信(@hironobu_s) • 所属:GMOインターネットホスティング事業部 • Web開発とインフラエンジニアの中間 • 8月頃からConoHaの人になりました https://www.conoha.jp/unity1025 • 緑陣営Lv7
  3. 3. 1分ではじめる、クラウドのようなVPS みなさん、この人達を知ってますか ? https://www.conoha.jp/unity1025
  4. 4. 1分ではじめる、クラウドのようなVPS 美雲このは • 中学一年生(栃木県出身) • 150cm〜 • 好き: 那須地域牧場の牛乳 • 嫌い: 栃木の風土食「しもつかれ」
  5. 5. 1分ではじめる、クラウドのようなVPS 美雲あんず • 中学一年生(青森県出身) • 148cm • 好き: アップルパイ大好き。 • 趣味: 料理
  6. 6. 1分ではじめる、クラウドのようなVPS ConoHa VPS • VPSホスティングサービス • 古い言い方だとレンタルサーバ • 仮想サーバを930円から • さまざまなOSに対応 https://www.conoha.jp/unity1025
  7. 7. 1分ではじめる、クラウドのようなVPS (ConoHaデモ) https://www.conoha.jp/unity1025
  8. 8. 1分ではじめる、クラウドのようなVPS ConoHaクーポン • ConoHaのサービスを3,000円分使えま す • VPSでもオブジェクトストレージでも • 新規アカウント登録すると、 さらに1,500円分追加されます • あわせて4,500円 • 一番安いプランで4ヶ月分 https://www.conoha.jp/unity1025
  9. 9. 1分ではじめる、クラウドのようなVPS クーポンの意味 • とにかく使ってもらいたい • 性能、使い勝手は使わないとわからない • 事業者側の立場としては スケールメリットを生かしたい https://www.conoha.jp/unity1025
  10. 10. 1分ではじめる、クラウドのようなVPS 宣伝乙w
  11. 11. 1分ではじめる、クラウドのようなVPS 本題 https://www.conoha.jp/unity1025
  12. 12. 1分ではじめる、クラウドのようなVPS アジェンダ • ConoHaオブジェクトストレージの紹介 • Unityアプリのバックエンドストレージとして • サンプルアプリケーションのデモ • REST APIとHTTPの基礎 https://www.conoha.jp/unity1025 • メタデータ • Unityアプリから使う
  13. 13. 1分ではじめる、クラウドのようなVPS サンプルコードとデモアプリ https://www.conoha.jp/unity1025
  14. 14. 1分ではじめる、クラウドのようなVPS ConoHa オブジェクトストレージ https://www.conoha.jp/unity1025
  15. 15. 1分ではじめる、クラウドのようなVPS ConoHaオブジェクトストレージ • 今年9月からの新オプションサービス • インターネット経由で使えるストレージ • 450円/100GB〜 • 容量無制限、転送量課金なし https://www.conoha.jp/unity1025
  16. 16. 1分ではじめる、クラウドのようなVPS Unityアプリのバックエンドとして • ネットワーク経由(https)で簡単にデータを操作 • UnityのWWWモジュールが便利 • データの種類は問わない(画像、動画、ログ、その他) • メタデータで情報を付加できる(DBいらず) • Assetなどアプリの外部ストレージの候補として https://www.conoha.jp/unity1025
  17. 17. 1分ではじめる、クラウドのようなVPS 今回はサンプルアプリケーションを用意しました
  18. 18. 1分ではじめる、クラウドのようなVPS サンプルアプリケーションの紹介 • UnityからREST APIを操作 • オブジェクトストレージから テクスチャ(png)を読み込む • 同時にメタデータから プロフィール情報を取得 • ぐるぐる回す https://www.conoha.jp/unity1025
  19. 19. 1分ではじめる、クラウドのようなVPS (デモ) https://www.conoha.jp/unity1025
  20. 20. 1分ではじめる、クラウドのようなVPS オブジェクトストレージ 解説 今日はがっつりインフラの話をします https://www.conoha.jp/unity1025
  21. 21. 1分ではじめる、クラウドのようなVPS 特徴 • REST APIを通じてアクセスする • すべてのデータをオブジェクトとして扱う • オブジェクトにはメタデータを付加できる • フォルダなどの概念がないフラットな構造 • 冗長化による高い信頼性 • 基盤はOpenStack Swift https://www.conoha.jp/unity1025
  22. 22. 1分ではじめる、クラウドのようなVPS OpenStack • オープンソースのクラウド基盤構築ソフトウェア • IaaSの基盤である、仮想マシン、ストレージ、ネットワ ークなどを統合管理する • http://www.openstack.org/ https://www.conoha.jp/unity1025
  23. 23. 1分ではじめる、クラウドのようなVPS コントロールパネルと統合 ブラウザからちょっとした管理ができます https://www.conoha.jp/unity1025
  24. 24. 1分ではじめる、クラウドのようなVPS
  25. 25. 1分ではじめる、クラウドのようなVPS 2つのポイント REST API メタデータ https://www.conoha.jp/unity1025
  26. 26. 1分ではじめる、クラウドのようなVPS REST API ? https://www.conoha.jp/unity1025
  27. 27. 1分ではじめる、クラウドのようなVPS HTTPのおさらい • Webサイトを表示したりするときに使う • HTTPクライアントとHTTPサーバがある • プロトコルはPlainText • リクエストには「メソッド」を指定する • リクエスト、レスポンス共にヘッダーとBodyがある https://www.conoha.jp/unity1025
  28. 28. 1分ではじめる、クラウドのようなVPS
  29. 29. 1分ではじめる、クラウドのようなVPS REST • オブジェクトストレージAPIのモデル • リソースをURIで定義し標準的なHTTPメソッドで 操作をします • メソッドはGET POST PUT DELETE HEADなど • 概念や設計を知りたい人はWikipediaへ https://www.conoha.jp/unity1025
  30. 30. 1分ではじめる、クラウドのようなVPS URI構造 • URIはオブジェクトを一意に特定できる • URIに対してGET, POSTなどのメソッドを使って操 作する /v1/{アカウント名}/{コンテナ名}/{オブジェクトID} https://objectstore-r1nd1001.cnode.jp/v1/470710ce0ae240608/images/sample.png https://www.conoha.jp/unity1025 例)
  31. 31. 1分ではじめる、クラウドのようなVPS
  32. 32. 1分ではじめる、クラウドのようなVPS メタデータ? https://www.conoha.jp/unity1025
  33. 33. 1分ではじめる、クラウドのようなVPS メタデータ • オブジェクトストレージの特徴の一つ • オブジェクトに様々な情報を付加できる • コンテナにも付加できる • 例) 画像データに撮影者、撮影場所を付加 • 例) ログデータにサーバ名、アプリケーション名 https://www.conoha.jp/unity1025
  34. 34. 1分ではじめる、クラウドのようなVPS メタデータの扱い方 • HTTPヘッダを用います • X-Object-Meta-* という名前を付けます • X-Object-Meta-Name, X-Object-Meta-Age など • 詳細はデモアプリケーションの解説で https://www.conoha.jp/unity1025
  35. 35. 1分ではじめる、クラウドのようなVPS
  36. 36. 1分ではじめる、クラウドのようなVPS ConoHa技術ブログ • オブジェクトストレージの使い 方 • VPS全般で使える技術情報 • 脆弱性情報(bash, OpenSSL) • 楽しいマンガ https://www.conoha.jp/blog/ https://www.conoha.jp/unity1025
  37. 37. 1分ではじめる、クラウドのようなVPS Unityアプリとの連携 https://www.conoha.jp/unity1025
  38. 38. 1分ではじめる、クラウドのようなVPS Unityからオブジェクトストレージ • UnityのWWWモジュールを使う • WWWモジュールは、いわゆるHTTPクラ イアント • オブジェクトストレージに直接接続できる サンプルアプリ• メタデータ(HTTPヘッダ)も扱える https://www.conoha.jp/unity1025
  39. 39. 1分ではじめる、クラウドのようなVPS WWWモジュールの動作を確認する • Cube, Directional Light, Material, Scriptを追加 • Material, ScriptをCubeにAdd Componentする • UnityScript(US)を書く • WWWモジュールを使ってオブジェクトストレージから画像 データを取得 • Cubeのテクスチャに貼り付け https://www.conoha.jp/unity1025
  40. 40. 1分ではじめる、クラウドのようなVPS (WWWモジュールのデモ)
  41. 41. 1分ではじめる、クラウドのようなVPS さらに活用する • 今のデモは普通のWebサーバでもできる • オブジェクトストレージ固有の機能を活用します https://www.conoha.jp/unity1025
  42. 42. 1分ではじめる、クラウドのようなVPS サンプルアプリ • オブジェクトストレージからオブジェクトの一覧を 取得する • 上記のJSONデータをパースする • そのリストを元にキャラを切り替えるボタンを設置 • さらに画像のメタデータをプロフィールとして表示 する https://www.conoha.jp/unity1025
  43. 43. 1分ではじめる、クラウドのようなVPS JSONを扱う • JSONとはJavaScript構文のデータフォーマット • オブジェクトストレージがJSONのデータを返す • Unityで扱うにはいろいろ外部ライブラリがある • 今回は単一スクリプトで手軽だったMiniJSON.csを 使ってみた。 https://www.conoha.jp/unity1025
  44. 44. 1分ではじめる、クラウドのようなVPS メタデータ • 画像データを取得する際にメタデータも取得できる • 通常の実装では、画像はファイル、 プロフィールはDBに保存したりする • オブジェクトストレージでは 画像とプロフィール情報が一度に取得できる https://www.conoha.jp/unity1025
  45. 45. 1分ではじめる、クラウドのようなVPS (コードの解説をする)
  46. 46. 1分ではじめる、クラウドのようなVPS ちょっとした注意 https://www.conoha.jp/unity1025
  47. 47. 1分ではじめる、クラウドのようなVPS CORS • WebPlayer向けにビルドした場合の話 • Cross-Origin Resource Sharing • 異なるドメイン間でリソースの共有ができない • オブジェクトストレージにアクセスできなくなる • 詳細はぐぐってください https://www.conoha.jp/unity1025
  48. 48. 1分ではじめる、クラウドのようなVPS PolicyError!!!
  49. 49. 1分ではじめる、クラウドのようなVPS 回避策 • オブジェクトストレージにCNAMEを割り当てる • 同オリジンになるリバースプロクシを作る • アプリをオブジェクトストレージにホストする https://www.conoha.jp/unity1025 (非現実的)
  50. 50. 1分ではじめる、クラウドのようなVPS まとめ
  51. 51. 1分ではじめる、クラウドのようなVPS オブジェクトストレージを Unityアプリのバックエンドに • WWWモジュールなどで簡単にデータを取得 • メタデータという仕組みがあるため、 メディアデータをテキストデータを一度に扱える • 今回は紹介しなかったが、オブジェクトの保存も 同じようにHTTPで行えるので実装が楽 • 容量無制限、転送量課金無し https://www.conoha.jp/unity1025
  52. 52. 1分ではじめる、クラウドのようなVPS ご清聴ありがとうございました https://www.conoha.jp/unity1025

×