Amazon S3 Files 작업

Amazon S3 Files 작업 (Working with Amazon S3 Files)

주제 (Topics)

출처: 문서

본문

S3 Files란 무엇인가요? (What is S3 Files?)

S3 Files는 Amazon S3의 데이터를 모든 AWS 컴퓨팅 리소스와 직접 연결하는 공유 파일 시스템이에요. 데이터가 S3를 떠나지 않고도 모든 S3 데이터를 파일로 빠르고 직접 접근할 수 있게 해 주며, 완전한 파일 시스템 의미론(semantics)과 저지연 성능을 제공해요. 파일 기반의 모든 애플리케이션, 에이전트, 팀이 이미 의존하는 도구를 사용해 S3 데이터를 파일 시스템으로 접근하고 작업할 수 있어요. Amazon EFS 기반으로 구축된 S3 Files는 파일 시스템의 성능과 단순함에 S3의 확장성, 내구성, 비용 효율성을 결합해 줘요. 파일 및 디렉터리 작업으로 데이터를 읽고, 쓰고, 정리할 수 있으며, S3 Files가 버킷과 파일 시스템 사이의 변경 사항 동기화를 관리해 줘요.

S3 Files는 어떻게 동작하나요? (How does S3 Files work?)

S3 버킷 또는 그 안의 접두사(prefix)에 연결된 S3 파일 시스템을 만들고 EC2 인스턴스나 Lambda 함수 같은 컴퓨팅 리소스에 마운트하면, S3 Files가 먼저 버킷의 객체를 파일로 탐색 가능한 뷰로 제공해요. 디렉터리를 탐색하고 파일을 열면 관련 메타데이터와 내용이 파일 시스템의 고성능 저장소(high-performance storage)로 옮겨져요. 파일을 읽으면 S3 Files가 전체 데이터셋을 복제하지 않고 파일 내용을 요청 시(온디맨드) 고성능 저장소로 로드해요. 데이터를 쓰면 쓰기 작업은 고성능 저장소로 가고, S3 버킷으로 다시 동기화돼요. S3 Files는 파일 시스템 작업을 여러분을 대신해 효율적인 S3 요청으로 지능적으로 변환해 줘요. 많은 읽기 작업은 파일 시스템을 완전히 우회하며 데이터가 S3에서 직접 제공돼요.

무엇을 고성능 저장소에 로드할지에 대한 파일 크기 기준(기본값 <128KiB)을 구성할 수 있어요. 지연 시간은 작은 파일에 가장 중요하기 때문이에요. S3 Files는 두 가지 경우에 파일 읽기를 S3 버킷에서 직접 스트리밍해요. 하나는 파일 데이터가 파일 시스템의 고성능 저장소에 저장되어 있지 않은 경우이고, 다른 하나는 데이터가 고성능 저장소에도 있더라도 1MiB 이상의 큰 읽기의 경우예요. S3 버킷은 높은 처리량에 최적화되어 있고 파일 시스템의 고성능 저장소 계층은 저지연 접근에 최적화되어 있어요. S3 Files는 작은 파일(기본값 <128KiB)의 데이터를 후속 읽기에서 저지연 접근을 위해 고성능 저장소로 비동기적으로 가져와요. 아직 S3로 동기화되지 않은 최근 수정 데이터는 항상 파일 시스템에서 제공돼요. 자세한 내용은 S3 Files 동기화 사용자 지정을 참고하세요.

구성 가능한 기간(1~365일, 기본 30일) 안에 읽히지 않은 데이터는 고성능 저장소에서 자동으로 만료돼요. 여러분의 원본 데이터는 항상 S3에 남아 있고, 백그라운드 동기화가 파일 시스템과 버킷을 양방향으로 일관되게 유지해 줘요. 자세한 내용은 동기화 작동 방식 이해하기를 참고하세요.

S3 파일 시스템을 마운트할 수 있는 지원 컴퓨팅 서비스는 Amazon EC2, AWS Lambda, Amazon EKS, Amazon ECS예요. 자세한 내용은 컴퓨팅 리소스에 S3 버킷 마운트하기를 참고하세요.

S3 Files를 처음 사용하시나요? (Are you a first-time user of S3 Files?)

S3 Files를 처음 사용한다면 튜토리얼: S3 Files 시작하기를 따라 S3 콘솔이나 AWS CLI로 첫 S3 파일 시스템을 만들어 보세요.

주요 개념 (Key concepts)

S3 Files 문서 전반에 걸쳐 사용되는 용어는 다음과 같아요.

  • 파일 시스템 (File system) — S3 버킷에 연결된 공유 파일 시스템이에요.
  • 고성능 저장소 (High-performance storage) — 활발히 사용되는 파일 데이터와 메타데이터가 있는 파일 시스템 안의 저지연 저장소 계층이에요. S3 Files가 이 저장소를 자동으로 관리하며, 파일에 접근할 때 데이터를 복사하고 구성 가능한 만료 기간 안에 읽히지 않은 데이터는 제거해요. 고성능 저장소에 상주하는 데이터에 대해 저장 요금을 지불해요.
  • 동기화 (Synchronization) — S3 Files가 활성 작업 데이터셋과 변경 사항을 파일 시스템과 S3 버킷 사이에서 일관되게 유지하는 과정이에요. 가져오기(importing)는 S3 버킷에서 파일 시스템으로 데이터를 복사하고, 내보내기(exporting)는 파일 시스템을 통해 만든 변경 사항을 S3 버킷으로 다시 복사해요. S3 Files는 양방향으로 동기화를 자동 수행해요.
  • 마운트 대상 (Mount target) — VPC 안의 단일 가용 영역(Availability Zone) 내에서 파일 시스템에 대한 네트워크 접근을 제공해요. 컴퓨팅 리소스에서 파일 시스템에 접근하려면 최소 하나의 마운트 대상이 필요하며, 가용 영역당 최대 하나의 마운트 대상을 만들 수 있어요.
  • 액세스 포인트 (Access point) — 공유 데이터셋의 데이터 접근을 대규모로 관리하기 쉽게 하는 파일 시스템에 대한 애플리케이션별 진입점이에요. 액세스 포인트를 통해 이루어지는 모든 파일 시스템 요청에 사용자 ID와 권한을 적용할 수 있어요. AWS Management Console로 파일 시스템을 만들면 S3 Files가 파일 시스템에 대한 액세스 포인트 하나를 자동으로 만들어요.

