AWS Storage Gateway で、ファイルゲートウェイに RefreshCache 操作を開始すると、その操作が完了するまでに長い時間がかかります。
解決策
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
RefreshCache 操作は、ゲートウェイが最後にオブジェクトを識別してキャッシュしたとき以降の Amazon Simple Storage Service (Amazon S3) オブジェクトの変更を識別します。変更には、更新、アップロード、または削除されたオブジェクトが含まれます。この操作を完了するために、ファイルゲートウェイは Amazon S3 バケットで再帰的な LIST 操作を実行します。次に、ファイルゲートウェイは、LIST 操作から戻ってきたすべてのオブジェクトに対して HEAD オブジェクト操作を実行します。HEAD 操作はメタデータを保持し、ファイルゲートウェイキャッシュに保存します。
RefreshCache 操作にかかる時間には、次の要因が影響します。
RefreshCache 操作の実行時間を短縮するには、次のいずれかを実行します。
- バケット内のオブジェクトの数を減らします。
- S3 バケットの個別のプレフィックスに対応する複数のファイル共有をデプロイします。1 件のファイル共有を、バケット全体には使用しないでください。
注: 個々のファイルゲートウェイに最大 10 個のファイル共有を作成できます。RefreshCache 操作はファイル共有ごとに実行されるため、こうすることで、個々の RefreshCache 操作を完了するのにかかる時間を短縮できます。
- S3 バケット全体に 1 件のファイル共有を使用する場合は、新しいオブジェクトで更新されるバケットの特定のプレフィックスまたはフォルダに RefreshCache 操作を集中させます。これにより、操作の範囲を絞り込み、実行時間を短縮できます。AWS CLI または Storage Gateway API を使用して操作を実行する場合、RefreshCache 操作の対象を特定のフォルダに限定します。この方法は、Storage Gateway コンソールでは使用できません。
- S3 バケットへの他のリクエストについては、オフピーク時に RefreshCache 操作を実行します。AWS Lambda と Amazon CloudWatch を使用することで、タイマーで操作を開始できます。
関連情報
AWS Storage Gateway のファイルゲートウェイで、キャッシュ更新プロセスを自動化する