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