S3 File Gateway においてキャッシュディスクの推奨サイズを教えてください

2023.06.05

困っていること

Storage Gateway の S3 File Gateway を使用して、オンプレミス環境にあるデータを S3 バケットにアップロードする仕組みを検討中です。
S3 File Gateway キャッシュディスクのサイズはどの程度のサイズにすることが推奨なのでしょうか、教えてください。

どう対応すればいいの?

下記ドキュメント記載の通り、ファイルゲートウェイにおいては、特にキャッシュディスクのサイズに関する指標はございません。
ファイルゲートウェイでは最小と最大のサイズのみがございます。

ゲートウェイには VM 用の 80 GiB に加えて、ゲートウェイ用のディスク容量が必要です。
最小:150 GiB
最大:64 TiB

補足

File Gateway 用途の際、例えばオンプレミス環境にあるデータの総容量が 10TB に対して、2TB のファイルが含まれていると仮定して、キャッシュディスクを 1TB などに設定することは可能です。
一方で、ドキュメント記載の通りファイルのアップロード時にキャッシュディスクにファイルが収まらず、キャッシュ領域の使用と解放、S3 へのアップロードが同時に発生し、上記の例ではゲートウェイのパフォーマンスが落ちる可能性がございます。
しかしながら、キャッシュディスクをオンプレミス環境の大きなファイルサイズに合わせ大容量サイズに設定すると、キャッシュディスクの容量が大きすぎてその他のファイルの利用時に無駄になる可能性もございます。

S3 ファイルゲートウェイが大きなファイルをアップロードする場合、クライアントが S3 ファイルゲートウェイへの書き込みを完了する前に、ファイルの小さなチャンクをアップロードする必要がある場合があります。この理由には、キャッシュ領域の解放や、ファイル共有への書き込み率が高いことが挙げられます。これにより、S3 バケット内のオブジェクトのバージョンが複数発生する可能性があります。

考慮事項

大容量のファイルを頻繁にアップロードし、またそのファイルをファイルゲートウェイ経由でダウンロードすることがある場合は、キャッシュディスクはオンプレミス環境のファイルサイズ以上(上記の例では 2TB 以上)ある方が良いかと思うものの、対象のファイルは滅多にアップロードされずファイルゲートウェイ経由でダウンロードするようなことがない場合には、一時的なアップロードによるパフォーマンスの低下を前提に、キャッシュディスクを少なく設定することも可能です。

以上より、非常に大きなファイルを想定されている場合は以下の点を考慮してご検討ください。

参考資料