30
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

conoha オブジェクトストレージを利用した静的 画像/動画サイトの作成

Last updated at Posted at 2016-01-07

オブジェクトストレージがどんなに便利かわからない状態で、ちょっと作ってみました。conohaのオブジェクトストレージですごくいいなと思ったところが、

  • amazon S3と比較してネットワーク転送料がかからない

ってところですw 今回画像だけしかアップしておりませんが、他にも動画とかもありかな?と思います。

swiftを頑張って覚えないとと思ったのですが、私にはあまりにも難しすぎて、断念しましたが、

ここに
https://github.com/hironobu-s/conoha-ojs
すばらしいツールがあったのでこれを使うことにしました。

今回は、conoha-ojsを利用して、画像をアップロードし、WEB見れるようにするところまで作っていこうと思います

あたまりまえなのですが、conohaの設定で、オブジェクトストレージを利用する設定をしないと動かないので、注意w

インストール

作業は基本的にrootで行います

L=/usr/local/bin/conoha-ojs && curl -sL https://github.com/hironobu-s/conoha-ojs/releases/download/v20150406.1/conoha-ojs-linux.amd64.gz | zcat > $L && chmod +x $L

初期設定

.bash_profile のPATHを編集する :/usr/local/bin

vi ~/bash_profile
-------------------------------------
PATH=$PATH:$HOME/bin:/usr/local/bin

bash_profileの再読み込み

source ~/.bash_profile

認証情報のクリア

conoha-ojs deauth

認証情報の設定

認証情報の内容につきましては、conohaのユーザーであれば、WEBログイン後の「API」というところから確認できます。

conoha-ojs auth -u "gncuNNNNNNNN" -p "passwd2016" -t "471be32785774a8aa948e4d52534a4ef" -a "https://identity.tyo1.conoha.io/v2.0"

設定内容は以下を確認

conoha-ojs auth
Usage: conoha-ojs auth [OPTIONS]

Authenticate to ConoHa ObjectStorage.

  -u, --api-username: API Username

  -p: --api-password: API Password

  -t: --tenant-id:    Tenant ID

  -a: --auth-url:     Auth URL(Optional)
                      If not set, it will be used ConoHa Auth URL(https://ident-r1nd1001.cnode.jp/v2.0).

conoha-ojsの操作

オブジェクトストレージから基本、WEB参照できるように構成する手順

コンテナの状態を確認

conoha-ojs stat
-------------------------------------------------------------------------------------------------------------
                                           Object: 
                                     Content Type: text/plain; charset=utf-8
                                   Content Length: 0
                                     LastModified: Mon, 01 Jan 0001 00:00:00 UTC
                                             ETag: 
                                             Date: Thu, 07 Jan 2016 07:00:28 GMT
                                    Accept-Ranges: bytes
                                       X-Trans-Id: tx8e1b55a299ae495f9e52a-00568e0d0c
                           X-Account-Object-Count: 2
X-Account-Storage-Policy-Policy-0-Container-Count: 1
                                      X-Timestamp: 1441782846.75681
                       X-Account-Meta-Quota-Bytes: 214748364800
     X-Account-Storage-Policy-Policy-0-Bytes-Used: 7995331
   X-Account-Storage-Policy-Policy-0-Object-Count: 2
                        X-Account-Container-Count: 1
                             X-Account-Bytes-Used: 7995331

コンテナの参照

conoha-ojs list                                                                                                    
-----------------------------
panda

コンテナの削除

コンテナを削除すると下位もまるっと消えます

conoha-ojs delete panda                                                                                          
----------------                                                                                                    

INFO[0000] panda/uploaded was deleted.                

コンテナ/オブジェクトの作成

WEBで参照できるようにパーミッションをつける

conoha-ojs post -r ".r:*,.rlistings" panda                                                                       
conoha-ojs post -r ".r:*,.rlistings" panda/uploaded
conoha-ojs list panda                                                                                            
-----------------------------------------------------------------------------
uploaded

オブジェクトのアップロード

上記にて作成した、コンテナ/オブジェクトに画像ファイルをアップロードしてみます

conoha-ojs upload panda/uploaded 20131118-02-naki.jpg                                                          
-----------------------------------------------------------------------------
INFO[0000] 20131118-02-naki.jpg (content-type: image/jpeg) was uploaded. 
  • 余談ですが、ワイルドカードの指定も行えます
conoha-ojs upload panda/uploaded 20131118-02-naki.jpg                                                          
  • 注意点

こんなことやると、パスもオブジェクトとして、まるっとアップされちゃいます

conoha-ojs upload panda/uploaded /tmp/gazou/20131118-02-naki.jpg 

conoha object storageのstatic web site を参照する

URLを調べる

conohaのweb管理画面から、エンドポイントの情報を確認

以下の通りになっていると思うが、これがend pointです

Object Storage Service https://object-storage.tyo1.conoha.io/v1/nc_471be32785774a8aa948e4d52534a4ef
画像がでるか確認

上記のobject storage のURLに[コンテナ]/[オブジェクト]/[アップロードしたファイル名]をつけてやればWEB参照できます

https://object-storage.tyo1.conoha.io/v1/nc_471be32785774a8aa948e4d52534a4ef/panda/uploaded/20131118-02-naki.jpg

conoha gazou

てな感じで画像がでました、結構便利です。
あ。。でもendpointのURLが長くて、萎えるので、nginxのリバースプロキシとか利用して、短くするのもありかな?と思います

  • nginx.conf 一部抜粋
    location /varc {
        proxy_pass https://object-storage.tyo1.conoha.io/v1/nc_471be32785774a8aa948e4d52534a4ef/panda/uploaded;
    }
30
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?