AWS Storage Gateway のファイルゲートウェイに、ネットワークファイルシステム (NFS) またはサーバーメッセージブロック (SMB) ファイル共有があります。ファイルゲートウェイは、Amazon Simple Storage Service (Amazon S3) バケットに関連付けられています。ただし、バケットにファイルを直接アップロードすると、ファイル共有にファイルが表示されません。ファイル共有の更新を自動化するにはどうすればよいですか?
解決方法
ファイル共有を使用してローカルにファイルをキャッシュに書き込むと、Storage Gateway はファイル共有キャッシュを自動的に更新します。ただし、ファイルを Amazon S3 に直接アップロードしても、Storage Gateway はキャッシュを自動的に更新しません。これを行う場合、RefreshCache 操作を実行して、ファイル共有の変更を確認する必要があります。
Storage Gateway では、TTL (Time to Live) 値に基づいて RefreshCache 操作を自動化できます。TTL は、最後の更新からの時間の長さです。ユーザーが TTL 値の後にファイルディレクトリにアクセスすると、ファイルゲートウェイは S3 バケットからディレクトリの内容を更新します。RefreshCache 操作を自動化するための有効な TTL 値は、300 秒から 2,592,000 秒 (5 分から 30 日) の範囲です。
注: 指定した TTL 値の有効期限が切れると、ファイルゲートウェイはフォルダレベルで ListObjects Amazon S3 API コールを呼び出します。TTL を低い値に設定すると、Amazon S3 API リクエストが増える可能性があります。
Storage Gateway コンソールを使用して RefreshCache 操作を自動化するには、次の手順を実行します。
- Storage Gateway コンソールを開きます。
- [ファイル共有] を選択します。
- RefreshCache 操作を自動化するファイル共有を選択します。
- [アクション] を選択してから、[ファイル共有設定の編集] をクリックします。
- [Automated cache refresh from S3 after] で、[Set refresh interval] を選択します。
- TTL を使用してファイル共有のキャッシュを更新する時間を、日、時、分で設定します。
- [保存] を選択します。
Storage Gateway API を使用して RefreshCache 操作を自動化するには、UpdateNFSFileShare API コール、または UpdateSMBFileShare API コールを使用します。両方の API コールで、CacheAttributes パラメータを更新して RefreshCache 操作を自動化する必要があります。
操作を自動化するのではなく、ある時点で RefreshCache を実行する方法については、「Amazon S3 バケットの変更が Storage Gateway ファイル共有に表示されないのはなぜですか?」を参照してください。
RefreshCache 操作に関する次の考慮事項に注意してください。
- 更新プロセスの完了にかかる時間は、次の内容によって異なります。
- ゲートウェイにキャッシュされたオブジェクトの数
- 前回の更新以降にバケットに追加された、またはバケットから削除されたオブジェクトの数。
- キャッシュを更新すると、更新操作が開始されます。ただし、ファイルの更新は別のプロセスです。更新キャッシュ通知を設定して、ファイルの更新処理で更新を取得できます。更新完了通知は、ファイルの更新処理が完了したことを示します。