KNOWLEDGE - COLUMN ナレッジ - コラム

【エバンジェリスト・ボイス】AWSで遊んでみよう!~爆速Storage Gatewayは可能か!?~

サイバー・セキュリティ・ソリューション(CSS)部
エバンジェリスト 松岡 政之     matsuoka2_274x380

こんにちは。 CSS 部エバンジェリストの松岡です。

今月8日に正真正銘デスクトップ向け最速CPUのRyzen Threadripper 3990X(64コア128スレッド)が発売されました。
CPU単体で50万円弱するため流石に今回は買ってはいませんが、CPUをヘビーに使うユーザにとっては驚異的なコストパフォーマンスを発揮するようです。
なにせAMDが対抗として掲げているのは2万ドルもするXeonですからね…(Xeonも次世代から値下げするようですが)。

お金に余裕のある方はぜひ買ってみるといいのではないでしょうか?
という冗談は置いておいて、 10 年ほど前までは 6 コアですら 10 万円程度していたことを考えると驚異的な発展です。
今年中には第10世代Core iシリーズ、Ryzen 4000シリーズとまだまだ新しいCPUの発売が予定されているのでとても楽しみですね。

さて、本題に入ります。
今回は機能の紹介などのまじめな話ではなく、思い付きで実験してみた内容のご紹介です。
その名も「爆速 Storage Gateway は可能か!?」です。

Storage Gateway がなにかご存じない方に軽く説明すると、 S3 バケットを EC2 インスタンスまたはローカルのコンピュータからマウントできるようにするサービスです。様々な方式が利用できますが、詳細は割愛させていただきます。今回使用するのはファイルゲートウェイの SMB 接続です。
Storage Gateway ではローカルまたは EC2 上に S3 への中継マシンを用意する必要があるのですが、その中継マシンのディスクをキャッシュとして利用します。そこで私はふと思いました。

「キャッシュが爆速なら Storage Gateway を利用した読み書きも爆速になるのでは ?」

というわけで、 RAM ディスクをキャッシュディスクにしてどのくらい速くなるか実験してみたいと思います。

まずはサクッとRAMディスクを作成します。
create_ramdisk_591x733

手元のマシンはメモリが 64GB しかないのでとりあえず 30GB で指定します。
ファイルゲートウェイではキャッシュディスクの推奨ディスクサイズが最小150GBなのですが今回使用するベンチマークツールでは1GBまでしか使用しないため問題ないと勝手に判断しています。
ramdisk_598x919
さて、作成できました。まずはこの RAM ディスクの実力をベンチマークソフトで測ってみましょう。

ramdiskmark_722x518

流石にかなり速いですね。
参考までに PCIe4.0 対応の NVMe SSD (上)と SATA 接続の HDD (下)のベンチマーク結果を比較用に載せます。
diskmark_722x518

hddmark_482x347

RAM ディスクの読み書き速度ですが、 SSD と比べると Read は何だこの程度かと正直思ってしまいましたが、 Write は十分速いです(この SSD が市販の SSD の中でもかなり速い部類なので仕方ないのかもしれませんが)。
HDD と比べるともはや異次元の速さですね。というか HDD の遅さが際立ちます。
もはや C ドライブが HDD のパソコンなんて使っていられませんね!

では続けて AWS 側の準備です。
まずは Storage Gateway でマウントする S3 バケットを作成します。

続いて Storage Gateway を作成します。今回はファイルゲートウェイを選択します。

途中でゲートウェイをどこに作成するかの選択肢が出てくるので、そこで Hyper-V を選択し Hyper-V 用の VM をダウンロードします。その後、ダウンロードした VM を早速インポートします。

create_vm_1757x1081
そして、RAMディスク上に作成したVHDをマウントします。
attach_ramvhd_1082x1030

AWS のコンソールに戻ってファイルゲートウェイを完成させます。

create_sgw02_2028x1407

続けて SMB の設定をしてファイル共有を作成します。

create_sgw03_2028x1407

ファイル共有を作成したら早速マウントします!

connect_sgw_1468x276
それでは、Storage Gateway経由でのS3バケットへの書き込み速度をベンチマークソフトで測定してみます!
sgramdiskmark_722x518

ん??思ったより速度が出ていませんね
それでもローカルの HDD と比べると数倍~ 20 倍程度の速度は出ているのでクラウドへデータを書き込んでいることを考えると十分速いですが。
そこで、一定以上は仕様上速さが出ないのかと疑い SSD をキャッシュディスクにした場合も測定してみました。

sgssdmark_722x518

比較すると Read はあまり変わらないためこれが Storage Gateway の限界なのかもしれません。
一方 Write に関しては RAM ディスクの方は 2 倍くらいの速度が出ているため、キャッシュディスクの速度を上げることで一定の効果はあるようです。
もしかするとゲートウェイのスペックを上げることでもっと速度が出るのかもしれませんが、今回検証に使用したパソコンは64GBしかメモリがないため断念しました。
今後、256GBメモリが準備できれば再チャレンジしてみるかもしれません。

今回のまとめですが、 Storage Gateway のキャッシュディスクに RAM ディスクを使用することで爆速!とまではいかないですが、非常に高速に書き込むことができることがわかりました。
ただし、ローカルから利用する RAM ディスクの速度と比べるとそこまでの速度は出ないため、コストパフォーマンスを考えると SSD を利用した方が現実的かもしれません。
また、実用性を考えるとキャッシュが切れるサイズのファイルをやり取りするとどうなるかまで見る必要がありますが、今回は単なる興味で実用性は考えていないのでそこまで検証していません。

今回の検証の検証のように新しい発見があるのは楽しいので、今後も何かこういったくだらないことを思いついたら試してみたいと思います。
皆様もこういうことしたらどうなるの?っといったネタがあればご提供いただければ試してみるかもしれません。

それではよいクラウドライフを!

当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。

メルマガ登録ボタン

松岡 政之

株式会社インフォメーション・ディベロプメント 先端技術部 エバンジェリスト

この執筆者の記事一覧

関連するナレッジ・コラム

地味に見えて優秀!マネージドプレフィックスリストでアドレス管理を効率化

DockerでJupyterLabの環境を作ろう

残された攻撃の痕跡を追え! ~Post-Exploitationで起きていること~