fbpx

SoftLayer の Object Storage & CDN を使ってみる #softlayer

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

今回は、SoftLayer の Object Storage および CDN をマネジメントコンソールから操作してみます。SoftLayer のObject Storage は、他のクラウドにはあまり存在しないマルチデータセンター(リージョン)間のレプリケーションを標準サービスとして提供しています。そして Object Storage を起点サーバとする CDN サービスは、Object Storage とセットで使えるようになっています。

SoftLayer の Object Storage

Object Storage とは

SoftLayer の Object Storage は、OpenStack の Swift をベースとしたインターネット経由でアクセスするクラウドストレージです。アップロードできる単一ファイルの最大サイズは 5GB です。
もし、5GB 超えるファイルをアップロードする場合は、ファイルを 5GB 以下のチャンク (Chunk) に分割する必要があります。

Object Storage のロードしてオブジェクトへのアクセスは、SoftLayer の REST API および REST API をラッピングした CLI (Commane Line Interface)、サードパーティのツールなどが使えます。

Object Storage の用度

Object Storage の用途は多様ですが、次のようなストレージとして使えます。

  • Archiving documents and email
  • Archiving system backups
  • Storing photos and videos
  • Storing virtual machine images

Object Storage のアーキテクチャー

SoftLayer の Object Storage のアーキテクチャーは、他のクラウドにはない柔軟な構造です。下の図で示しているとおり、SoftLayer の Account 配下に複数のクラスターが作成できます。そしてそれぞれのクラスターには、SoftLayer の複数のデータセンターがノードとして並んでいます。
SoftLayer のユーザは、それぞれのデータセンターにデータファイルを格納するためのコンテナーを作成することができます。コンテナー名は、該当のデータセンーターの中でユニークであれば問題ありません。
そして、各々のクラスターやコンテナー、フォルダ、オブジェクト(ファイル)の数には、特に制限がありません。

Object-storage-architecture

SoftLayer の Object Storage の構成例は、次に示すとおり、他のクラウドには存在しない柔軟な構成が可能です。

Object-storage-architecture-example

SoftLayer の Object Storage の特徴

[セルフヒーリング]
SoftLayer の Object Storage は、データファイルを格納する時、クラスター単位で複数の書き込みを行っています。もし、データ操作の失敗を検知した場合、直ちにレプリケーションから読まれ、データファイルはリストアされます。ですから、ユーザサービスは継続性は保証されています。

[3つのレプリケーション]
SoftLayer の Object Storage では、プライマストレージへ Object の書き込みを行う際、別のストレージへ複数のレプリケーションを行います。この仕組みは、SoftLayer の標準機能として提供されるもので、特にユーザ側で設定を行う必要はありません。

マネジメントコンソールへログイン

次のように SoftLayer のマネジメントコンソールにログインして下さい。

https://control.softlayer.com/

Object Storage 作成

[Storage→Object Storage] を選択し、Object Storage の一覧画面を表示して下さい。そして [Order Object Storage] を押してオーダを開始して下さい。

Order-storage

次のように料金の案内が表示されます。[Continue] を押して下さい。

Order-storage-price

注文内容を確定して下さい。

Order-storage-place

複数のリージョンに跨って Object Storage のクラスターの中身(データセンター)が表示されます。

Order-storage-cluster

今回は、シンガポールリージョンを使います。

コンテナー作成

コンテナーは、Object Storage でオブジェクトを格納するための論理的な空間です。コンテナー名は、アカウントの中での同データセンターの中でユニークであればいいです。

Container-add

[Add Container] を押して下さい。そしてダイアログボックスからコンテナー名を入力して下さい。

Container-name

コンテナーを確認して下さい。

Container-list

フォルダ作成

コンテナー名を押して階層を変えてから [Add Folder] を押して下さい。

Folder-add

ダイアログボックスにフォルダ名を入力して下さい。

Folder-name

Folder-ok

フォルダ作成を確認して下さい。

Folder-list

ファイルアップロード

フォルダー名を押して階層変えてから [Add File] を押して下さい。

Upload-add-file

Browse 画面から [Select] を押して下さい。

Upload-file-select

そしてダイアログボックスからアップロード対象のファイルを選んで下さい。

Upload-file-dialogue

[Add] を押してファイルアップロードを開始して下さい。

Upload-start

ファイルアップロードを確認して下さい。

Upload-file-list

ファイルダウンロード

対象のファイルを選択してから [Action→Download] を押して下さい。

Download-file

ダウンロード先を指定して格納して下さい。

Download-dialogue

Temporary URL からダウンロード

Temporary URL からのダウンロードは、期限付きの一時的な URL を発行して HTTP 経由でファイルをダウンロードする方法です。

[Action→Temporary URL] を押して下さい。

ダイアログボックスが表示されたら、リンクの有効期限を分単位で入力して下さい。

Temporary-url-time-limit

次のように署名付きの URL が発行されます。

Temporary-url

この URL をブラウザに貼り付けてから [Enter] を押して下さい。次のようにダウンロードできます。この URL はメールに添付して送るなどの用途で使えます。

Temporary-url-dialogue

Copy/Move

アクションメニューの Copy/Move は、同コンテナーのなかでフォルダ間のファイルコピーおよび移動です。

Expire

データファイルの有効期限を設定できます。ここで設定した期限を過ぎたデータファイルは削除されます。

File-expire

Versioning

コンテナー単位のバージョン管理が可能です。ただし、Object Storageのバージョニングは、ファイルエージ毎の世代管理でなので目的に合致するかを十分考慮してから使ったほうがいいでしょう。

