ファイルゲートウェイのベストプラクティス - AWS Storage Gateway

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

ファイルゲートウェイのベストプラクティス

このセクションでは、ゲートウェイ、ファイル共有、バケット、およびデータを使用する際のベストプラクティスについて説明します。このセクションで説明されている情報を理解し、 AWS Storage Gatewayの問題を避けるためにこれらのガイドラインに従うことをお勧めします。デプロイで発生する可能性がある一般的な問題の診断と解決に関する追加のガイダンスについては、「Storage Gateway のデプロイに関する問題のトラブルシューティング」を参照してください。

ベストプラクティス: データの復旧

まれに、ゲートウェイで回復不可能な障害が発生する場合があります。そのような障害は、仮想マシン (VM)、ゲートウェイ自体、ローカルストレージなどの場所で発生する可能性があります。障害が発生した場合、データの回復に関する以下の該当するセクションの手順に従うことをお勧めします。

重要

Storage Gateway では、ハイパーバイザーによって作成されたスナップショットから、または Amazon EC2 Amazon マシンイメージ (AMI) からのゲートウェイ VM の復元はサポートされていません。ゲートウェイ VM が正しく機能しない場合、新しいゲートウェイをアクティブ化し、以下の手順を使用してデータをそのゲートウェイに復旧します。

予期しない仮想マシンのシャットダウンからの復旧

VM が予期せずにシャットダウンした場合 (停電時など)、ゲートウェイは到達不可能になります。電源とネットワーク接続が復旧されると、ゲートウェイは到達可能になり、通常の動作を開始します。データを回復するためにその時点で実行可能ないくつかのステップを以下に示します。

正しく機能していないキャッシュディスクからのデータの復旧

キャッシュディスクで障害が発生した場合、以下のステップを使用し、状況に応じてデータを復旧することをお勧めします。

  • キャッシュディスクがホストから削除されたために障害が発生した場合は、ゲートウェイをシャットダウンし、ディスクを再追加してゲートウェイを再起動します。

アクセス不能なデータセンターからのデータの復旧

ゲートウェイまたはデータセンターが何らかの理由でアクセス不能である場合は、異なるデータセンターにある別のゲートウェイにデータを復元するか、Amazon EC2 インスタンスにホストされているゲートウェイに復元することができます。別のデータセンターへのアクセス権がない場合は、Amazon EC2 インスタンスにゲートウェイを作成することをお勧めします。手順は、データ復旧元のゲートウェイの種類によって異なります。

アクセスできないデータセンターのファイルゲートウェイからデータを復旧するには

File Gateway では、新しい、復旧するデータを含む Amazon S3 bucketFSx にマッピングします。

  1. Amazon EC2 ホストで新しいファイルゲートウェイを作成してアクティブ化します。詳細については、「S3 File Gateway 用のデフォルトの Amazon EC2 ホストをデプロイする」を参照してください。

  2. 作成した EC2 ゲートウェイに新しいを作成します。詳細については、「ファイル共有の作成」を参照してください。

  3. ファイル共有クライアントにマウントし、復旧するデータを含む S3 bucketFSx にマッピングします。詳細については、「ファイル shareMount and use your file 」を参照してください。

ベストプラクティス: マルチパートアップロードの管理

大きなファイルを転送する場合、S3 File Gateway は Amazon S3 マルチパートアップロード機能を使用してファイルを小さな部分に分割し、効率を向上させるために並行して転送します。マルチパートアップロードの詳細については、「Amazon Simple Storage Service ユーザーガイド」の「マルチパートアップロードを使用したオブジェクトのアップロードとコピー」を参照してください。

マルチパートアップロードが何らかの理由で正常に完了しない場合、ゲートウェイは通常転送を停止し、Amazon S3 から部分的に転送されたファイルをすべて削除して、転送を再試行します。ハードウェアやネットワークの障害により、マルチパートアップロードが失敗した後にゲートウェイがクリーンアップできない場合など、まれに、部分的に転送されたファイルの一部が Amazon S3 に残り、ストレージ料金が発生することがあります。

不完全なマルチパートアップロードによる Amazon S3 ストレージコストを最小限に抑えるためのベストプラクティスとして、AbortIncompleteMultipartUploadAPI アクションを使用して失敗した転送を自動的に停止し、指定された日数後に関連するファイル部分を削除する Amazon S3 バケットライフサイクルルールを設定することをお勧めします。手順については、Amazon Simple Storage Service ユーザーガイドの「不完全なマルチパートアップロードを削除するためのバケットライフサイクル設定の設定」を参照してください。

ベストプラクティス: ゲートウェイにコピーする前に、圧縮ファイルをローカルで解凍する

ゲートウェイに保存されている間に数千のファイルを含む圧縮アーカイブを解凍しようとすると、パフォーマンス関連の大幅な遅延が発生する可能性があります。任意のタイプのネットワークファイル共有に多数のファイルを含むアーカイブを解凍するプロセスには、本質的に大量の入出力オペレーション、メタデータキャッシュ操作、ネットワークオーバーヘッド、レイテンシーが含まれます。さらに、Storage Gateway はアーカイブの各ファイルがいつ解凍が完了したかを判断できず、プロセスが完了する前にファイルのアップロードを開始できるため、パフォーマンスにさらに影響を与えます。これらの問題は、アーカイブ内のファイルが多数あるが、サイズが小さい場合に複合されます。

