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 のユーザは、それぞれのデータセンターにデータファイルを格納するためのコンテナーを作成することができます。コンテナー名は、該当のデータセンーターの中でユニークであれば問題ありません。
そして、各々のクラスターやコンテナー、フォルダ、オブジェクト(ファイル)の数には、特に制限がありません。
SoftLayer の Object Storage の構成例は、次に示すとおり、他のクラウドには存在しない柔軟な構成が可能です。
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] を押してオーダを開始して下さい。
次のように料金の案内が表示されます。[Continue] を押して下さい。
注文内容を確定して下さい。
複数のリージョンに跨って Object Storage のクラスターの中身(データセンター)が表示されます。
今回は、シンガポールリージョンを使います。
コンテナー作成
コンテナーは、Object Storage でオブジェクトを格納するための論理的な空間です。コンテナー名は、アカウントの中での同データセンターの中でユニークであればいいです。
[Add Container] を押して下さい。そしてダイアログボックスからコンテナー名を入力して下さい。
コンテナーを確認して下さい。
フォルダ作成
コンテナー名を押して階層を変えてから [Add Folder] を押して下さい。
ダイアログボックスにフォルダ名を入力して下さい。
フォルダ作成を確認して下さい。
ファイルアップロード
フォルダー名を押して階層変えてから [Add File] を押して下さい。
Browse 画面から [Select] を押して下さい。
そしてダイアログボックスからアップロード対象のファイルを選んで下さい。
[Add] を押してファイルアップロードを開始して下さい。
ファイルアップロードを確認して下さい。
ファイルダウンロード
対象のファイルを選択してから [Action→Download] を押して下さい。
ダウンロード先を指定して格納して下さい。
Temporary URL からダウンロード
Temporary URL からのダウンロードは、期限付きの一時的な URL を発行して HTTP 経由でファイルをダウンロードする方法です。
[Action→Temporary URL] を押して下さい。
ダイアログボックスが表示されたら、リンクの有効期限を分単位で入力して下さい。
次のように署名付きの URL が発行されます。
この URL をブラウザに貼り付けてから [Enter] を押して下さい。次のようにダウンロードできます。この URL はメールに添付して送るなどの用途で使えます。
Copy/Move
アクションメニューの Copy/Move は、同コンテナーのなかでフォルダ間のファイルコピーおよび移動です。
Expire
データファイルの有効期限を設定できます。ここで設定した期限を過ぎたデータファイルは削除されます。
Versioning
コンテナー単位のバージョン管理が可能です。ただし、Object Storageのバージョニングは、ファイルエージ毎の世代管理でなので目的に合致するかを十分考慮してから使ったほうがいいでしょう。
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 の 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 の対象のコンテナーを選択して下さい。
そして Enable CDN のチェックボックスにチェックを入れて下さい。
そして TTL を設定して下さい。TTL(Time To Live) は、CDN のキャッシュサーバに Web コンテンツを保持する時間のことです。
Enable Static Site のチェックボックスにチェックを入れると、CDN の URL が表示されます。
以上で、ファスト CDN 作成は、終了しました。
CDN 経由のダウンロード
上記の CDN の URL でファイルをダウンロードしてみます。CDN の URL をブラウザに貼り付けてから [Enter] を押して下さい。
https://sng01.objectstorage.softlayer.net/v1/AUTH_111f11d0-222f-333b-44a5-cb66ab77fe8c/bucket1/folder1/image001.png
Purge/Prime 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/
FQDN(Fully Qualified Domain Name) を入力して下さい。
セカンダリ CDN の利用
セカンダリ CDN は、Object Storage ではない他リソースから Web コンテンツをキャッシングできる CDN サービスです。例えば、現在の Web ページのコンテンツをこのセカンダリ CDN を通してキャッシングすることも可能です。
[Network→CDN] を押してみて下さい。CDN オーダを出せば直ちにセカンダリ CDN アカウントが作成できます。
そして CDN マッピングを行います。
セカンダリ CDN を作成してから [Add Mapping] を押すと、次のように起点サーバとのマッピング画面が表示されます。
ここで Madia Type は、HTTP/Flash/Windows Media から選ぶことができます。
実演には実ドメインが必要なので、別の機会に紹介させて頂きます。
まとめ
これで一通り、SoftLayer の Object Storage および CDN の使い方をマネジメントコンソールを使って実演して見ました。これらの操作は CLI からも行えますが、まず GUI で様々な機能を熟知してからが効率的だと思います。CLI やサードパーティのツールなどについては、なるべく別の記事で紹介させて頂きます。