Posted at
ConoHaDay 3

ConoHaオブジェクトストレージをKeyCDNのオリジンサーバとして使う

More than 3 years have passed since last update.

この記事は、ConoHa Advent Calendar2015の3日目の記事です。

CDN+オブジェクトストレージというと、AWSのCloudFront+S3というのが真っ先に思いつく人も多いと思います

ですがOpenStackに準拠しているConoHaでもCDNのオリジンサーバとなりうることができます

ここではKeyCDNをCDNとして使用した場合の手順を解説したいと思います


swiftインストール&設定

まずはswiftを操作するためのClientソフトウェア、および関連ソフトウェアをinstallします


console

sudo yum install python-setuptools

sudo yum install python-pip
# upgradeしないとpython-swiftclient実行時におちることがある
sudo pip install --upgrade setuptools
sudo pip install python-swiftclient

そして環境変数を設定します

これについて詳しい内容は1日目のブログを参照するのが良いかと


console

# 認証URL

export OS_AUTH_URL=[endpoint]
# テナント名
export OS_TENANT_NAME=[tenant_name]
# APIユーザ名
export OS_USERNAME=[API_user_name]
# APIパスワード
export OS_PASSWORD=[API_password]


画像の配置

ConoHaのオブジェクトストレージへアクセス準備は出来たので、あとは画像を配置するだけです

まずは画像を格納するコンテナを作成しましょう

ここで重要なのは読み取り権限を変更して、外部アクセスを受け入れれるようにすることです


console

swift post -r '.r:*' (コンテナ名)


またここで設定したコンテナ名が、アクセスするURLとなります

BaseURLは1日目のブログの画像でも表示されているAPI情報のObject Storage Serviceとなります

URL:  (APIエンドポイント-Object Storage ServiceのURL)/(コンテナ名)

コンテナが作成されたので、あとは画像を随時Uploadすればオリジンサーバの完成です


console

swift upload (コンテナ名) (画像ファイルパス)


以上で完了です

非常に簡単ですね


KeyCDN設定

あとはKeyCDN側でConoHaをオリジンサーバとして設定すればCDNとして動作します


まとめ

CDNを構築する際には、データ転送による従量課金とデータストアにかかる費用をなるべく減らしたいという思いはあると思います

その点、CloudFrontと比較して安価なKeyCDNと、データ転送に費用がかからないConoHaオブジェクトストレージというのは非常に相性がいいと感じています

非常に簡単な手順でも作れるので、ライトに!安価に!作りたいという場合には是非選択肢に入れてみてください


余談

本当は「三雲このはは、◯っさんではない! 〜ナイーブベイズを用いて明らかにする」という題目で投稿しようと思っていました

Twitterのデータを男女別で取得し、Mecab+ipadic-NEologdで形態素解析して、ナイーブベイズで分析しようとしたものの、Twitter APIがToo Many Requestで取得できず時間切れで断念、、、

もし次の機会があれば上記お題で挑戦しようかとおもいます