ファイル共有に関するトラブルシューティング - AWSStorage Gateway

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ファイル共有に関するトラブルシューティング

このセクションでは、ファイル共有で予期しない問題が発生した場合に行うアクションについて説明します。

ファイル共有が CREATING ステータスでスタックしています

ファイル共有を作成すると、そのステータスは作成中となります。このステータスは、ファイル共有の作成後に使用可能ステータスに変更します。ファイル共有が作成中ステータスのまま止まってしまったら、以下を実行します。

  1. [https://console.aws.amazon.com/s3/] で Amazon S3 コンソールを開きます。

  2. ファイル共有をマッピングした S3 バケットが存在することを確認します。バケットが存在しない場合には、バケットを作成します。バケットを作成すると、ファイル共有ステータスは使用可能に変更します。S3 バケットを作成する方法については、「」を参照してください。バケットの作成Amazon Simple Storage Service ユーザーガイド

  3. バケット名が Amazon S3 のバケット命名ルールを準拠していることを確認します。詳細については、Amazon Simple Storage Service ユーザーガイドバケットの命名規則について参照してください。

  4. S3 バケットにアクセスするために使用する IAM ロールに正しいアクセス権限があることを確認し、S3 バケットが IAM ポリシーのリソースとしてリストされていることを確認します。詳細については、「Amazon S3 バケットへのアクセス許可の付与」を参照してください。

ファイル共有を作成することはできません。

  1. ファイル共有が作成中ステータスのまま止まっているためにファイル共有を作成できない場合には、ファイル共有をマッピングした S3 バケットが存在することを確認します。これを行う方法については、「ファイル共有が CREATING ステータスでスタックしています」を参照してください。

  2. S3 バケットが存在する場合は、AWS Security Token Serviceファイル共有を作成しているリージョンで有効になります。セキュリティトークンが有効になっていない場合は、それを有効にします。を使用してトークンを有効にする方法については、を参照してください。AWS Security Token Service「」を参照してくださいアクティブ化と非アクティブ化AWSのSTSAWSリージョンIAM ユーザーガイド

SMB ファイル共有では、複数の異なるアクセス方法は使用できません

SMB ファイル共有には、以下の制限があります。

  1. 同じクライアントが Active Directory とゲストアクセスの SMB ファイル共有の両方をマウントしようとすると、次のエラーメッセージが表示されます。Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.

  2. Windows ユーザーは、2 つのゲストアクセスの SMB ファイル共有に接続することはできません。新しいゲストアクセス接続が確立されると切断される場合があります。

  3. Windows クライアントは、同じゲートウェイによってエクスポートされた、ゲストアクセスと Active Directory の SMB ファイル共有の両方をマウントすることはできません。

複数のファイル共有がマップされた S3 バケットに書き込めない

1 つの S3 バケットに複数のファイル共有を書き込むことを許可するように S3 バケットを設定することは推奨されません。このやり方では、予期しない結果を引き起こす場合があります。

代わりに、各 S3 バケットに 1 つのファイル共有のみ書き込むように許可することが推奨されます。ファイル共有に関連付けられた 1 つのロールのみがバケットに書き込むよう許可するバケットポリシーを作成します。詳細については、「ファイル共有に関するベストプラクティス」を参照してください。

S3 バケットにファイルをアップロードできない

S3 バケットにファイルをアップロードできない場合には、次の操作を行います。

  1. S3 ファイルゲートウェイが S3 バケットにファイルをアップロードするために必要なアクセス権限があることを確認します。詳細については、「Amazon S3 バケットへのアクセス許可の付与」を参照してください。

  2. バケットを作成したロールに S3 バケットに書き込みを行う許可があることを確認します。詳細については、「ファイル共有に関するベストプラクティス」を参照してください。

  3. ファイルゲートウェイで暗号化に SSE-KMS を使用している場合は、ファイル共有に関連付けられた IAM ロールに次のものが含まれていることを確認してください。kms:Encrypt,kms:Decrypt,KMS: 再暗号化,kms:GenerateDataKey, およびkms:DescribeKeyアクセス許可。詳細については、「」を参照してください。Storage Gateway でのアイデンティティベースのポリシー (IAM ポリシー) の使用

SSE-KMS を使用して S3 バケットに格納されているオブジェクトを暗号化するようにデフォルトの暗号化を変更できない

デフォルトの暗号化を変更し、SSE-KMS (サーバー側の暗号化) を以下で使用する場合AWS KMS—管理キー) S3 バケットのデフォルトで、Amazon S3 ファイルゲートウェイがバケットに格納するオブジェクトは SSE-KMS で暗号化されません。デフォルトでは、S3 ファイルゲートウェイは S3 バケットにデータを書き込むときに Amazon S3 (SSE-S3) で管理されたサーバー側の暗号化を使用します。デフォルトを変更しても、暗号化は自動的に変更されません。

