Storage Gateway(Amazon S3 File Gateway)で考慮するべき構成を教えてください

2023.02.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていること

Storage Gateway を Amazon S3 File Gateway で構築予定です。
運用するにあたり、S3 バケットへの書き込む方法は以下の 2 点が考えられます。

  • 直接 S3 バケット内のオブジェクトを操作する
  • Amazon S3 File Gateway を使用してファイル共有にファイルを書き込む

上記認識の基、考慮するべき構成を教えてください。

どう対応すればいいの?

簡単ですが機能について説明すると、
Storage Gateway(Amazon S3 File Gateway)では、使用したデータをゲートウェイにキャッシュして、低レイテンシーでアクセスするように機能を提供しています。
Amazon S3 File Gateway を使用してファイル共有にファイルを書き込むと、データは最初にローカルに保存され、次に非同期で S3 バケットにアップロードされます。

以上を踏まえ、ファイル共有を作成する際 1 つのファイル共有のみが書き込めるように Amazon S3 バケットを設定することを、下記ドキュメント 記載の通り AWS では推奨されています。
また、利用する S3 File Gateway 以外から、該当の S3 が更新されないよう制限する方法についても記載があるのでご検討ください。

Working with multiple file shares and Amazon S3 buckets
When you configure a single Amazon S3 bucket to allow multiple gateways or file shares to write to it, the results can be unpredictable. You can configure your buckets in one of two ways to avoid unpredictable results. Choose the configuration method that best fits your use case from the following options:

なお、こちらの資料(P24)を参考に書き込みと読み込みについて構成をご検討ください。
*FSx File Gateway(P45)でも同じ構成を推奨してます。

補足

もし、S3 コンソールなどで直接バケット内のオブジェクトを操作した場合、前途に記載した仕様上の理由から S3 File Gateway 側には反映されません。反映させるためにはキャッシュの更新が必要です。 対応法を覚えておくと便利なので 弊社ブログ を参考にご対応ください。

参考資料