S3 버킷에서 업데이트 자동 가져오기 - FSx for Lustre

S3 버킷에서 업데이트 자동 가져오기

객체가 S3 버킷에 추가, 변경 또는 삭제될 때 파일 시스템의 메타데이터를 자동으로 업데이트하도록 FSx for Lustre를 구성할 수 있습니다. FSx for Lustre는 S3의 변경에 따라 파일 및 디렉터리 목록을 생성, 업데이트 또는 삭제합니다. S3 버킷의 변경된 객체가 더 이상 메타데이터를 포함하지 않는 경우 FSx for Lustre는 현재 권한을 포함하여 파일의 현재 메타데이터 값을 유지합니다.

참고

업데이트를 자동으로 가져오려면 FSx for Lustre 파일 시스템과 연결된 S3 버킷이 같은 AWS 리전에 위치해야 합니다.

데이터 리포지토리 연결을 생성할 때 자동 가져오기를 구성할 수 있으며, FSx 관리 콘솔, AWS CLI 또는 AWS API를 사용하여 언제든지 자동 가져오기 설정을 업데이트할 수 있습니다.

참고

동일한 데이터 리포지토리 연결에서 자동 가져오기와 자동 내보내기를 모두 구성할 수 있습니다. 이 항목에서는 자동 가져오기 기능에 대해서만 설명합니다.

중요
  • 자동 가져오기 정책이 모두 활성화되고 자동 내보내기가 비활성화된 상태에서 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 작업을 연결된 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). 이로 인해 데이터 리포지토리 수명 주기 상태가 잘못 구성될 수 있습니다. 자세한 내용은 데이터 리포지토리 연결 수명 주기 상태 섹션을 참조하세요.

  • 연결된 S3 버킷의 FSx 이벤트 알림 구성이 삭제되거나 변경된 경우 이로 인해 데이터 리포지토리 수명 주기 상태가 잘못 구성될 수 있습니다. 자세한 내용은 데이터 리포지토리 연결 수명 주기 상태 섹션을 참조하세요.

자동으로 가져올 수 없는 파일 또는 디렉터리에 대한 정보를 기록하려면 CloudWatch Logs 로깅을 활성화하는 것이 좋습니다. 로그의 경고 및 오류에는 실패 이유에 대한 정보가 포함됩니다. 자세한 내용은 데이터 리포지토리 이벤트 로그 섹션을 참조하세요.

사전 조건

FSx for Lustre가 연결된 S3 버킷에서 새 파일, 변경 또는 삭제된 파일을 자동으로 가져오려면 다음 조건이 필요합니다.

  • 파일 시스템과 연결된 S3 버킷은 같은 AWS 리전에 위치합니다.

  • S3 버킷에는 잘못 구성된 수명 주기 상태가 없습니다. 자세한 내용은 데이터 리포지토리 연결 수명 주기 상태 섹션을 참조하세요.

  • 계정에는 연결된 S3 버킷에서 이벤트 알림을 구성하고 수신하는 데 필요한 권한이 있습니다.

지원되는 파일 변경 유형

FSx for Lustre는 연결된 S3 버킷에서 발생하는 파일 및 디렉터리에 대한 다음과 같은 변경 사항 가져오기를 지원합니다.

  • 파일 콘텐츠 변경.

  • 파일 또는 디렉터리 메타데이터 변경.

  • 심볼릭 링크 대상 또는 메타데이터 변경.

  • 파일 및 디렉터리 삭제. 연결된 S3 버킷에서 파일 시스템의 디렉터리에 해당하는 객체(즉, 키 이름이 슬래시로 끝나는 객체)를 삭제하는 경우 FSx for Lustre는 비어 있는 경우에만 파일 시스템에서 해당 디렉터리를 삭제합니다.

가져오기 설정 업데이트

데이터 리포지토리 연결을 생성할 때 연결된 S3 버킷에 대한 파일 시스템의 가져오기 설정을 지정할 수 있습니다. 자세한 내용은 S3 버킷 링크 생성 섹션을 참조하세요.

또한 가져오기 정책을 포함하여 가져오기 설정을 언제든지 업데이트할 수 있습니다. 자세한 내용은 데이터 리포지토리 연결 설정 업데이트 섹션을 참조하세요.

자동 가져오기 모니터링