独自の AWS KMS キーを使って SSE-KMS を使用した暗号化を行うには、SSE-KMS 暗号化を有効にする必要があります。これを行うには、ファイル共有を作成するときに KMS キーの Amazon リソースネーム (ARN) を指定します。ファイル共有の KMS 設定は、UpdateNFSFileShare または UpdateSMBFileShare API オペレーションを使用して更新することもできます。この更新は、更新後に S3 バケットに保存されているオブジェクトに適用されます。詳細については、「を使用したデータ暗号化AWS KMS」を参照してください。

オブジェクトのバージョニングが有効になっている S3 バケットで直接行われた変更は、ファイル共有に表示される内容に影響することがあります。

S3 バケットのオブジェクトが別のクライアントにより書き込まれる場合、S3 バケットオブジェクトのバージョニングの結果として S3 バケットのビューが最新でなくなる可能性があります。目的のファイルを調べる前に必ずキャッシュを更新してください。

オブジェクトのバージョニングは、同じ名前のオブジェクトの複数のコピーを保存することによりデータを保護するためのオプションの S3 バケット機能です。各コピーには、個別の ID 値があります。file1.jpg:ID="xxx"そしてfile1.jpg: ID="yyy"。 同じ名前のオブジェクトの数とその存続期間は、Amazon S3 ライフサイクルポリシーによって制御されます。これらの Amazon S3 の概念の詳細については、「」を参照してください。バージョニングの使用そしてオブジェクトのライフサイクル管理Amazon S3 開発者ガイド。

バージョニングされたオブジェクトを削除すると、そのオブジェクトには削除マーカーのフラグが付けられますが保持されます。バージョニングがオンになっているオブジェクトは、S3 バケット所有者のみが完全に削除することができます。

S3 ファイルゲートウェイでは、表示されるファイルは、オブジェクトが取得されたかキャッシュが更新された時点の S3 バケットにおけるオブジェクトの最新バージョンです。S3 ファイルゲートウェイは、古いバージョン、または削除対象としてマークされたすべてのオブジェクトを無視します。ファイルを読み込むとき、最新バージョンからデータを読み取ります。ファイル共有にファイルを書き込むと、S3 ファイルゲートウェイにより、指定オブジェクトの新しいバージョンが変更を適用して作成され、そのバージョンが最新バージョンになります。

S3 ファイルゲートウェイは、以前のバージョンからの読み取り続けます。新しいバージョンをアプリケーションの外で S3 バケットに追加する場合は、加える変更は以前のバージョンに基づいている必要があります。オブジェクトの最新バージョンを読み取るには、RefreshCache「」で説明されているように、API アクションまたはコンソールからの更新Amazon S3 バケット内のオブジェクトの更新

重要

オブジェクトまたはファイルをファイル共有の外部から S3 ファイルゲートウェイ S3 バケットに書き込むことはお勧めしません。

オブジェクトのバージョニングを有効にして S3 バケットに書き込む場合、Amazon S3 ファイルゲートウェイは S3 オブジェクトの複数のバージョンを作成することがあります。

オブジェクトのバージョニングを有効にすると、NFS または SMB クライアントからファイルを更新するたびに、Amazon S3 でオブジェクトの複数のバージョンが作成されることがあります。S3 バケットにオブジェクトの複数のバージョンが作成される可能性があるシナリオを次に示します。

  • ファイルが Amazon S3 にアップロードされた後に、NFS または SMB クライアントによって Amazon S3 ファイルゲートウェイで変更されると、S3 ファイルゲートウェイはファイル全体をアップロードするのではなく、新規または変更されたデータをアップロードします。ファイルの変更により、Amazon S3 オブジェクトの新しいバージョンが作成されます。

  • ファイルが NFS または SMB クライアントによって S3 ファイルゲートウェイに書き込まれると、S3 ファイルゲートウェイはファイルのデータを Amazon S3 にアップロードし、その後にそのメタデータ(所有権、タイムスタンプなど)がアップロードされます。ファイルデータをアップロードすると Amazon S3 オブジェクトが作成され、ファイルのメタデータをアップロードすると、Amazon S3 オブジェクトのメタデータが更新されます。このプロセスでは、オブジェクトの別のバージョンが作成され、オブジェクトの 2 つのバージョンが作成されます。

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

