ニッチなネタですが、S3をStorage Gateway経由で使い際のTipsです。
「S3+StorageGatewayの構成でS3に直接ファイルをアップロードするとマウントしているドライブ側のファイルは最新化されない」っていう話です。
Storage Gatewayでマウントしたドライブからファイル更新した場合はStorage Gatewayのキャッシュが自動更新されるので良いのですが、直接S3にファイルをアップロードすると手動でStorageGatewayのキャッシュ更新が必要になります。
ということで、キャッシュの更新方法を紹介します。
AWSコンソールからStorageGatewayのキャッシュを更新する
StorageGatewayコンソール画面から「ファイル共有」タブを表示し、キャッシュを更新したいファイル共有を選択します。
そして「アクション」から「キャッシュを更新」をクリックし、注意文言が表示されるので「開始」をクリックすればキャッシュが更新されます。
AWS CLIからStorageGatewayのキャッシュを更新する
以下のコマンドを実行することでStorageGatewayのキャッシュを更新することができます。
StorageGatewayのファイル共有ARNを調べる
以下のコマンドを実行し、ファイル共有のARNを調べてコピーしておきます。
$ aws storagegateway list-file-shares
プロファイルやリージョンを指定する場合はこちら(東京リージョン用サンプル)
$ aws storagegateway list-file-shares --profile 【プロファイル名】 --region ap-northeast-1
コマンドの実行例とコピー箇所は以下のようになります。
StorageGatewayのキャッシュを更新する
コピーしたARNを使用してStorageGatewayのキャッシュを更新します。
「–recursive」オプションをつけることでサブフォルダーまで再帰的にキャッシュ更新できます。
$ aws refresh-cache --file-share-arn 【先ほどコピーしたARN】 --recursive
プロファイルやリージョンを指定する場合はこちら(東京リージョン用サンプル)
$ aws refresh-cache --file-share-arn 【先ほどコピーしたARN】 --recursive --profile 【プロファイル名】 --region ap-northeast-1
以上です。S3に直接アップロードした際には忘れずにキャッシュ更新が必要ですね。