トラブルシューティング: ファイル共有の問題 - AWS Storage Gateway

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

トラブルシューティング: ファイル共有の問題

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

ファイル共有が CREATING ステータスのまま止まる

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

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

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

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

    注記

    S3 File Gateway は、バケット名にピリオド (.) を含む Amazon S3 バケットをサポートしていません。

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

ファイル共有を作成できない

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

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

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. Amazon S3 File Gateway が S3 バケットにファイルをアップロードするために必要なアクセス権を付与していることを確認します。詳細については、「Amazon S3 バケットに対するアクセス権限の付与」を参照してください。

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

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

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

デフォルトの暗号化を変更し、SSE-KMS ( AWS KMSマネージドキーによるサーバー側の暗号化) を S3 バケットのデフォルトにした場合、Amazon S3 File Gateway がバケットに保存するオブジェクトは SSE-KMS で暗号化されません。デフォルトでは、S3 ファイルゲートウェイは、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 File Gateway では、表示されるファイルは、オブジェクトがフェッチされたとき、またはキャッシュが更新されたときの S3 バケット内のオブジェクトの最新バージョンです。S3 ファイルゲートウェイは、古いバージョンや削除対象としてマークされたオブジェクトを無視します。ファイルを読み込むとき、最新バージョンからデータを読み取ります。ファイル共有にファイルを書き込むと、S3 File Gateway は変更を加えた名前付きオブジェクトの新しいバージョンを作成し、そのバージョンが最新バージョンになります。

S3 File Gateway は以前のバージョンから引き続き読み取り、新しいバージョンがアプリケーション外の S3 バケットに追加された場合に行う更新は以前のバージョンに基づいています。オブジェクトの最新バージョンを読み取るには、「Amazon S3 バケットオブジェクトキャッシュの更新」で説明されているように、RefreshCache API アクションを使用するか、コンソールから更新します。

重要

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

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

オブジェクトのバージョニングを有効にすると、NFS または Amazon S3 でオブジェクトの複数のバージョンが作成される場合があります。S3 バケットにオブジェクトの複数のバージョンが作成される可能性があるシナリオを次に示します。

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

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

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

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

重要

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

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

S3 File Gateway のインストール後にオブジェクトのバージョニングを有効にすると、すべての一意のオブジェクトが保持され (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 コンソールを使用してキャッシュを更新するには、「Refreshing objects in your Amazon S3 bucket」を参照してください。

  • AWS CLIを使用してキャッシュを更新するには次の手順を実行します。

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

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

    3. ARN を --file-share-arn の値として refresh-cache コマンドを次のように実行します。

      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 File Gateway はファイル共有内のすべてのオブジェクトに オペレーションを再帰的に適用します。

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