オブジェクトを異なるストレージクラスに移動するライフサイクルポリシーを設定する前に、S3 バケットを監視して、オブジェクトのバージョン数を確認する必要があります。S3 バケット内のオブジェクトのバージョン数を最小限に抑えるために、以前のバージョンのライフサイクルの有効期限を設定する必要があります。S3 バケット間で同じリージョンレプリケーション(SRR)またはクロスリージョンレプリケーション(CRR)を使用すると、使用されるストレージが増加します。レプリケーションの詳細については、「」を参照してください。レプリケーション

重要

オブジェクトのバージョニングが有効になっているときに使用されているストレージの量を理解するまで、S3 バケット間のレプリケーションを設定しないでください。

バージョニングされた S3 バケットを使用すると、ファイルを変更するたびに S3 オブジェクトの新しいバージョンが作成されるため、Amazon S3 内のストレージの量が大幅に増加します。この動作を上書きし、保持されるバージョンの数を制限するポリシーを別に作成しない限り、デフォルトでは、Amazon S3 はこれらのすべてのバージョンを保存し続けます。オブジェクトのバージョニングを有効にして、ストレージ使用量が異常に大きいことに気づいた場合、ストレージポリシーが適切に設定されていることを確認してください。ブラウザリクエストに対する HTTP 503-slow down レスポンスの数が増えても、オブジェクトのバージョニングの問題が発生する可能性があります。

S3 ファイルゲートウェイのインストール後にオブジェクトのバージョニングを有効にした場合、すべての一意のオブジェクトが保持されます (ID=”NULL”) と入力して、ファイルシステム内でそれらすべてを見ることができます。新しいバージョンのオブジェクトには一意の ID が割り当てられます (古いバージョンは保持されます)。オブジェクトのタイムスタンプに基づいて、最新のバージョニングされたオブジェクトのみが NFS ファイルシステムに表示されます。

オブジェクトのバージョニングを有効にすると、S3 バケットをバージョニングが設定されていない状態に戻すことはできません。ただし、バージョニングを停止することは可能です。バージョニングを停止した場合、新しいオブジェクトに ID が割り当てられます。ID=”NULL” 値を持つ同じ名前のオブジェクトが存在する場合は、以前のバージョンが上書きされます。ただし、NULL 以外の ID が格納されているバージョンは保持されます。タイムスタンプは、新しいオブジェクトが最新のオブジェクトとして識別します。そのオブジェクトが NFS ファイルシステムに表示されます。

S3 バケットに対する変更はStorage Gateway に反映されない

Storage Gateway では、ファイル共有を使用してローカルでキャッシュにファイルを書き込むと、ファイル共有キャッシュが自動的に更新されます。ただし、ファイルを Amazon S3 に直接アップロードしても、Storage Gateway はキャッシュを自動的に更新しません。これを行うときは、RefreshCacheオペレーションを実行して、ファイル共有の変更を確認します。複数のファイル共有がある場合は、RefreshCache各ファイル共有に対する操作。

Storage Gateway コンソールとAWS Command Line Interface(AWS CLI):

  • Storage Gateway コンソールを使用してキャッシュを更新するには、「Amazon S3 バケット内のオブジェクトの更新」を参照してください。

  • を使用してキャッシュを更新するにはAWS CLI:

    1. コマンドを実行しますaws storagegateway list-file-shares

    2. ファイル共有の Amazon リソースナンバー (ARN) を、更新するキャッシュにコピーします。

    3. を実行refresh-cacheの値 ARN を指定してコマンドを実行します。--file-share-arn:

      aws storagegateway refresh-cache --file-share-arn arn:aws:storagegateway:eu-west-1:12345678910:share/share-FFDEE12

を自動化するにはRefreshCacheオペレーション、「」を参照してくださいStorage Gateway で refreshCache オペレーションを自動化するにはどうすればよいですか。

ACL アクセス許可が想定どおりに機能しません

アクセスコントロールリスト (ACL) 権限が SMB ファイル共有で予期する動作を行わない場合は、テストを実行できます。

これを行うには、まず、Microsoft Windows ファイルサーバーあるいはローカル Windows ファイル共有でアクセス権限をテストします。次に、ゲートウェイのファイル共有と動作を比較します。

再帰操作を実行した後、ゲートウェイのパフォーマンスが低下しました。

一部のケースでは、ディレクトリの名前変更や ACL での継承の有効化などの再帰的なオペレーションを実行し、強制的にツリーを下降させることがあります。これを行う場合、S3 ファイルゲートウェイはこのオペレーションを再帰的にファイル共有のすべてのオブジェクトに適用します。

たとえば、S3 バケット内の既存のオブジェクトに継承を適用するとします。S3 ファイルゲートウェイは、バケット内のすべてのオブジェクトに継承を再帰的に適用します。このようなオペレーションは、ゲートウェイの実行が拒否される要因となることがあります。