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

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

Editor's Notes

  • #5  正体など あんずと同じ、現代座敷童子 修行に出され居候先を探すうち、Webベンチャー企業のインターネット回線からレンタルサーバーサービスに迷い込み、「ここなら(ネットで遊びながら)仕事ができる!」と安住の地を電子の世界に見つける ConoHaを利用する全ユーザーを勝手に守護する
  • #6  正体など データセンターに住む、クラウド界の神さま見習い 青森で座敷童子として生まれる。(座敷童子=東北地方に由来 あんずの産地=青森) あるタイミングになると座敷童子は「神さま」になるべく修行に出される掟がある。 雲の上の神さまになれると勘違いしてクラウド界に来てしまうのだが、真っ直ぐで努力家な性格のため、現在は気持ちを切り替えクラウド界の神さまになるべく修行中の身。