ベストプラクティスとして、圧縮アーカイブを解凍する前に、まずゲートウェイからローカルマシンに転送することをお勧めします。その後、必要に応じて、robocopyrsync などのツールを使用して、解凍したファイルをゲートウェイに転送できます。

Windows Server からデータをコピーするときにファイル属性を保持する

Microsoft Windows の基本的なcopyコマンドを使用してファイルゲートウェイにファイルをコピーすることはできますが、このコマンドはデフォルトでファイルデータのみをコピーします。セキュリティ記述子などの特定のファイル属性は省略されます。対応するセキュリティ制限や Discretionary Access Control List (DACL) 情報なしでファイルがゲートウェイにコピーされた場合、権限のないユーザーがファイルにアクセスする可能性があります。

Microsoft Windows Server でゲートウェイにファイルをコピーするときに、すべてのファイル属性とセキュリティ情報を保存するためのベストプラクティスとして、 robocopy または xcopy コマンドと /copy:DS/oフラグをそれぞれ使用することをお勧めします。詳細については、Microsoft Windows Server コマンドリファレンスドキュメントの「robocopy」と「xcopy」を参照してください。

ベストプラクティス: キャッシュディスクの適切なサイズ設定

最高のパフォーマンスを得るには、アクティブなワーキングセットのサイズをカバーするのに十分な大きさの合計ディスクキャッシュサイズが必要です。読み取り量が多く、読み取り/書き込みが混在するワークロードの場合、読み取りに対するキャッシュヒットの割合が高いことが望まれます。これは、S3 File Gateway の CacheHitPercentメトリクスを使用してモニタリングできます。

書き込みが多いワークロード (バックアップやアーカイブなど) の場合、S3 File Gateway は、このデータを Amazon S3 に非同期でコピーする前に、ディスクキャッシュで受信書き込みをバッファします。書き込まれたデータをバッファするのに十分なキャッシュ容量があることを確認する必要があります。CachePercentDirty メトリクスは、まだ保持されていないディスクキャッシュの割合を示します AWS。

の低い値CachePercentDirtyをお勧めします。常に 100% に近い値は、S3 File Gateway が受信書き込みトラフィックの速度に追いつくことができないことを示します。これを回避するには、プロビジョニングされたディスクキャッシュ容量を増やすか、S3 ファイルゲートウェイから Amazon S3 に利用できる専用ネットワーク帯域幅を増やすか、またはその両方を行います。

キャッシュディスクのサイズ設定の詳細については、公式の Amazon S3 File Gateway キャッシュのサイズ設定のベストプラクティス」を参照してください。 YouTube

複数のファイル共有と Amazon S3 バケットの使用

複数のゲートウェイまたはファイル共有がバケットに書き込めるように単一の Amazon S3 バケットを設定すると、結果が予測不能になる可能性があります。バケットは、予期しない結果を避けるために、2 つの方法のいずれかで設定できます。以下のオプションから、ユースケースに最適な設定方法を選択します。

  • 各バケットに書き込むことができるファイル共有が 1 つだけになるように S3 バケットを設定します。異なるファイル共有を使用して、各バケットに書き込みます。

    これを行うには、バケットにオブジェクトを配置または削除するために特定のファイル共有に使用されるロールを除くすべてのロールを拒否する S3 バケットポリシーを作成します。同様のポリシーを各バケットにアタッチし、各バケットに書き込む別のファイル共有を指定します。

    次のポリシー例では、バケットを作成したロールを除くすべてのロールに対する S3 バケット書き込みアクセス許可を拒否します。s3:DeleteObject および s3:PutObject アクションは、"TestUser" を除くすべてのロールに対して拒否されます。このポリシーは、"arn:aws:s3:::amzn-s3-demo-bucket/*" バケット内のすべてのオブジェクトに適用されます。

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Sid":"DenyMultiWrite", "Effect":"Deny", "Principal":"*", "Action":[ "s3:DeleteObject", "s3:PutObject" ], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition":{ "StringNotLike":{ "aws:userid":"TestUser:*" } } } ] }
  • 複数のファイル共有が同じ Amazon S3 バケットに書き込む場合は、ファイル共有が同じオブジェクトに同時に書き込もうとしないようにする必要があります。

    これを行うには、ファイル共有ごとに個別の一意のオブジェクトプレフィックスを設定します。つまり、各ファイル共有は対応するプレフィックスを持つオブジェクトにのみ書き込み、デプロイ内の他のファイル共有に関連付けられているオブジェクトには書き込みません。新しいファイル共有を作成するときに、S3 プレフィックス名フィールドでオブジェクトプレフィックスを設定します。

不要なリソースをクリーンアップする

ベストプラクティスとして、予期しない料金や不要な料金が発生しないように、Storage Gateway リソースをクリーンアップすることをお勧めします。たとえば、デモンストレーション演習やテストとしてゲートウェイを作成した場合は、デプロイからゲートウェイとその仮想アプライアンスを削除することを検討してください。リソースをクリーンアップするには、次の手順に従います。

不要なリソースをクリーンアップする
  1. ゲートウェイの使用を継続する予定がない場合は、ゲートウェイを削除します。詳細については、「ゲートウェイおよび関連リソースの削除」を参照してください。

  2. オンプレミスホストから Storage Gateway VM を削除します。Amazon EC2 インスタンスにゲートウェイを作成した場合、インスタンスを終了します。