S3 Files에 대한 동기화 사용자 지정
S3 Files를 사용하면 동기화 구성을 통해 파일 시스템과 연결된 S3 버킷 간의 데이터 흐름을 제어할 수 있습니다. 기본 설정은 대부분의 워크로드에 대한 지연 시간과 비용의 균형을 맞추지만 액세스 패턴에 맞게 조정할 수 있습니다. 더 많은 데이터를 미리 가져오면 스토리지 및 쓰기 요금이 높아지면서 읽기 지연 시간이 줄어듭니다. 더 적은 데이터 가져오기는 스토리지 비용을 낮게 유지하지만 지연 시간이 더 긴 S3에서 더 많은 읽기가 제공됩니다. 각 구성에는 파일 시스템에 복사되는 데이터와 시기를 제어하는 가져오기 데이터 규칙과 미사용 데이터가 파일 시스템에 유지되는 기간을 제어하는 만료 데이터 규칙이라는 두 가지 구성 요소가 있습니다. AWS Management Console 또는 PutSynchronizationConfiguration API를 사용하여 이러한 규칙을 업데이트할 수 있습니다.
데이터 규칙 가져오기
가져오기 데이터 규칙은 버킷에서 파일 시스템으로 데이터를 복사하는 방법을 제어합니다. 파일 시스템당 최대 10개의 가져오기 데이터 규칙을 가질 수 있습니다. 각 가져오기 데이터 규칙에는 다음과 같은 파라미터가 있습니다.
prefix - 규칙이 적용되는 S3 접두사입니다. 전체 버킷(파일 시스템 범위) 또는 파일 시스템 내의 특정 접두사(예: ‘data/ml/’)에 대해 빈 문자열(‘’)을 지정합니다. ‘’로 전체 버킷을 지정하지 않는 한 접두사는 슬래시(/)로 끝나야 합니다. 루트 디렉터리에 대해 정확히 하나의 가져오기 규칙을 포함해야 합니다. 기본값: ‘’(전체 버킷 또는 파일 시스템 범위).
trigger - 데이터를 가져올 시기: ON_DIRECTORY_FIRST_ACCESS 또는 ON_FILE_ACCESS. 기본값: ON_DIRECTORY_FIRST_ACCESS.
ON_DIRECTORY_FIRST_ACCESS - 디렉터리에 처음 액세스할 때 파일 데이터를 가져옵니다. 예를 들어, 디렉터리의 콘텐츠를 나열하거나 디렉터리 내에서 파일을 열어 디렉터리에 처음 액세스할 때 sizeLessThan 임계값보다 작은 디렉터리의 모든 직계 하위 파일에 대한 데이터를 가져옵니다. 이 옵션은 파일에 처음 액세스할 때 지연 시간이 짧은 워크로드에 유용합니다.
ON_FILE_ACCESS - 파일을 처음 읽을 때만 파일 데이터를 가져옵니다. 이 옵션은 처음 읽을 때 지연 시간이 길어지면서 가져온 데이터를 최소화합니다.
sizeLessThan - 자동으로 가져올 최대 파일 크기(바이트)입니다. S3 Files는 모든 파일의 메타데이터를 가져오지만 이 임계값보다 작은 파일의 데이터만 가져옵니다. 최소: 0바이트(데이터를 가져오지 않으며 메타데이터는 계속 가져옵니다). 최대: 52,673,613,135,872바이트(48TiB). 기본값: 131,072바이트(128KiB).
접두사 일치 동작
여러 가져오기 데이터 규칙이 파일과 일치하면 S3 Files는 가장 구체적인 접두사가 있는 규칙을 적용합니다. 예를 들어 세 가지 규칙이 있다고 가정합니다.
규칙 1: 접두사 = ‘’(전체 버킷), sizeLessThan = 64KiB, 트리거 = ON_FILE_ACCESS
규칙 2: 접두사 = ‘hot/’, sizeLessThan = 1MiB, 트리거 = ON_DIRECTORY_FIRST_ACCESS
규칙 3: 접두사 = ‘hot/largeData/’, sizeLessThan = 256KiB, 트리거 = ON_DIRECTORY_FIRST_ACCESS
hot/largeData/data.txt에 있는 파일의 경우 S3 Files는 규칙 3을 적용합니다. hot/data.txt에 있는 파일의 경우 S3 Files는 규칙 2를 적용합니다. cold/data.txt에 있는 파일의 경우 콜드/접두사에 대한 특정 규칙이 없으므로 S3 Files는 규칙 1을 적용합니다.
만료 데이터 규칙
만료 데이터 규칙은 스토리지 비용을 최적화하기 위해 파일 시스템에서 미사용 데이터를 제거하는 시기를 제어합니다. S3 Files는 지정된 기간 동안 데이터를 읽지 않고 변경 사항이 S3 버킷에 이미 동기화된 후 데이터를 제거합니다. 파일을 읽을 때마다 만료 타이머가 재설정되어 데이터가 파일 시스템에 남아 있는 시간이 연장됩니다. 만료 데이터 규칙에서 다음 파라미터를 지정할 수 있습니다.
daysAfterLastAccess - 파일 시스템에서 데이터가 제거된 마지막 읽기 후 일수입니다. 최소: 1일 최대: 365일. 기본값: 30일.
동일한 데이터에 자주 액세스하는 장기 실행 워크로드가 있는 경우 더 긴 만료 기간(30~90일)을 고려하세요. 임시 데이터의 경우 더 짧은 기간(1~7일)을 고려합니다.
구성의 예
범용 파일 공유(기본 구성) - 개발자와 데이터 과학자로 구성된 팀이 S3 파일 시스템을 탑재하여 코드, 구성 파일 및 작은 데이터세트를 공유합니다. 대부분의 파일은 128KiB 미만이며 하루 종일 반복적으로 읽습니다. 기본 구성은 이 워크로드에 적합합니다. ON_DIRECTORY_FIRST_ACCESS는 디렉터리의 파일에 처음 액세스할 때 메타데이터와 작은 파일 데이터를 가져옵니다. 이는 프로젝트의 소스 파일 또는 배포의 구성 파일과 같이 동일한 디렉터리의 파일에 함께 액세스할 가능성이 높을 때 효과적입니다. 모든 사용자의 후속 액세스는 빠릅니다. 사용자가 로그 아카이브와 같은 대용량 파일을 열면 S3 Files는 높은 처리량을 위해 S3에서 직접 자동으로 스트리밍합니다. 30일 만료 기간은 수동 정리 없이 파일 시스템에서 활성 상태로 사용되는 파일을 유지합니다.
반복 읽기를 사용한 ML 훈련 - 훈련 작업은 여러 에포크에서 수천 개의 작은 파일(<10MiB)을 반복적으로 읽습니다. 지연 시간을 최소화하려면 훈련 스크립트가 각 디렉터리를 처음 나열할 때 파일 데이터가 미리 로드되도록 ON_DIRECTORY_FIRST_ACCESS로 높은 sizeLessThan 임계값(예: 10MiB)을 설정합니다. 훈련 작업이 완료된 후 즉시 파일 시스템에서 데이터가 제거되도록 짧은 만료(예: 3일)를 설정합니다.
광범위한 파일 검색 기능을 갖춘 에이전트 워크로드 - AI 에이전트는 문서, 코드 또는 지식 베이스 파일의 대규모 리포지토리를 탐색하여 쿼리에 응답하고 관련 컨텍스트를 검색할 때 여러 작은 파일을 한 번 읽습니다. 파일 시스템으로 데이터를 가져오지 않도록 sizeLessThan을 0으로 설정합니다. 에이전트는 짧은 지연 시간으로 전체 디렉터리 트리를 탐색하여 파일을 검색할 수 있으며, 각 파일 읽기는 S3에서 직접 제공됩니다. 이렇게 하면 많은 파일을 예측할 수 없지만 동일한 파일을 재검토하는 경우는 거의 없는 워크로드의 비용이 낮게 유지되며, 동시에 읽는 에이전트를 더 추가하면 자연스럽게 확장됩니다.
핫 및 콜드 접두사 - 파일 시스템에는 config/에서 자주 액세스하는 구성 파일과 archive/에서 자주 액세스하지 않는 아카이브 데이터가 모두 포함됩니다. 두 가지 가져오기 규칙을 생성합니다. 하나는 sizeLessThan 및 ON_DIRECTORY_FIRST_ACCESS가 높은 config/용이고 다른 하나는 sizeLessThan이 0 및 ON_FILE_ACCESS로 설정된 archive/용입니다. 이렇게 하면 읽기 드문 아카이브 데이터에 대한 스토리지 비용을 방지하면서 빠른 액세스를 위해 파일 시스템에 구성 파일이 유지됩니다.