기능 (Features)

전체 데이터 복제 없이 고성능 (High performance without full data replication)

S3 Files는 전체 데이터셋이 아니라 활성 작업 세트만 파일 시스템의 고성능 저장소에 복사해 저지연 파일 접근을 제공해요. 작고 자주 접근하는 파일은 고성능 저장소에서 서브밀리초에서 수 밀리초의 지연 시간으로 제공돼요. 큰 읽기는 집계 처리량 초당 최대 수 테라바이트로 S3에서 직접 스트리밍돼요. 즉 대화형 워크로드에는 파일 시스템 성능을, 스트리밍 워크로드에는 S3 처리량을 얻으면서, 사용하지 않거나 저지연 이점이 없는 데이터를 저장·가져오는 비용은 지불하지 않아요. 자세한 내용은 성능 사양을 참고하세요.

지능형 읽기 라우팅 (Intelligent read routing)

S3 Files는 읽기 요청을 가장 적합한 저장소 계층(S3 파일 시스템 또는 S3 버킷)으로 자동 라우팅하면서 일관성, 잠금, POSIX 권한을 포함한 완전한 파일 시스템 의미론을 유지해요. 활발히 사용되는 파일에 대한 작고 무작위적인 읽기는 저지연을 위해 고성능 저장소에서 제공되고, 큰 순차 읽기와 파일 시스템에 없는 데이터에 대한 읽기는 높은 처리량을 위해 S3 버킷에서 직접 제공되며 파일 시스템 데이터 요금이 없어요.

자동 동기화 (Automatic synchronization)

S3 Files는 파일 시스템과 S3 버킷을 양방향으로 자동 일관되게 유지해요. 파일 시스템을 통해 만든 변경 사항은 S3 버킷으로 다시 복사되고, S3 버킷에 직접 만든 변경 사항은 파일 시스템의 뷰에 반영돼요. 어떤 데이터를 가져오고 파일 시스템에 얼마나 오래 유지할지 등 동기화 동작을 사용자 지정할 수 있어요. 자세한 내용은 동기화 작동 방식 이해하기를 참고하세요.

확장 가능한 성능 (Scalable performance)

S3 Files는 워크로드 활동에 맞춰 처리량과 IOPS를 자동으로 확장해요. 성능 용량을 프로비저닝하거나 관리할 필요 없이 사용한 만큼만 지불하면 돼요.

리전 내구성 (Regional durability)

고성능 저장소 계층에 기록된 데이터는 Amazon S3와 동일한 내구성을 가져요. 같은 AWS 리전 안의 지리적으로 분리된 여러 가용 영역에 데이터를 중복 저장해 데이터의 높은 내구성과 가용성을 제공해요.

암호화 (Encryption)

S3 Files는 전송 중인 모든 데이터를 TLS로, 저장된 모든 데이터를 AWS KMS 키로 암호화해요. AWS 소유 키(기본값)나 여러분의 고객 관리형 키를 사용할 수 있어요. 자세한 내용은 암호화를 참고하세요.

파일 시스템 의미론 (File system semantics)

S3 Files는 NFS 버전 4.2 및 4.1 프로토콜을 지원해요. 읽기 후 쓰기 데이터 일관성(read-after-write data consistency), 파일 잠금, POSIX 권한 같은 파일 시스템 접근 의미론을 제공해요.

S3 Files 요금은 어떻게 부과되나요? (How are you billed for S3 Files?)

고성능 저장소에 상주하는 활성 데이터의 일부에 대해 저장 요금을, 파일 시스템의 고성능 저장소에 대한 읽기·쓰기에 대해 파일 시스템 접근 요금을 지불해요. S3 Files는 두 가지 경우에 파일 읽기를 S3 버킷에서 직접 스트리밍해요. 하나는 파일 데이터가 고성능 저장소에 저장되어 있지 않은 경우, 다른 하나는 데이터가 고성능 저장소에도 있더라도 1MiB 이상의 큰 읽기의 경우예요. S3 버킷은 높은 처리량에, 고성능 저장소 계층은 저지연 접근에 최적화되어 있어요. S3 Files는 작은 파일(기본값 <128KiB)의 데이터를 후속 읽기의 저지연 접근을 위해 고성능 저장소로 비동기적으로 가져와요. 이 읽기는 파일 시스템 접근 요금 없이 표준 S3 GET 요청 비용만 발생해요. 파일 시스템 접근 요금은 동기화 작업에 적용돼요. 데이터를 파일 시스템으로 가져오면 쓰기 요금이, 변경 사항을 S3로 다시 내보내면 읽기 요금이 발생해요. 자세한 내용은 S3 Files 계량 방식을 참고하세요. 현재 가격은 S3 Files 요금 페이지를 참고하세요.

더 알아보기 (Learn more)