S3 バケットから更新を自動的にインポートする - FSx for Lustre

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

S3 バケットから更新を自動的にインポートする

FSx for Lustre は、オブジェクトが S3 バケットに追加、変更されたとき、または S3 バケットから削除されたときに、ファイルシステムのメタデータを自動的に更新するように設定できます。FSx for Lustre は、S3 の変更に対応して、ファイルとディレクトリのリストを作成、更新、または削除します。S3 バケット内の変更されたオブジェクトにメタデータが含まれなくなった場合、FSx for Lustre は、現在のアクセス許可を含む現在のメタデータの値を保持します。

注記

更新を自動でインポートするためには、FSx for Lustre ファイルシステムとリンクされた S3 バケットが同じ AWS リージョン に配置されている必要があります。

データリポジトリの関連付けを作成するときに自動インポートを設定できます。また、FSx マネジメントコンソール、、または AWS API を使用して AWS CLI、自動インポート設定をいつでも更新できます。

注記

同じデータリポジトリの関連付けで、自動インポートと自動エクスポートの両方を設定できます。このトピックでは、自動インポート機能についてのみ説明します。

重要
  • すべての自動インポートのポリシーが有効になっており、自動エクスポートが無効になっている状態で S3 でオブジェクトが変更された場合、そのオブジェクトのコンテンツは常にファイルシステム内の対応するファイルにインポートされます。ターゲットの場所にファイルが既に存在する場合、そのファイルは上書きされます。

  • 自動インポートと自動エクスポートのポリシーがすべて有効になっている状態で、ファイルシステムと S3 の両方でファイルを変更すると、ファイルシステム内のファイルまたは S3 内のオブジェクトのいずれかが他方で上書きされる可能性があります。ある場所で後から編集しても、別の場所で行った以前の編集が上書きされない場合があります。ファイルシステムと S3 バケットの両方で同じファイルを変更する場合は、このような競合を防ぐためにアプリケーションレベルの調整を行う必要があります。FSx for Lustre では、複数の場所での競合する書き込みを防止できません。

インポートポリシーでは、リンクされた S3 バケットの内容が変更されたときに、FSx for Lustre がファイルシステムをどのように更新するかを指定します。データリポジトリの関連付けには、次のいずれかのインポートポリシーがあります。

  • 新規 — FSx for Lustre は、リンクされた S3 データリポジトリに新しいオブジェクトが追加された場合にのみ、ファイルとディレクトリのメタデータを自動的に更新します。

  • 変更済み - FSx for Lustre は、データリポジトリ内の既存のオブジェクトが変更された場合にのみ、ファイルとディレクトリのメタデータを自動的に更新します。

  • 削除済み — FSx for Lustre は、データリポジトリ内のオブジェクトが削除された場合にのみ、ファイルとディレクトリのメタデータを自動的に更新します。

  • 新規、変更済み、削除済みの任意の組み合わせ - FSx for Lustre は、S3 データリポジトリで指定されたアクションのいずれかが発生した場合に、ファイルとディレクトリのメタデータを自動的に更新します。例えば、S3 リポジトリでオブジェクトが [新規] に追加されたとき、または [削除済み] から削除されたときにファイルシステムが更新され、オブジェクトが変更されたときには更新されないように指定できます。

  • ポリシーの設定なし - FSx for Lustre は、S3 データリポジトリにオブジェクトが追加、変更されたとき、または S3 データリポジトリから削除されたときに、S3 データリポジトリのメタデータを更新しません。インポートポリシーを設定しない場合、データリポジトリの関連付けの自動インポートは無効になります。「データリポジトリのタスクを使用して変更をインポートする」で説明されているように、データリポジトリのインポートタスクを使用して、メタデータの変更を手動でインポートできます。

重要

