クラウド上のストレージへのアクセスを最適化するStorage Proxyパターン

みなさんこんにちは。SAの渡邉(@gentaw0)です。おもに、Windowsまわりを得意としています。また一部では、#ヤマンの天敵とも呼ばれています。ちなみに、ヤマンとはジャマイカのパトワ語で、はい、もちろん、いいね!というような意味があります。みなさんは知ってましたか?ヤマン!←というふうにつかいます。

さて、CDP Advent Calenderに登録しましたので、今回はクラウドデザインパターン(CDP)にかかわる話を書きたいと思います。もともとは、世の中のいろんなところにデザインパターンを見出す「もしCDPが○○だったら」というネタをやろうかと思ったのですが、いきなりブログの方向性を見失いそうになるのであきらめました(※ちなみに、Glacierをセンターにしてあらゆるデータを永続的に保管する「永遠○レッシャー」パターンというのを考えました)。

かわりに、オンプレミスからクラウド上のストレージにアクセスするときのパターンについて考えてみたいと思います。みなさんは、Amazon S3などのクラウドストレージにアクセスするときはどうしていますか?たとえば、S3へのデータのアップロード/ダウンロードは、S3 APIもしくはManegement Consoleから行うことができます。このとき、S3へのアクセスはHTTP/HTTPSを使用するため、インターネット経由でストレージにアクセスできます。また、CloudBerry Explorerのようなサードパーティ製のアプリケーションを使用することによってWindowsからより便利にS3にアクセスすることができるようになります。

Storage Proxy 1

しかし、会社などの組織全体でクラウドストレージを使っていこうとすると、いくつか課題がでてくるかもしれません。

  • インターネット経由になるため、ネットワーク環境によってはパフォーマンスが出ない
  • アクセス権の集中管理が困難(たとえば、Active DirectoryやLDAPでユーザー管理したい)
  • CIFS/NFSのファイル共有として透過的につかいたい

そんなときに、オンプレミス上にS3へアクセスするためのプロキシーを置くことによってこれらの課題に対処しようというのがこの「Storage Proxy」パターンです。このネーミングは、Web Proxyにちなんで考えました。Storage Proxyパターンでは、社内からのストレージへのアクセスをいったんStorage Proxyが受けて、Storage ProxyからS3にアクセスするような形をとります。このとき、Storage ProxyにCIFS/NFSサーバーの機能をもたせることによって社内から標準的なファイル共有の仕組みでアクセスすることができるようになります。また、Storage Proxyにローカルキャッシュ用のディスクを配置すると、データの実体はクラウド上に保管しながらより低いレイテンシでストレージに読み書きすることができます。もちろん、Active DirectoryやLDAPなど社内の標準的な認証の仕組みによってアクセス権を制御することもできます。

Storage Proxy 2

ただし、このときにいくつかの注意点があります。代表的な注意点としては以下のようなことがあげられるかと思います。また、もともとオンプレミスにもう一台もサーバーを増やしたくない!という要望がある場合にはあまり向かないかもしれません。

  • Storage Proxyが単一障害点(SPOF)となることがないように保護する
  • ローカルキャッシュに十分なディスク容量およびIOPSが実現できるようサイジングを行う
  • 社内のネットワーク環境によっては、複数のStorage Proxyを配置するように考慮する

Storage Proxyパターンは、現在AWS Storage Gatewayに追加されたGateway-Cached Volumesの機能を使用することによって実装することができます。AWS Storage Gatewayには60日間の無料使用枠もありますので、ぜひカジュアルに試してみていただければと思います。また、最近マイクロソフトに買収されましたがStorSimpleなどの製品でも同様のことができるかと思います。個人的には、もっと多くの実装例がでてくることに期待したいですね。ヤマン!

Advertisements

2 Responses to クラウド上のストレージへのアクセスを最適化するStorage Proxyパターン

  1. Storage Proxyパターンについて、もう少し詳しく伺えないでしょうか?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: