안녕하세요 !
오늘은 Amazon S3에 대한 포스팅을 해볼까합니다.
Amazon S3는 어떤 서비스이며 어떤 특징을 가지고 있는지에 대해서 작성해보겠습니다.
Amazon S3은 Amazon Simple Storage Service로 객체 스토리지 서비스입니다. 웹 사이트, 모바일 애플리케이션 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있습니다.
S3는 데이터에 대한 접근 권한을 최적화, 구조화, 관리 기능을 제공합니다.
S3에서 제공되는 기능을 정리하면 다음과 같습니다.
스토리지 관리 : 비용 관리, 대기 시간 단축과 같은 요구 사항에 맞게 여러개의 개별 데이터 복제본 저장을 수행함
액세스 관리 및 보안 : 버킷 및 객체에 대한 접근 권한 및 관리 기능 제공
데이터 처리 : 데이터를 변환하고 워크플로우를 작동시켜 다양한 처리 작업을 대규모로 자동화함
스토리지 로깅 및 모니터링 : 모니터링하고 제어하는데 사용할 수 있는 도구 제공
Amazon S3를 구성하고 작동시키는 요소에 대해서 알아보겠습니다.
버킷은 저장된 객체를 담는 컨테이너입니다. 객체 수에는 제한이 없으며 한 계정당 버킷을 최대 100개까지 포함할 수 있습니다.
객체는 S3에 저장되는 기본 단위입니다. 객체는 키와 버전ID를 통해 버킷 내에서 고유하게 식별됩니다.
객체는 객체 데이터와 메타데이터로 구성되며 메타데이터는 해당 파일을 설명하는 데이터이며 객체를 설명하는 이름-값으로 페어된 집합입니다.
키는 버킷 내 객체에 대한 고유한 식별자이며 버킷 내 모든 객체는 정확히 하나의 키를 가집니다. 또한 버킷이 S3 버전 관리를 사용하면 객체에 고유한 버전 ID를 생성하게 됩니다.
버전 관리를 사용하면 동일 버킷 내에 객체를 변형한 객체를 보유할 수 있습니다. 또한 버전 관리를 사용하여 버킷에 저장된 모든 버전의 모든 객체를 보존, 검색 및 복원을 할 수 있습니다.
버킷 정책은 버킷과 해당 버킷의 객체에 접근 권한을 부여할 수 있는 AWS Identify and Access Management (IAM)입니다. 이를 사용하여 버킷의 객체에 대한 권한을 추가하거나 거부할 수 있습니다.
엑세스 포인트는 전용 접근 권한이 포함된 Network Endpoint입니다. 해당 Endpoint는 버킷에 연결되어있으며 이를 사용하여 데이터에 접근할 수 있습니다.
ACL은 권한이 부여된 사용자에게 개별 버킷 및 객체에 대한 읽기 및 쓰기 권한을 부여합니다. 또한 액세스를 허용할 AWS 계정 또는 그룹과 액세스 유형을 정의합니다.
S3에서는 사용자가 만드는 버킷을 저장할 지리적 AWS 리전을 선택할 수 있습니다. 지연 시간과 비용 최소화 등 다양한 필요에 따라 리전을 선택할 수 있습니다. 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하거나 복제하지 않는 한 해당 리전을 벗어나지 않습니다.