S3 버킷의 변경 비율이 자동 가져오기에서 이러한 변경 사항을 처리할 수 있는 속도를 초과하는 경우 FSx for Lustre 파일 시스템으로 가져오는 해당 메타데이터 변경 사항이 지연됩니다. 이 경우 AgeOfOldestQueuedMessage 지표를 사용하여 자동 가져오기로 처리되기를 기다리는 가장 오래된 변경 사항의 보존 기간을 모니터링할 수 있습니다. 이러한 지표에 대한 자세한 내용은 Lustre용 FSx S3 리포지토리 지표 섹션을 참조하세요.

메타데이터 변경 사항 가져오기 지연이 14일(AgeOfOldestQueuedMessage 지표를 사용하여 측정)을 초과하는 경우, 자동 가져오기로 처리되지 않은 S3 버킷의 변경 사항은 파일 시스템으로 가져오지 않습니다. 또한 데이터 리포지토리 연결 수명 주기가 잘못 구성된 것으로 표시되고 자동 가져오기가 중지됩니다. 자동 내보내기를 활성화한 경우 자동 내보내기는 FSx for Lustre 파일 시스템의 변경 사항을 계속 모니터링합니다. 하지만 추가 변경 사항은 FSx for Lustre 파일 시스템에서 S3로 동기화되지 않습니다.

데이터 리포지토리 연결을 잘못 구성됨 수명 주기 상태에서 사용 가능 수명 주기 상태로 되돌리려면 데이터 리포지토리 연결을 업데이트해야 합니다. Update-data-repository-association CLI 명령(또는 해당 UpdateDataRepositoryAssociation API 작업)을 사용하여 데이터 리포지토리 연결을 업데이트할 수 있습니다. 필요한 유일한 요청 파라미터는 업데이트하려는 데이터 리포지토리 연결의 AssociationID입니다.

데이터 리포지토리 연결 수명 주기 상태가 사용 가능으로 변경되면 자동 가져오기(활성화된 경우 자동 내보내기)가 다시 시작됩니다. 다시 시작하면 자동 내보내기가 재개되어 파일 시스템 변경 사항을 S3에 동기화합니다. 가져오지 않았거나 데이터 리포지토리 연결이 잘못 구성된 상태였을 때 가져온 FSx for Lustre 파일 시스템과 S3에 있는 새 객체 및 변경된 객체의 메타데이터를 동기화하려면 데이터 리포지토리 가져오기 작업을 실행합니다. 데이터 리포지토리 가져오기 작업은 S3 버킷의 삭제를 FSx for Lustre 파일 시스템과 동기화하지 않습니다. S3를 파일 시스템과 완전히 동기화(삭제 포함)하려면 파일 시스템을 다시 생성해야 합니다.

메타데이터 변경 사항 가져오기 지연이 14일을 초과하지 않도록 하려면 AgeOfOldestQueuedMessage 지표에 경보를 설정하고 AgeOfOldestQueuedMessage 지표가 경보 임계값을 초과할 경우 S3 버킷의 활동을 줄이는 것이 좋습니다. 단일 샤드가 S3로부터 가능한 변경 사항을 지속적으로 전송하는 S3 버킷에 연결된 FSx for Lustre 파일 시스템의 경우, FSx for Lustre 파일 시스템에서 자동 가져오기만 실행되는 경우, 자동 가져오기는 14일 이내에 7시간 동안 S3 변경 사항 백로그를 처리할 수 있습니다.

또한 단일 S3 작업으로 자동 가져오기에서 14일 동안 처리할 수 있는 것보다 더 많은 변경 사항을 생성할 수 있습니다. 이러한 유형의 작업의 예로는 S3로의 AWS Snowball 업로드 및 대규모 삭제가 포함되지만 이에 국한되지는 않습니다. FSx for Lustre 파일 시스템과 동기화하려는 S3 버킷을 대규모로 변경하는 경우, 자동 가져오기 변경 사항이 14일을 초과하지 않도록 하려면 파일 시스템을 삭제하고 S3 변경이 완료되면 다시 생성해야 합니다.

AgeOfOldestQueuedMessage 지표가 증가하고 있는 경우 S3 버킷의 GetRequests, PutRequests, PostRequestsDeleteRequests 지표에서 자동 가져오기로 전송되는 변경 사항의 비율 및/또는 수를 증가시킬 수 있는 활동 변경 사항이 있는지 검토하세요. 사용 가능한 S3 지표에 대한 자세한 내용은 Amazon S3 사용자 가이드Amazon S3 모니터링을 참조하세요.

사용 가능한 모든 FSx for Lustre 지표 목록은 Amazon CloudWatch를 사용한 모니터링 섹션을 참조하세요.