自動インポートは、次の S3 アクションはリンクされている FSx for Lustre ファイルシステムに同期しません。

  • S3 オブジェクトライフサイクルの有効期限を使用したオブジェクトの削除

  • バージョニングが有効なバケット内の現在のオブジェクトの永久削除

  • バージョニングが有効なバケット内のオブジェクトの削除キャンセル

インポートポリシーを [新規][変更済み][削除済み] に設定することをお勧めします。このポリシーにより、リンクされた S3 データリポジトリで行われたすべての更新が、ファイルシステムに自動的にインポートされます。

リンクされた S3 バケットの変更に基づいてファイルシステムのファイルとディレクトリのリストを更新するようにインポートポリシーを設定すると、FSx for Lustre はリンクされた S3 バケットにイベント通知設定を作成します。イベント通知設定には FSx という名前が付けられています。S3 バケットの FSx イベント通知設定を変更または削除しないでください。これを行うと、更新されたファイルとディレクトリのメタデータがファイルシステムに自動的にインポートされなくなります。

FSx for Lustre がリンクされた S3 バケットで変更されたファイルリストを更新した場合、ファイルの書き込みがロックされていても、ローカルファイルは更新されたバージョンで上書きされます。

FSx for Lustre は、ファイルシステムを更新するために最善を尽くします。FSx for Lustre は、次の状況ではファイルシステムを更新できません。

  • FSx for Lustre に、変更された、または新しい S3 オブジェクトを開くためのアクセス許可がない場合です。この場合、FSx for Lustre はオブジェクトをスキップして続行します。DRA のライフサイクルステータスは影響を受けません。

  • FSx for Lustre に、GetBucketAcl 用などのバケットレベルのアクセス許可がない場合です。この場合、データリポジトリのライフサイクルの状態が [Misconfigured] (設定ミス) になります。詳細については、「データリポジトリの関連付けのライフサイクル状態」を参照してください。

  • リンクされた S3 バケットの FSx イベント通知設定が削除または変更された場合。この場合、データリポジトリのライフサイクルの状態が [Misconfigured] (設定ミス) になります。詳細については、「データリポジトリの関連付けのライフサイクル状態」を参照してください。

自動的にインポートできなかったファイルやディレクトリに関する情報をログに記録するには、 CloudWatch ログへのログ記録を有効にすることをお勧めします。ログ内の警告とエラーには、失敗の理由に関する情報が含まれています。詳細については、「データリポジトリのイベントログ」を参照してください。

前提条件

FSx for Lustre がリンクされた S3 バケットから新規、変更済み、または削除済みのファイルを自動的にインポートするには、次の条件が必要です。

  • ファイルシステムとそれにリンクされたS3バケットは同じ AWS リージョンにあります。

  • S3 バケットには、誤って設定された [ライフサイクル状態] はありません。詳細については、「データリポジトリの関連付けのライフサイクル状態」を参照してください。

  • アカウントには、リンクされた S3 バケットでイベント通知を設定および受信するために必要なアクセス許可があります。

サポートされているファイル変更のタイプ

FSx for Lustre は、リンクされた S3 バケットで発生したファイルとディレクトリへの、次のような変更のインポートをサポートしています。

  • ファイル内容の変更

  • ファイルまたはディレクトリのメタデータの変更

  • シンボリックリンクターゲットまたはメタデータの変更。

  • ファイルおよびディレクトリの削除 (ファイルシステム内のディレクトリに対応するリンクされた S3 バケット内のオブジェクト、つまりキー名がスラッシュで終わるオブジェクトを削除すると、FSx for Lustre はファイルシステム上の対応するディレクトリが空の場合にのみ、それを削除します)

インポート設定の更新

データリポジトリの関連付けを作成する際に、リンクされた S3 バケットのファイルシステムのインポート設定を設定できます。詳細については、「S3 バケットへのリンクの作成」を参照してください。

また、インポートポリシーを含め、いつでもインポート設定を更新できます。詳細については、「データリポジトリの関連付け設定の更新」を参照してください。