Container-versioning

SoftLayer が提供する REST API および CLI

SoftLayer の RESTful API は、次を参照して下さい。SoftLayer の Object Storage は、OpenStack の Swift をベースにしています。

http://docs.openstack.org/api/openstack-object-storage/1.0/content

SoftLayer は RESTful API をラッピングした Ruby ライブラリも提供しています。せひ、試してみて下さい。

https://github.com/softlayer/softlayer-object-storage-ruby

サードパーティツール

SoftLayer のオブジェクトストレージは、多数のサードパーティツールを使って利用することも可能です。

Contents Delivery Network (CDN)

CDN とは

CDN とは、Web コンテンツをインターネット経由で配信するために最適化されたネットワークのことです。コンテンツ配信網ともいいます。
CDN を使うとユーザが1回目に要求したコンテンツを地理的にユーザと近い個所のキャッシュサーバにコピーしておいて、次回から要求があった場合はキャッシュサーバから応答します。頻繁に大量のリクエストがあった場合、トラフィックが非常に大きいストリーミングサービスなどに使えます。

Cdn-flow

この記事を書く時点では、アジア圏の CDN の POPs (points of presence) は次の通りです。

  • Hong Kong
  • Osaka
  • Singapore
  • Tokyo

CDN の用途

CDN の用途は多様ですが、次のようなサービスを上げられます。

  • HTTP PROGRESSIVE
  • WINDOWS LIVE STREAMCAST
  • WINDOWS ON DEMAND STREAMING
  • FLASH LIVE STREAMCAST
  • FLASH ON DEMAND STREAMIN

ファスト CDN (Default CDN)

ファスト CDN は、Object Storage のコンテナー作成時に同時に作成され、スタンバイ状態になっています。この CDN は、CDN を使うという意思表示(Enable CDN)をするだけで直ちに使えます。そして CDN は、Object Storage のインターフェースおよび API を通して利用可能です。
但し、このファスト CDN は、Object Storage とセットで使う必要があります。このファイスト CDN では、Object Storage 外の他のリソースから Web コンテンツを引っ張ってくることはできません。

CDN 作成

Object Storage の対象のコンテナーを選択して下さい。

Cdn-create

そして Enable CDN のチェックボックスにチェックを入れて下さい。

Cdn-update

そして TTL を設定して下さい。TTL(Time To Live) は、CDN のキャッシュサーバに Web コンテンツを保持する時間のことです。

Cdn-ttl-time

Cdn-ttl-update

Cdn-ttl-fix

Enable Static Site のチェックボックスにチェックを入れると、CDN の URL が表示されます。

Cdn-static-site

以上で、ファスト CDN 作成は、終了しました。

CDN 経由のダウンロード

上記の CDN の URL でファイルをダウンロードしてみます。CDN の URL をブラウザに貼り付けてから [Enter] を押して下さい。

https://sng01.objectstorage.softlayer.net/v1/AUTH_111f11d0-222f-333b-44a5-cb66ab77fe8c/bucket1/folder1/image001.png

Cdn-download-dialogue

Purge/Prime Cache

Cdn-cache

[Purge Cache]

手動でキャッシュサーバ(Points of Presence :POPs)にコピーされているファイルを削除します。キャッシュサーバからファイル削除が実行されるまでの時間は、3-5分ぐらいです。

[Prime Cache]

手動でキャッシュサーバ(Points of Presence :POPs)に起点サーバからデータファイルをコピーしておきます。つまり、リクエストから来てから対応するのではなく、事前にスタンバイ状態にしておきます。

CNAME

CNAME は、次のような長い CDN の URL を www.mycompany.com のように別名を付けて使用できるようにします。

https://sng01.objectstorage.softlayer.net/v1/AUTH_111f11d0-222f-333b-44a5-cb66ab77fe8c/bucket1/

cname-add

FQDN(Fully Qualified Domain Name) を入力して下さい。

Cname-update

セカンダリ CDN の利用

セカンダリ CDN は、Object Storage ではない他リソースから Web コンテンツをキャッシングできる CDN サービスです。例えば、現在の Web ページのコンテンツをこのセカンダリ CDN を通してキャッシングすることも可能です。
[Network→CDN] を押してみて下さい。CDN オーダを出せば直ちにセカンダリ CDN アカウントが作成できます。

Secondary-cdn

そして CDN マッピングを行います。
セカンダリ CDN を作成してから [Add Mapping] を押すと、次のように起点サーバとのマッピング画面が表示されます。

Secondary-cdn-mapping

ここで Madia Type は、HTTP/Flash/Windows Media から選ぶことができます。

Secondary-cdn-type

実演には実ドメインが必要なので、別の機会に紹介させて頂きます。

まとめ

これで一通り、SoftLayer の Object Storage および CDN の使い方をマネジメントコンソールを使って実演して見ました。これらの操作は CLI からも行えますが、まず GUI で様々な機能を熟知してからが効率的だと思います。CLI やサードパーティのツールなどについては、なるべく別の記事で紹介させて頂きます。

[参考資料]


Author

モダンアーキテクチャー基盤のソリューションアーキテクトとして活動しています。

[著書]
・Amazon Cloudテクニカルガイド―EC2/S3からVPCまで徹底解析
・Amazon Elastic MapReduceテクニカルガイド ―クラウド型Hadoopで実現する大規模分散処理
・Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j
・Neo4jを使うグラフ型データベース入門(共著)
・RDB技術者のためのNoSQLガイド(共著)

leeの記事一覧

新規CTA