自動インポートのモニタリング

S3 バケット内の変化率が自動インポートで処理可能な変化率を超えた場合、FSx for Lustre ファイルシステムにインポートされる当該メタデータの変更に遅延が生じます。その場合、AgeOfOldestQueuedMessage メトリクスを使用して、自動インポートによる処理を待機している最も古い変更の経過時間をモニタリングできます。このメトリクスの詳細については、「AutoImport および AutoExport メトリクス」を参照してください。

メタデータの変更のインポートの遅延が (AgeOfOldestQueuedMessage メトリクスを使用して測定される) 14 日を超えるた場合、自動インポートによって処理されていない S3 バケット内の変更はファイルシステムにインポートされません。さらに、データリポジトリの関連付けのライフサイクルが MISCONFIGURED とマークされ、自動インポートが停止します。自動エクスポートを有効にしている場合、自動エクスポートは引き続き FSx for Lustre ファイルシステムの変更をモニタリングします。ただし、追加の変更は FSx for Lustre ファイルシステムから S3 に同期されません。

データリポジトリの関連付けを MISCONFIGRED のライフサイクル状態から AVAILABLE のライフサイクル状態に戻すには、データリポジトリの関連付けを更新する必要があります。CLI コマンド (または対応する UpdateDataRepositoryAssociation API オペレーション) update-data-repository-association を使用して、データリポジトリの関連付けを更新できます。唯一必要なリクエストパラメータは、更新するデータリポジトリの関連付けの AssociationID だけです。

データリポジトリの関連付けのライフサイクル状態が AVAILABLE に変わると、自動インポート (および有効化されている場合は自動エクスポート) が再起動されます。再起動すると、自動エクスポートは S3 に対するファイルシステムの変更の同期を再開します。インポートされていない FSx for Lustre ファイルシステムまたはデータリポジトリの関連付けが構成が間違っていた状態の FSx for Lustre ファイルシステムに対して S3 内の新規オブジェクトと変更されたオブジェクトのメタデータを同期させるには、データリポジトリのインポートタスクを実行します。インポートデータリポジトリタスクでは、S3 バケット内の削除は FSx for Lustre ファイルシステムと同期されません。S3 をファイルシステムと (削除を含めて) 完全に同期する場合は、ファイルシステムを再作成する必要があります。

メタデータの変更のインポートの遅延が 14 日を超えないようにするために、AgeOfOldestQueuedMessage メトリクスにアラームを設定し、AgeOfOldestQueuedMessage メトリクスがアラームしきい値を超えた場合に S3 バケット内のアクティビティを減らすことをお勧めします。最大数の変更を S3 から継続的に送信する単一のシャードで S3 バケットに接続されている FSx for Lustre ファイルシステムで自動インポートのみを実行している場合、自動インポートでは 14 日以内に 7 時間分の S3 変更のバックログを処理できます。

さらに、自動インポートが 14 日で処理できるよりも多くの変更が 1 つの S3 アクションで生成されることがあります。このような種類のアクションの例には、S3 への AWS Snowball アップロードや大規模な削除などがあります。S3 バケットで行った大規模な変更を FSx for Lustre ファイルシステムと同期させる場合、自動インポートの変更が 14 日を超えないようにするには、ファイルシステムを削除し、S3 の変更が完了した後に再作成する必要があります。

AgeOfOldestQueuedMessage メトリクスが増大している場合、S3 バケットの GetRequestsPutRequestsPostRequestsDeleteRequests メトリクスを参照して、変化率や自動インポートに送信される変更の数を増加させるアクティビティ変更を確認してください。利用可能な S3 メトリクスについては、「Amazon S3 ユーザーガイド」の「Amazon S3 のモニタリング」を参照してください。

使用可能なすべての FSx for Lustre メトリクスの一覧については、「Amazon によるモニタリング CloudWatch」を参照してください。