페이지 주제
- 일반 S3 FAQ
20
- 개의 AWS 지역
6
- 결제
10
- S3 Tables
18
- S3 Vectors
12
- Amazon S3 및 IPv6
4
- S3 이벤트 알림
5
- Amazon S3 Transfer Acceleration
12
- 보안
14
- S3 Access Grants
19
- S3 액세스 포인트
13
- 내구성 및 데이터 보호
23
- 스토리지 클래스
2
- S3 Intelligent-Tiering
15
- S3 Standard
2
- S3 Express One Zone
16
- S3 Standard-Infrequent Access(S3 Standard-IA)
8
- S3 One Zone-Infrequent Access(S3 One Zone-IA)
6
- Amazon S3 Glacier Instant Retrieval 스토리지 클래스
8
- Amazon S3 Glacier Flexible Retrieval 스토리지 클래스
10
- Amazon S3 Glacier Deep Archive
10
- S3 on Outposts
1
- 스토리지 관리
46
- 스토리지 분석 및 인사이트
12
- 현재 위치 쿼리
4
- 복제
32
- 데이터 처리
9
- 데이터 액세스
20
- Storage Browser for Amazon S3
9
일반 S3 FAQ
모두 열기테이블 버킷은 Apache Iceberg 형식을 사용하여 테이블을 저장하기 위해 특별히 구축되었습니다. Amazon S3 Tables를 사용하여 몇 단계만 진행하면 테이블 버킷을 생성하고 테이블 수준 권한을 설정할 수 있습니다. S3 테이블 버킷은 특히 분석 및 기계 학습 워크로드에 최적화되어 있습니다. Apache Iceberg를 기본적으로 지원하므로 Amazon Athena, Amazon Redshift 및 Apache Spark와 같은 널리 사용되는 쿼리 엔진을 통해 S3에서 테이블 형식 데이터를 쿼리할 수 있습니다. S3 테이블 버킷을 사용하여 일일 구매 트랜잭션, 스트리밍 센서 데이터 또는 광고 노출과 같은 테이블 형식 데이터를 Amazon S3에 Iceberg 테이블로 저장한 다음 분석 기능을 사용하여 해당 데이터와 상호 작용합니다.
벡터 버킷은 벡터를 저장하고 쿼리하기 위해 특별히 구축되었습니다. 벡터 버킷 내에서는 S3 객체 API가 아니라 전용 벡터 API를 사용하여 벡터 데이터를 작성하고 의미 체계 의미와 유사성을 기반으로 쿼리합니다. 버킷 및 IAM 정책을 비롯한 Amazon S3의 기존 액세스 제어 메커니즘을 사용하여 벡터 데이터에 대한 액세스를 제어할 수 있습니다. 벡터 버킷에 대한 모든 쓰기는 매우 일관적이므로 가장 최근에 추가된 벡터에 즉시 액세스할 수 있습니다. 시간이 지남에 따라 벡터를 작성, 업데이트 및 삭제하면 S3 벡터 버킷은 데이터세트가 확장되고 변경되더라도 버킷에 저장된 벡터 데이터를 자동으로 최적화하여 최적의 가격 대비 성능을 제공합니다.
버킷은 Amazon S3에 저장된 객체 및 테이블의 컨테이너이며, 버킷에 원하는 수의 객체를 저장할 수 있습니다. 범용 버킷은 원래 S3 버킷 유형이며, 단일 범용 버킷에는 S3 Express One Zone을 제외한 모든 스토리지 클래스에 저장된 객체가 포함될 수 있습니다. 대부분의 사용 사례와 액세스 패턴에 권장됩니다. S3 디렉토리 버킷은 단일 가용 영역 내에서 더 빠른 데이터 처리를 제공하는 S3 Express One Zone 스토리지 클래스에 객체만 저장할 수 있습니다. 지연 시간이 짧은 사용 사례에 권장됩니다. 각 S3 디렉터리 버킷은 버킷 내 디렉터리 수에 관계없이 최대 2백만 TPS(초당 트랜잭션)를 지원할 수 있습니다. S3 테이블 버킷은 일일 구매 트랜잭션, 스트리밍 센서 데이터 또는 광고 노출과 같은 테이블 형식 데이터를 S3에 저장하기 위해 특별히 구축되었습니다. 테이블 버킷을 사용하면 데이터가 S3에 Iceberg 테이블로 저장되고, S3에서 모두 관리하는 행 수준 트랜잭션, 쿼리 가능한 테이블 스냅샷 등과 같은 분석 기능을 사용하여 해당 데이터와 상호 작용할 수 있습니다. 또한 테이블 버킷은 지속적인 테이블 유지 관리를 수행하여 시간 경과에 따라 데이터 레이크가 확장되고 진화하더라도 쿼리 효율성이 자동으로 최적화하도록 설계되었습니다. S3 벡터 버킷은 벡터를 저장하고 쿼리하기 위해 특별히 구축되었습니다. 벡터 버킷 내에서 전용 벡터 API를 사용하여 벡터 데이터를 작성하고 의미 체계 의미와 유사성을 기반으로 쿼리합니다. 버킷 및 IAM 정책을 비롯한 Amazon S3의 기존 액세스 제어 메커니즘을 사용하여 벡터 데이터에 대한 액세스를 제어할 수 있습니다. 시간이 지남에 따라 벡터를 작성, 업데이트 및 삭제하면 S3 벡터 버킷은 데이터세트가 확장되고 변경되더라도 버킷에 저장된 벡터 데이터를 자동으로 최적화하여 최적의 가격 대비 성능을 제공합니다.
개의 AWS 지역
모두 열기Amazon S3 One Zone-IA 스토리지 클래스는 단일 AZ 내에서 데이터를 복제합니다. 단, S3 One Zone-IA에 저장된 데이터는 가용 영역의 물리적 손실(지진, 화재 및 홍수와 같은 자연재해로 인한 손실)에 대해 복원력이 유지되지 않습니다.
결제
모두 열기2) 해당 월의 16일: 동일한 버킷 내에서 1일의 원본 PUT와 동일한 키를 사용해 5GB(5,368,709,120바이트)의 PUT를 수행합니다.
위 작업의 스토리지 비용을 분석할 경우 15일에 5GB 객체를 기록할 때 1일의 4GB 객체가 버킷에서 삭제되지 않는다는 점에 유의하세요. 그 대신, 4GB 객체가 기존 버전으로 보존되고 5GB 객체가 버킷 내에서 가장 최근에 기록된 버전의 객체가 됩니다. 월말: 총 바이트-시간 사용량
[4,294,967,296바이트 x 31일 x (24시간/일)] + [5,368,709,120바이트 x 16일 x (24시간/일)] = 5,257,039,970,304바이트-시간. 총 GB-월로 변환
요금은 Amazon S3 요금 페이지에 명시된 고객 리전의 현재 요금을 기준으로 계산됩니다. 5,257,039,970,304바이트-시간 x (1GB/1,073,741,824바이트) x (1개월/744시간) = 6.581GB-월
S3 Tables
모두 열기S3 Tables는 정형 데이터를 Apache Parquet, Avro 및 ORC 형식으로 저장하기 위해 특별히 구축된 S3 스토리지를 제공합니다. 테이블 버킷 내에서 S3에 직접 최고 수준의 리소스로 테이블을 생성할 수 있습니다. 이러한 테이블은 ID 또는 리소스 기반 정책에 정의된 테이블 수준 권한으로 보호할 수 있으며, Apache Iceberg 표준을 지원하는 애플리케이션 또는 도구에서 액세스할 수 있습니다. 테이블 버킷에 테이블을 생성하면 S3의 기본 데이터가 Parquet, Avro 또는 ORC 파일로 저장됩니다. 그런 다음 S3는 Apache Iceberg 표준을 사용하여 데이터를 애플리케이션에서 쿼리할 수 있도록 하는 데 필요한 메타데이터를 저장합니다. S3 Tables에는 쿼리 엔진이 테이블 버킷에 있는 테이블의 Iceberg 메타데이터를 탐색하고 업데이트하는 데 사용하는 클라이언트 라이브러리가 포함되어 있습니다. 이 라이브러리를 테이블 작업을 위해 업데이트된 S3 API와 함께 사용하면 여러 클라이언트가 테이블에서 데이터를 안전하게 읽고 쓸 수 있습니다. 시간 경과에 따라 S3는 객체를 다시 쓰거나 ‘압축’하여 기본 Parquet, Avro 또는 ORC 데이터를 자동으로 최적화합니다. 압축은 S3의 데이터를 최적화하여 쿼리 성능을 개선합니다.
S3 외부에서 인프라를 구축할 필요 없이 간단히 몇 단계만 거치면 S3 Tables를 시작할 수 있습니다. 먼저 S3 콘솔에서 테이블 버킷을 생성합니다. 콘솔을 통해 첫 번째 테이블 버킷을 생성할 때 AWS Analytics 서비스와의 통합이 자동으로 이루어지므로, S3가 AWS Glue Data Catalog의 계정과 리전에 있는 모든 테이블 버킷과 테이블을 자동으로 채울 수 있습니다. 그러면 Amazon Athena, EMR 및 Redshift와 같은 AWS 쿼리 엔진에서 S3 Tables에 액세스할 수 있게 됩니다. 다음으로, S3 콘솔에서 클릭하면 Amazon Athena를 사용하여 테이블이 생성됩니다. Athena에 도달하면 새 테이블을 빠르게 채우고 쿼리를 시작할 수 있습니다.
또는 AWS Glue Data Catalog를 통해 Iceberg REST Catalog 엔드포인트를 사용하여 S3 Tables에 액세스할 수 있습니다. 그러면 모든 테이블 리소스를 포함한 전체 데이터 자산을 검색할 수 있게 됩니다. 또한 개별 테이블 버킷 엔드포인트에 직접 연결하여 해당 버킷 내의 모든 S3 Tables 리소스를 검색할 수 있습니다. 이를 통해 Apache Iceberg REST 카탈로그 사양을 지원하는 모든 애플리케이션 또는 쿼리 엔진에서 S3 Tables를 사용할 수 있습니다.
범용 Amazon S3 버킷에 Iceberg 테이블을 저장하는 것에 비해 최대 3배 더 빠른 쿼리 성능과 최대 10배 더 많은 초당 트랜잭션(TPS)을 제공합니다. 이는 테이블 버킷이 테이블의 기본 Parquet, Avro 또는 ORC 데이터를 자동으로 압축하여 쿼리 성능을 최적화하고, 전용 스토리지는 기본적으로 최대 10배의 TPS를 지원하기 때문입니다.
테이블 버킷을 사용하면 전체 버킷 또는 개별 테이블에 리소스 정책을 적용할 수 있습니다. 테이블 버킷 정책은 PutTablePolicy 및 PutTableBucketPolicy API를 사용하여 적용할 수 있습니다. 테이블 수준 정책을 사용하면 개별 Parquet, Avro 또는 ORC 파일의 물리적 위치를 파악하지 않고도 연결된 논리적 테이블을 기반으로 테이블 버킷의 테이블에 대한 권한을 관리할 수 있습니다. 또한 S3 Block Public Access는 항상 테이블 버킷에 적용됩니다.
테이블 버킷은 Parquet, Avro 또는 ORC 데이터를 포함하는 Apache Iceberg 테이블 형식을 지원합니다.
S3 Vectors
모두 열기Amazon S3 외부에서 인프라를 설정할 필요 없이 간단한 4단계로 S3 Vectors를 시작할 수 있습니다. 먼저, CreateVectorBucket API 또는 S3 콘솔을 통해 특정 AWS 리전에 벡터 버킷을 생성합니다. 둘째, 벡터 버킷에 벡터 데이터를 정리할 수 있도록 CreateIndex API 또는 S3 콘솔에서 벡터 인덱스를 생성해야 합니다. 벡터 인덱스를 생성할 때 거리 측정법(코사인 또는 유클리드)과 벡터가 가져야 하는 차원 수(최대 4,092)를 지정합니다. 가장 정확한 결과를 얻으려면 임베딩 모델에서 권장하는 거리 측정법을 선택하세요. 셋째, PutVector API를 사용하여 벡터 인덱스에 벡터 데이터를 추가합니다. 선택적으로, 메타데이터를 각 벡터에 키 값 페어로 첨부하여 쿼리를 필터링할 수 있습니다. 넷째, QueryVector API를 사용하여 유사성 쿼리를 수행하고 검색할 벡터와 반환할 가장 유사한 결과의 수를 지정합니다.
S3 콘솔 또는 CreateIndex API를 사용하여 벡터 인덱스를 생성할 수 있습니다. 인덱스 생성 시, 유사성 쿼리 중에 필터링에서 제외하려는 벡터 버킷, 인덱스, 거리 지표, 차원, 그리고 선택적으로 메타데이터 필드 목록을 지정합니다. 예를 들어 벡터와 연결된 데이터를 순전히 참조용으로 저장하려는 경우 이러한 데이터를 필터링 불가능한 메타데이터 필드로 지정할 수 있습니다. 생성 시에 각 인덱스에는 고유한 Amazon 리소스 이름(ARN)이 할당됩니다. 이후에 쓰기 또는 쿼리 요청을 하면 이를 벡터 버킷 내의 벡터 인덱스로 전달합니다.
PutVectors API를 사용하여 벡터 인덱스에 벡터를 추가할 수 있습니다. 각 벡터는 벡터 인덱스의 각 벡터를 고유하게 식별하는 키로 구성됩니다(예: 프로그래밍 방식으로 UUID를 생성할 수 있음). 쓰기 처리량을 최대화하려면 최대 요청 크기까지 대량으로 벡터를 삽입하는 것이 좋습니다. 또한 메타데이터(예: 연도, 작성자, 장르, 위치)를 각 벡터에 키 값 페어로 첨부할 수 있습니다. 메타데이터를 포함하면 벡터 인덱스 생성 시 필터링할 수 없는 메타데이터로 지정하지 않는 한, 기본적으로 모든 필드를 유사성 쿼리의 필터로 사용할 수 있습니다. 비정형 데이터의 새로운 벡터 임베딩을 생성하려면 Amazon Bedrock의 InvokeModel API를 사용하여 사용하려는 임베딩 모델의 모델 ID를 지정하면 됩니다.
GetVectors API를 사용하여 벡터 키로 벡터 및 관련 메타데이터를 조회하고 반환할 수 있습니다.
QueryVectors API를 사용하여 쿼리 벡터, 반환할 관련 결과 수(가장 가까운 이웃 상위 k개), 인덱스 ARN을 지정하여 유사성 쿼리를 실행할 수 있습니다. 쿼리 벡터를 생성할 때는 벡터 인덱스에 저장된 초기 벡터를 생성하는 데 사용된 것과 동일한 임베딩 모델을 사용해야 합니다. 예를 들어 Amazon Bedrock에서 Amazon Titan Text Embeddings v2를 사용하여 문서의 임베딩을 생성하는 경우, 동일한 모델을 사용하여 질문을 벡터로 변환하는 것이 좋습니다. 또한 쿼리에서 메타데이터 필터를 사용하여 필터와 일치하는 벡터를 검색할 수 있습니다. 유사성 쿼리를 실행하면 기본적으로 벡터 키가 반환됩니다. 선택적으로, 응답에 거리와 메타데이터를 포함할 수 있습니다.
S3 Vectors는 내구성과 가용성이 뛰어난 벡터 스토리지를 제공합니다. S3 Vectors에 기록된 데이터는 99.999999999%의 데이터 내구성을 보장하도록 설계된 S3에 저장됩니다. S3 Vectors는 99.9%의 가용성 SLA로 99.99%의 가용성을 제공하도록 설계되었습니다.
S3 Vectors는 1초 미만의 쿼리 지연 시간을 제공합니다. Amazon S3의 탄력적인 처리량을 사용하여 수백만 개의 벡터에 대한 검색을 처리하며, 자주 사용하지 않는 쿼리 워크로드에 적합합니다.
벡터 임베딩에 대한 유사성 쿼리를 수행할 때 임베딩 모델, 벡터 데이터셋의 크기(벡터 및 차원 수), 쿼리 분포 등 여러 요인이 평균 리콜에 영향을 미칠 수 있습니다. S3 Vectors는 대부분의 데이터 세트에 대해 평균 90% 이상의 리콜을 제공합니다. 평균 리콜은 쿼리 결과의 품질을 측정합니다. 즉, 90%는 인덱스에 저장된 쿼리 벡터와 가장 가까운 실측 벡터의 90%가 응답에 포함되어 있음을 의미합니다. 단, 실제 성능은 특정 사용 사례에 따라 다를 수 있으므로 대표 데이터 및 쿼리로 자체 테스트를 수행하여 S3 벡터 인덱스가 리콜 요구 사항을 충족하는지 확인하는 것이 좋습니다.
ListVectors API를 사용하여 벡터 인덱스의 벡터 목록을 볼 수 있습니다. 이 API는 응답이 잘린 경우 표시기와 함께 한 번에 최대 1,000개의 벡터를 반환합니다. 응답에는 마지막 수정 날짜, 벡터 키, 벡터 데이터 및 메타데이터가 포함됩니다. 또한 ListVectors API를 사용하여 지정된 벡터 인덱스에서 벡터 데이터를 쉽게 내보낼 수 있습니다. ListVectors 연산은 매우 일관적입니다. 따라서 쓰기 후 변경 사항이 반영된 벡터를 즉시 나열할 수 있습니다.
S3 Vectors를 사용하면 스토리지와 모든 해당 쓰기 및 읽기 요청(예: 벡터 삽입 및 벡터 인덱스의 벡터에 대한 쿼리 작업 수행)에 대한 요금을 지불하게 됩니다. 요금 세부 정보를 보려면 S3 요금 페이지를 참조하세요.
예. Bedrock 콘솔 또는 API를 통해 Bedrock 지식 기반을 생성할 때 기존 S3 벡터 인덱스를 벡터 저장소로 구성하여 RAG 사용 사례의 벡터 스토리지 비용을 절감할 수 있습니다. Bedrock에서 벡터 인덱스를 자동으로 생성하고 관리하도록 하려면 Bedrock 콘솔의 빠른 생성 워크플로를 사용하세요. 또한 Amazon SageMaker Unified Studio에서 RAG 워크플로를 위한 벡터 저장소로 새 S3 벡터 인덱스를 구성할 수 있습니다.
예. 두 가지 방법으로 Amazon OpenSearch Service에 S3 Vectors를 사용할 수 있습니다. 먼저, S3 고객은 S3 또는 OpenSearch 콘솔을 사용하여 S3 벡터 인덱스의 모든 벡터를 OpenSearch Serverless에 새로운 서버리스 컬렉션으로 내보낼 수 있습니다. 기본적으로 S3 Vectors를 기반으로 구축하면 실시간 쿼리가 필요한 워크로드에 OpenSearch Serverless를 선택적으로 사용할 수 있다는 이점이 있습니다. 둘째, 관리형 OpenSearch 고객인 경우 이제 1초 미만의 지연 시간으로 쿼리할 수 있는 벡터 데이터의 엔진으로 S3 Vectors를 선택할 수 있습니다. 그러면 OpenSearch가 자동으로 S3 Vectors를 벡터의 기본 엔진으로 사용하므로, OpenSearch API를 사용하여 벡터 데이터를 업데이트하고 검색할 수 있습니다. 애플리케이션을 변경하지 않고도 S3 Vectors의 비용 혜택을 누릴 수 있습니다.
Amazon S3 및 IPv6
모두 열기S3 이벤트 알림
모두 열기Amazon S3 Transfer Acceleration
모두 열기AWS 구현에 대한 자세한 내용은 Storage Gateway FAQ의 파일 섹션을 참조하세요.
보안
모두 열기AWS의 보안에 대한 자세한 내용은 AWS 보안 페이지, S3 보안 정보는 S3 보안 페이지 및 S3 보안 모범 사례 가이드를 참조하세요.
기본적으로 객체 데이터와 객체 메타데이터는 객체를 배치한 단일 전용 로컬 영역 내에 유지됩니다. 버킷 이름, 용량 지표, CloudTrail 로그, CloudWatch 지표, AWS Key Management Service(KMS)의 고객 관리형 키, Identity and Access Management(IAM) 정책을 비롯한 버킷 관리 및 원격 측정 데이터는 상위 AWS 리전에 다시 저장됩니다. 선택적으로 S3 Batch Operations와 같은 다른 버킷 관리 기능은 상위 AWS 리전에 버킷 이름 및 객체 이름과 함께 관리 메타데이터를 저장합니다.
AWS VPC Management Console, AWS Command Line Interface(AWS CLI), AWS SDK 또는 API를 사용하여 인터페이스 VPC 엔드포인트를 생성할 수 있습니다. 자세한 내용은 설명서를 참조하세요.
자세한 내용은 IAM Access Analyzer 설명서를 참조하세요.
S3 Access Grants
모두 열기S3 액세스 포인트
모두 열기Amazon S3 Access Points는 S3와 함께 작동하는 모든 애플리케이션 또는 AWS 서비스의 데이터 액세스 관리를 간소화하는 엔드포인트입니다. S3 액세스 포인트는 S3 버킷 및 Amazon FSx for OpenZFS 파일 시스템과 함께 작동합니다. 각 애플리케이션 또는 사용자에 맞는 이름과 권한을 가진 액세스 포인트를 생성하여, 다양한 애플리케이션 또는 사용자가 데이터에 액세스하는 방법을 제어하고 간소화할 수 있습니다.
S3 액세스 포인트와 S3 버킷을 사용하면 더 이상 수백 개의 서로 다른 권한 규칙을 작성하며, 읽고, 추적하며, 감사해야 하는 하나의 복잡한 버킷 정책을 관리하지 않아도 됩니다. 대신, 각각 액세스 포인트는 고유한 호스트 이름과 액세스 포인트를 통해 생성된 모든 요청에 대해 특정 권한 및 네트워크 제어를 적용하는 액세스 정책을 사용하여 버킷으로의 사용자 지정된 경로를 제공하는 액세스 포인트를 버킷당 수백 개 생성할 수 있습니다.
FSx for OpenZFS와 함께 S3 액세스 포인트를 사용하면 데이터가 S3에 있는 것처럼 S3 API를 사용하여 FSx 데이터에 액세스할 수 있습니다. 이 기능을 통해 FSx for OpenZFS 파일 시스템에 파일 데이터를 그대로 유지하면서, S3와 연동되는 다양한 인공 지능, 기계 학습, 분석 서비스 및 애플리케이션에서 FSx for OpenZFS의 파일 데이터에 액세스할 수 있습니다.
S3 액세스 포인트를 사용하면 데이터를 S3로 이동하지 않고도 S3 API를 사용하여 Amazon FSx for OpenZFS의 파일 데이터에 액세스할 수 있습니다. FSx for OpenZFS 파일 시스템에 연결된 S3 액세스 포인트는 S3 버킷에 연결된 S3 액세스 포인트의 작동 방식과 유사하게 작동하며, 액세스 정책에 따라 제어되는 액세스와 함께 S3를 통한 데이터 액세스를 제공합니다. 반면 데이터는 FSx for OpenZFS 파일 시스템용 또는 S3 버킷에 계속 저장됩니다. 예를 들어 S3 액세스 포인트가 FSx for OpenZFS 파일 시스템에 연결되면 고객은 S3와 함께 작동하는 생성형 AI, 기계 학습, 분석 서비스 및 애플리케이션에 액세스 포인트를 사용하여 FSx for OpenZFS 데이터에 액세스할 수 있습니다.
내구성 및 데이터 보호
모두 열기Amazon S3는 Content-MD5 체크섬, 보안 해시 알고리즘(SHA), 주기적 중복 검사(CRC)를 함께 사용해 데이터 무결성을 확인합니다. Amazon S3는 저장된 데이터에 이러한 체크섬을 실행하여 중복 데이터를 사용해 불일치를 복구합니다. 또한 최신 AWS SDK는 모든 업로드의 효율적인 CRC 기반 체크섬을 자동으로 계산합니다. S3는 독립적으로 체크섬을 확인하고 퍼블릭 인터넷을 통해 전송되는 동안 데이터 무결성이 유지되었음을 확인한 후에만 객체를 수락합니다. 사전 계산된 체크섬을 제공하지 않는 SDK 버전이 객체 업로드에 사용되는 경우, S3는 멀티파트 업로드에서도 전체 객체의 CRC 기반 체크섬을 계산합니다. 체크섬은 객체 메타데이터에 저장되므로 언제든지 데이터 무결성 확인에 사용할 수 있습니다. 업로드 및 다운로드 요청에 대한 데이터 무결성 검사에 지원되는 5가지 체크섬 알고리즘 중에서 선택할 수 있습니다. 애플리케이션의 필요에 따라 SHA-1, SHA-256, CRC32, CRC32C 또는 CRC64NVME 체크섬 알고리즘을 선택할 수 있습니다. S3에서 데이터를 저장 또는 검색함에 따라 체크섬을 자동으로 계산 및 확인하며 언제라도 HeadObject S3 API, GetObjectAttributes S3 API 또는 S3 Inventory 보고서를 사용하여 체크섬 정보에 액세스할 수 있습니다. 데이터가 S3에 스트리밍될 때 체크섬을 계산하도록 하면 두 개의 연속적 작업이 아니라 단일 패스로 데이터를 확인 및 송신할 수 있어 시간이 절약됩니다. 데이터 검증을 위해 체크섬을 사용하는 것은 데이터 내구성에 대한 모범 사례이며 해당 기능은 성능을 증가시키고 이를 위한 비용은 줄입니다.
2) 해당 월의 16일: 동일한 버킷 내에서 1일의 원본 PUT와 동일한 키를 사용해 5GB(5,368,709,120바이트)의 PUT를 수행합니다.
위 작업의 스토리지 비용을 분석할 경우 15일에 5GB 객체를 기록할 때 1일의 4GB 객체가 버킷에서 삭제되지 않는다는 점에 유의하세요. 그 대신, 4GB 객체가 기존 버전으로 보존되고 5GB 객체가 버킷 내에서 가장 최근에 기록된 버전의 객체가 됩니다. 월말: 총 바이트-시간 사용량
[4,294,967,296바이트 x 31일 x (24시간/일)] + [5,368,709,120바이트 x 16일 x (24시간/일)] = 5,257,039,970,304바이트-시간. 총 GB-월로 변환
요금은 Amazon S3 요금 페이지에 명시된 고객 리전의 현재 요금을 기준으로 계산됩니다. 5,257,039,970,304바이트-시간 x (1GB/1,073,741,824바이트) x (1개월/744시간) = 6.581GB-월
자세한 내용은 S3 Object Lock 사용 설명서를 참조하세요.
두 가지 모드 중 하나로 S3 Object Lock을 구성할 수 있습니다. 거버넌스 모드로 배포된 경우 특정 IAM 권한이 있는 AWS 계정은 객체 버전에서 WORM 보호를 제거할 수 있습니다. 규정을 준수하기 위해 더 강력한 변경 불가능 지원이 필요한 경우 규정 준수 모드를 사용할 수 있습니다. 규정 준수 모드에서는 루트 계정을 포함한 어떤 사용자도 WORM 보호를 제거할 수 없습니다.
아니요. S3 Object Lock이 활성화된 후에는 버킷에 대한 S3 Object Lock 또는 S3 버전 관리를 비활성화할 수 없습니다.
S3 Object Lock이 활성화된 버킷에서 S3 Replication을 사용하여 객체 복제를 시작하려면 동일하거나 다른 AWS 리전 및 동일하거나 다른 AWS 계정에서 대상 버킷을 지정하여 원본 버킷에 복제 구성을 추가할 수 있습니다. S3 버킷 수준에서 모든 객체를 복제하거나, 공유 접두사 수준 또는 S3 객체 태그를 사용하여 객체 수준에서 객체를 필터링하도록 선택할 수 있습니다. 또한 복제 작업을 수행하는 데 필요한 권한이 있는 AWS Identity and Access Management(IAM) 역할을 지정해야 합니다. S3 콘솔, AWS API, AWS CLI, AWS SDK 또는 AWS CloudFormation을 사용하여 복제를 활성화할 수 있으며, 원본 및 대상 버킷 모두에 대해 S3 버전 관리를 활성화해야 합니다. 또한 S3 Object Lock이 활성화된 버킷에서 객체를 복제하려면 대상 버킷에도 S3 Object Lock이 활성화되어 있어야 합니다. 자세한 내용은 S3 Replication 설정 및 S3 Replication 포함 S3 Object Lock 사용에 대한 설명서를 참조하세요.
예. S3 Object Lock이 활성화된 버킷에서 객체를 복제하려면 복제 설정에 사용하는 IAM 역할의 원본 버킷에 s3:GetObjectRetention 및 s3:GetObjectLegalHold라는 두 가지 새로운 권한을 부여해야 합니다. 또는 IAM 역할에 s3:Get* 권한이 있는 경우 요구 사항을 충족합니다. 자세한 내용은 S3 Replication과 함께 S3 Object Lock을 사용하는 방법에 대한 설명서를 참조하세요.
아니요. S3 Object Lock 버킷에서 복제하는 동안에는 S3 Same-Region Replication(S3 SRR), S3 Cross-Region Replication(S3 CRR), 진행 상황을 추적하기 위한 S3 Replication 지표, S3 Replication Time Control(S3 RTC), S3 Batch Replication과 같은 S3 Replication의 모든 기능이 지원됩니다.
S3 Batch Replication을 사용하여 S3 Object Lock이 활성화된 버킷에서 기존 객체를 복제할 수 있습니다. 기존 객체 복제에 대한 자세한 내용은 S3 Batch Replication 문서를 참조하세요.
스토리지 클래스
모두 열기어떤 S3 스토리지 클래스가 워크로드에 가장 적합한지 결정할 때 데이터의 수명에 대한 가장 저렴한 총 비용을 최적화할 수 있도록 데이터의 보존 시간과 액세스 패턴을 고려합니다. 많은 워크로드에서 액세스 패턴은 계속 바뀌거나(사용자가 생성한 콘텐츠), 예측 불가능하거나(분석, 데이터 레이크), 알 수 없습니다(새 애플리케이션). 그래서 스토리지 비용을 자동으로 절감해줄 수 있는 S3 Intelligent-Tiering을 기본 스토리지 클래스로 사용해야 합니다. 데이터의 액세스 패턴을 아는 경우 다음 지침을 따를 수 있습니다. S3 Standard 스토리지 클래스는 자주 액세스하는 데이터에 적합하며, 한 달에 1번 넘게 데이터에 액세스하는 경우 가장 적합합니다. S3 Standard-Infrequent Access는 1개월 또는 2개월에 한 번 액세스하고 1개월 이상 보존하는 데이터에 적합합니다. Amazon S3 Glacier 스토리지 클래스는 데이터 아카이브를 위해 특별히 제작되어 클라우드에서 최고의 성능, 최고의 검색 유연성, 최저 비용의 아카이브 스토리지를 제공합니다. 이제 다양한 액세스 패턴과 스토리지 기간에 최적화된 세 가지 아카이브 스토리지 클래스 중에서 선택할 수 있습니다. 즉각적인 액세스가 필요한 아카이브 데이터(예: 의료 이미지, 뉴스 미디어 자산 또는 유전체학 데이터)의 경우 밀리초 단위의 검색 시간에서 가장 저렴한 비용의 스토리지를 제공하는 아카이브 스토리지 클래스인 S3 Glacier Instant Retrieval를 선택하세요. 즉각적인 액세스가 필요하지 않지만 비용을 들이지 않고 대규모 데이터 세트를 유연하게 검색해야 하는 아카이브 데이터(예: 백업 또는 재해 복구 사용 사례)의 경우 5~12시간의 무료 대량 검색 또는 몇 분 내 검색을 지원하는 S3 Glacier Flexible Retrieval을 선택하세요. 규정 준수 아카이브 및 디지털 미디어 보존과 같은 장기 아카이브 스토리지에서 더 많은 비용을 절감하려면 12시간 내의 데이터 검색 시간을 지원하며 클라우드에서 가장 저렴한 스토리지 비용을 제공하는 S3 Glacier Deep Archive를 선택하세요. 이러한 모든 스토리지 클래스는 AWS 리전의 물리적으로 격리된 AWS 가용 영역과 여러 디바이스에서 데이터를 중복 저장하여 다중 가용 영역(AZ) 복원력을 제공합니다.
복원력에 대한 요구 기준이 낮은 데이터의 경우 S3 One Zone-Infrequent Access와 같이 단일 AZ 스토리지 클래스를 선택하여 비용을 절감할 수 있습니다. 기존 AWS 리전에서 충족할 수 없는 데이터 레지던시 또는 격리 요구 사항이 있는 경우 AWS 전용 로컬 영역용 S3 스토리지 클래스 또는 S3 on Outposts 랙을 사용하여 특정 경계에 데이터를 저장할 수 있습니다.
S3 Intelligent-Tiering
모두 열기S3 Intelligent-Tiering에는 최소 객체 크기가 없지만, 128KB보다 작은 객체는 자동 계층화에 적합하지 않습니다. 이러한 작은 객체는 S3 Intelligent-Tiering에 저장할 수 있지만, 항상 Frequent Access 티어 요금이 부과되며 모니터링 및 자동화 요금은 부과되지 않습니다. 새로 생성된 데이터에 대한 기본 스토리지 클래스로 S3 Intelligent-Tiering을 표준화하려는 경우 S3 PUT API 요청 헤더에서 INTELLIGENT-TIERING을 지정하여 애플리케이션을 수정할 수 있습니다. 99.9%의 가용성 및 99.999999999%의 내구성을 만족하도록 설계된 S3 Intelligent-Tiering은 S3 Standard와 같이 짧은 대기 시간과 높은 처리량을 자동으로 제공합니다. AWS Cost Explorer를 사용하여 Archive Instant Access 티어에서 추가적인 절감 효과를 측정할 수 있습니다.
저렴한 모니터링 및 자동화 요금을 지원하기 위해 S3 Intelligent-Tiering은 액세스 패턴을 모니터링하여 객체를 대기 시간이 낮고 처리량이 높은 액세스 티어 및 두 가지 옵트인 비동기 아카이브 액세스 티어로 자동으로 이동하여 고객이 비동기로 액세스할 수 있는 데이터에 대해 클라우드에서 가장 저렴한 스토리지 비용으로 이용할 수 있도록 합니다.
S3 Intelligent-Tiering에는 청구 가능한 최소 객체 크기가 없지만, 128KB보다 작은 객체는 자동 계층화에 적합하지 않습니다. 이러한 작은 객체는 모니터링하지 않으며 모니터링 및 자동화 요금 없이 항상 Frequent Access 티어 요금이 부과됩니다. S3 Intelligent-Tiering에서 Archive Access 티어 또는 Deep Archive Access 티어에 아카이브된 각 객체의 경우 Amazon S3에서는 객체 및 기타 메타데이터 이름을 위해 8KB의 스토리지(S3 Standard 스토리지 요금으로 요금이 청구됨)와 인덱스 및 관련 메타데이터를 위해 32KB의 스토리지(S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive 스토리지 요금으로 요금이 청구됨)를 사용합니다.
S3 Standard
모두 열기S3 Express One Zone
모두 열기디렉토리 버킷을 생성한 후 가져오기 옵션을 사용하여 S3 콘솔을 통해 동일한 AWS 리전 내에서 S3 Express One Zone 스토리지 클래스로 데이터를 가져올 수 있습니다. 가져오기를 사용하면 복사할 모든 객체를 개별적으로 지정하지 않고도 데이터를 가져올 접두사 또는 버킷을 선택할 수 있으므로 S3 디렉토리 버킷에 데이터를 간단하게 복사할 수 있습니다. S3 배치 작업은 선택한 접두사 또는 범용 버킷의 객체를 복사하며, S3 배치 작업 세부 정보 페이지를 통해 가져오기 복사 작업의 진행 상황을 모니터링할 수 있습니다.
3개월 이상 요청 활동이 없는 S3 디렉터리 버킷은 비활성 상태로 전환됩니다. 비활성 상태에서는 읽기 및 쓰기를 위해 디렉터리 버킷에 일시적으로 액세스할 수 없습니다. 비활성 버킷에는 모든 스토리지, 객체 메타데이터 및 버킷 메타데이터가 보관됩니다. 비활성 버킷에는 기존 스토리지 요금이 적용됩니다. 비활성 버킷에 대한 액세스 요청 시 버킷은 일반적으로 몇 분 내에 활성 상태로 전환됩니다. 이 전환 기간 동안 읽기 및 쓰기는 503 SlowDown 오류 코드를 반환합니다.
S3 Express One Zone에 10GB의 데이터를 30일 동안 저장하여 총 1,000,000건의 쓰기와 9,000,000건의 읽기를 수행하고 요청 크기가 10KB인 Athena에 액세스한다고 가정해 보겠습니다. 그런 다음 30일이 경과할 때까지 100만 개의 파일을 삭제합니다. 버킷이 미국 동부(버지니아 북부) 리전에 있는 경우 스토리지 및 요청 요금은 아래와 같이 계산됩니다. 스토리지 요금
총 바이트-시간 사용량 = 10GB-월
총 스토리지 비용 = 월 10GB x 0.11 USD = 1.10 USD 요청 요금
PUT 요청 100만 건: 요청 100만 건 x 0.00113 USD/1,000 = 1.13 USD
GET 요청 900만 건: 요청 900만 건 x 0.00003 USD/1,000 = 0.27 USD
삭제 요청 100만 건 = 요청 100만 건 x 0.00 USD(요금 없음) = 0 USD 데이터 업로드 요금: 10KB/1,048,576 x 1,000,000 x 0.0032 USD = 0.03 USD
데이터 검색 요금: 10KB/1,048,576 x 9,000,000 x 0.0006 USD = 0.05 USD
총 요금 = 1.10 USD + 1.13 USD + 0.27 USD + 0.03 USD + 0.05 USD = 2.58 USD 예시 2:
매일 8시간 워크로드에 대해 머신러닝 교육을 위해 10TB의 데이터를 저장한 다음 삭제한다고 가정해 보겠습니다. 8시간의 워크로드 동안 2MB의 요청 크기에 대해 5,242,880건의 쓰기 작업과 10,485,760건의 읽기를 수행합니다. 이 운영을 30일(1개월) 동안 수행한다고 가정합니다. 스토리지 요금
총 바이트-시간 사용량 = [10,995,116,277,760바이트 x 30일 x (8시간/일)] = 2,638,827,906,662,400바이트-시간 = 3303.77GB-월
총 스토리지 비용 = 3303.77GB x 0.11 USD = 363.41 USD 요청 요금
PUT 요청 524만 2,880건/일: 요청 524만 2,880건 x 30 x 0.00113 USD/1,000 = 177.73 USD
GET 요청 1,048만 5,760건/일: 요청 1,048만 5,760건 x 30 x 0.00003 USD/1,000 = 9.44 USD
삭제 요청 524만 2,880건/일: 요청 524만 2,880건 x 0.00 USD(요금 없음) = 0 USD 데이터 업로드 요금: 2MB/1,024 x 5,242,880 x 30 x 0.0032 USD = 983.04 USD
데이터 검색 요금: 2MB/1024 x 10,485,760 x 30 x 0.0006 USD = 368.64 USD
요금 합계 = 363.41 USD + 177.73 USD + 9.44 USD + 983.04 USD + 368.64 USD = 1,902.26 USD
S3 Standard-Infrequent Access(S3 Standard-IA)
모두 열기S3 One Zone-Infrequent Access(S3 One Zone-IA)
모두 열기Amazon S3 Glacier Instant Retrieval 스토리지 클래스
모두 열기Amazon S3 Glacier Flexible Retrieval 스토리지 클래스
모두 열기참고: S3 Glacier Flexible Retrieval은 원래 직접 Glacier API와 Amazon S3 Glacier 관리 콘솔을 통해서도 사용할 수 있습니다. 수명 주기 관리, S3 Replication, S3 Storage Lens 등을 포함한 전체 S3 기능 세트를 보다 잘 활용하려면 S3 API 및 S3 Management Console을 사용하여 S3 Glacier 기능을 사용하는 것이 좋습니다.
S3 Glacier 스토리지 클래스 프로비저닝 용량 단위를 사용하면 특정 월에 대해 고정 선불 요금을 지불하여 S3 Glacier Flexible Retrieval에서 신속하게 검색할 수 있는 검색 용량을 확보할 수 있습니다. 월별로 프로비저닝 용량 단위를 2개 구입하여 검색 가능한 데이터 양을 늘릴 수 있습니다. 각 용량 단위로 최소 3건의 긴급 검색을 5분 간격으로 수행할 수 있으며, 최대 150MB/초의 검색 처리량을 제공합니다. 워크로드가 데이터 하위 집합에 대해 매우 안정적이고 예측 가능한 액세스를 몇 분 만에 완료해야 하는 경우 프로비저닝된 검색 용량을 구입해야 합니다. 프로비저닝된 용량이 없으면 수요가 많은 기간에 신속한 검색이 허용되지 않을 수 있습니다. 신속한 검색 액세스 권한이 필요한 모든 상황에서 프로비저닝된 검색 용량을 구입하는 것이 좋습니다.
프로비저닝된 용량은 Amazon S3 콘솔, 프로비저닝된 용량 구매 REST API, AWS SDK 또는 AWS CLI를 사용하여 구입할 수 있습니다. 프로비저닝된 용량 단위는 구입 날짜 및 시간을 기점으로 한 달 동안 지속됩니다. 단위는 시작 날짜로부터 정확히 한 달 후, 가장 가까운 초까지인 만료일에 만료됩니다. 프로비저닝된 용량 요금 정보는 Amazon S3 요금을 참조하세요.
각 객체당 1.000032GB x 객체 100,000개 = 100,003.2GB의 S3 Glacier 스토리지.
각 객체당 0.000008GB x 객체 100,000개 = 0.8GB의 S3 Standard 스토리지.
요금은 Amazon S3 요금 페이지에 명시된 고객 AWS 리전의 현재 요금을 기준으로 계산됩니다. 추가적인 Amazon S3 요금 예제를 확인하려면 S3 결제 FAQ로 이동하거나 AWS Pricing Calculator를 사용합니다.
또한 S3 Glacier Flexible Retrieval을 사용하려면 아카이빙된 각 객체에 40KB의 추가 메타데이터가 필요합니다. 여기에는 데이터 식별 및 검색에 필요한 32KB의 메타데이터가 포함되며 S3 Glacier Flexible Retrieval 요금이 적용됩니다. 추가 8KB 데이터에는 S3 Standard 요금이 적용되며 S3 Glacier Flexible Retrieval로 아카이빙된 객체의 사용자 정의 이름 및 메타데이터를 유지하는 데 필요합니다. 이를 통해 S3 LIST API 또는 S3 Inventory 보고서를 사용하여 모든 S3 객체의 실시간 목록을 확인할 수 있습니다. Amazon S3 Glacier Flexible Retrieval 요금에 대한 내용은 Amazon S3 요금 페이지를 참조하세요.
Amazon S3 Glacier Deep Archive
모두 열기AWS Snowball을 사용하여 데이터를 마이그레이션할 수도 있습니다. Snowball은 안전한 전송을 위해 설계된 물리적 스토리지 디바이스를 사용하여 AWS에서 송수신되는 테라바이트에서 페타바이트 규모의 데이터를 더 빨리 전송할 수 있도록 합니다. Snowball을 사용하면 높은 네트워크 비용, 오랜 전송 시간, 보안 문제 등 대규모 데이터 전송 시 발생할 수 있는 문제를 없앨 수 있습니다. 마지막으로, AWS Direct Connect를 사용하여 온프레미스에서 AWS로의 전용 네트워크 연결을 설정할 수 있습니다. Direct Connect를 활용하면 많은 상황에서 네트워크 비용을 줄이고 대역폭 처리량을 늘리는 것은 물론, 인터넷 기반 연결보다 일관된 네트워크 환경을 구현할 수 있습니다.
S3 on Outposts
모두 열기스토리지 관리
모두 열기자세한 내용은 S3 객체 태그 사용 설명서를 참조하세요.
SQL을 사용하여 S3 객체에 대한 정보를 쿼리하여 생성형 AI, 분석 및 기타 사용 사례의 특정 데이터세트를 빠르게 식별하려면 Amazon S3 Metadata를 사용해야 합니다. S3 Metadata는 메타데이터를 거의 실시간으로 최신 상태로 업데이트하므로, Iceberg와 호환되는 모든 클라이언트를 사용하여 SQL 쿼리를 실행함으로써 객체 메타데이터로 객체를 찾을 수 있습니다. 예를 들어 SQL 쿼리를 사용하여 특정 필터와 일치하는 객체(예: 모든 버킷에서 지난 30일 동안 추가된 객체)의 목록을 반환할 수 있습니다.
S3 메타데이터는 버킷에 업로드된 객체에 대한 추가 정보를 제공하는 메타데이터를 자동으로 생성하고, 읽기 전용 테이블에서 해당 메타데이터를 쿼리할 수 있도록 설계되었습니다. 이러한 메타데이터 테이블은 Apache Iceberg에 구축된 Amazon S3 Tables에 저장되며 S3 내에서 테이블 형식 데이터를 저장하고 쿼리하는 관리형 방법을 제공합니다. S3 Metadata는 객체 크기와 같은 시스템 수준 메타데이터, 객체 업로드 시 태그 및 사용자 정의 메타데이터와 같은 사용자 지정 메타데이터, 요청을 보낸 IP 주소와 같은 이벤트 메타데이터를 생성하고 유지 관리합니다. 버킷의 데이터가 변경되면 S3 Metadata가 거의 실시간으로 업데이트하여 최신 변경 사항을 반영합니다. 그런 다음 Amazon Athena, Amazon QuickSight 및 Apache Spark를 비롯한 다양한 Iceberg 호환 AWS 분석 서비스 및 오픈 소스 도구를 사용하여 메타데이터 테이블을 쿼리할 수 있습니다.
S3 콘솔에서 클릭 몇 번으로 S3 Metadata를 시작할 수 있습니다. S3 메타데이터를 활성화하려는 범용 S3 버킷을 선택하면 S3가 버킷의 데이터를 분석하고 모든 객체에 대한 메타데이터를 포함하는 완전관리형 Apache Iceberg 테이블을 구축합니다. 몇 분 만에 Apache Iceberg를 지원하는 쿼리 엔진 또는 도구를 사용하여 메타데이터를 쿼리할 수 있습니다.
S3 메타데이터 테이블은 aws-s3라는 AWS 계정의 AWS 관리형 테이블 버킷에 저장됩니다. 테이블은 읽기 전용이며 S3만 메타데이터를 작성, 업데이트 또는 삭제할 수 있습니다.
S3 Metadata는 계정의 두 관리 테이블, 즉 저널 테이블과 라이브 인벤토리 테이블에 메타데이터를 저장합니다.
S3 Metadata 저널 테이블은 버킷 내에서 변경한 내용을 보여줍니다. 범용 S3 버킷에 객체가 추가, 업데이트 및 제거되면 해당 변경 사항이 거의 실시간으로 저널 테이블에 반영됩니다. 저널 테이블은 애플리케이션의 동작을 이해하고 데이터세트에 적용된 변경 사항을 식별하는 데 유용합니다. 예를 들어 저널 테이블에 대한 SQL 쿼리를 작성하여 지난 30일 동안 추가된 객체, 활성 요청자가 추가한 객체, 지난 주에 메타데이터가 변경된 객체 등, 필터와 일치하는 S3 객체를 찾을 수 있습니다.
S3 Metadata 라이브 인벤토리 테이블에는 버킷에 있는 모든 객체의 전체 목록이 포함되어 있습니다. 실시간 인벤토리 테이블은 매시간 업데이트되며, S3가 객체에 대해 알고 있는 모든 정보를 포함합니다. 라이브 인벤토리 테이블은 객체 메타데이터에서 생성된 특성을 기반으로 버킷의 데이터세트를 검색하거나 식별하는 데 유용합니다. 예를 들어 라이브 인벤토리 테이블을 사용하여 기계 학습용 훈련 데이터세트를 식별하거나, 스토리지 비용 최적화 연습에 사용하거나, 거버넌스 제어를 적용할 수 있습니다.
버킷에 새 객체를 추가하면 몇 분 내에 저널 테이블에 항목이 표시되고, 다음 시간별 새로 고침에서는 실시간 인벤토리 테이블에 항목이 표시됩니다. 기존 버킷에서 S3 메타데이터를 활성화하면 S3가 자동으로 백필 작업을 시작하여 모든 기존 객체에 대한 메타데이터를 생성합니다. 이 백필은 일반적으로 몇 분 안에 완료되지만 기존 데이터세트에 수백만 또는 수십억 개의 S3 객체가 포함된 경우 몇 시간이 걸릴 수도 있습니다.
S3 Inventory 보고서는 Amazon S3의 동기식 List API에 대한 예약된 대안을 제공합니다. 일 또는 주 단위로 S3 버킷이나 접두사에 대한 객체 및 해당 메타데이터를 CSV, ORC 또는 Parquet 파일 출력으로 제공하도록 S3 Inventory를 구성할 수 있습니다. S3 Inventory를 통해 비즈니스 워크플로와 빅 데이터 작업을 간소화 및 가속화할 수 있습니다. S3 인벤토리를 사용해 객체의 암호화 및 복제 상태를 확인함으로써 비즈니스, 규정 준수 및 규제 요구 사항을 충족할 수 있습니다. 자세한 내용은 Amazon S3 Inventory 사용 설명서를 참조하세요.
S3 Tables는 정형 데이터를 Apache Parquet, Avro 및 ORC 형식으로 저장하기 위해 특별히 구축된 S3 스토리지를 제공합니다. 테이블 버킷 내에서 S3에 직접 최고 수준의 리소스로 테이블을 생성할 수 있습니다. 이러한 테이블은 ID 또는 리소스 기반 정책에 정의된 테이블 수준 권한으로 보호할 수 있으며, Apache Iceberg 표준을 지원하는 애플리케이션 또는 도구에서 액세스할 수 있습니다. 테이블 버킷에 테이블을 생성하면 S3의 기본 데이터가 Parquet, Avro 또는 ORC 파일로 저장됩니다. 그런 다음 S3는 Apache Iceberg 표준을 사용하여 데이터를 애플리케이션에서 쿼리할 수 있도록 하는 데 필요한 메타데이터를 저장합니다. S3 Tables에는 쿼리 엔진이 테이블 버킷에 있는 테이블의 Iceberg 메타데이터를 탐색하고 업데이트하는 데 사용하는 클라이언트 라이브러리가 포함되어 있습니다. 이 라이브러리를 테이블 작업을 위해 업데이트된 S3 API와 함께 사용하면 여러 클라이언트가 테이블에서 데이터를 안전하게 읽고 쓸 수 있습니다. 시간 경과에 따라 S3는 객체를 다시 쓰거나 ‘압축’하여 기본 Parquet, Avro 또는 ORC 데이터를 자동으로 최적화합니다. 압축은 S3의 데이터를 최적화하여 쿼리 성능을 개선합니다.
S3 외부에서 인프라를 구축할 필요 없이 간단히 몇 단계만 거치면 S3 Tables를 시작할 수 있습니다. 먼저 S3 콘솔에서 테이블 버킷을 생성합니다. 콘솔을 통해 첫 번째 테이블 버킷을 생성할 때 AWS Analytics 서비스와의 통합이 자동으로 이루어지므로, S3가 AWS Glue Data Catalog의 계정과 리전에 있는 모든 테이블 버킷과 테이블을 자동으로 채울 수 있습니다. 그러면 Amazon Athena, EMR 및 Redshift와 같은 AWS 쿼리 엔진에서 S3 Tables에 액세스할 수 있게 됩니다. 다음으로, S3 콘솔에서 클릭하면 Amazon Athena를 사용하여 테이블이 생성됩니다. Athena에 도달하면 새 테이블을 빠르게 채우고 쿼리를 시작할 수 있습니다.
또는 AWS Glue Data Catalog를 통해 Iceberg REST Catalog 엔드포인트를 사용하여 S3 Tables에 액세스할 수 있습니다. 그러면 모든 테이블 리소스를 포함한 전체 데이터 자산을 검색할 수 있게 됩니다. 또한 개별 테이블 버킷 엔드포인트에 직접 연결하여 해당 버킷 내의 모든 S3 Tables 리소스를 검색할 수 있습니다. 이를 통해 Apache Iceberg REST 카탈로그 사양을 지원하는 모든 애플리케이션 또는 쿼리 엔진에서 S3 Tables를 사용할 수 있습니다.
범용 Amazon S3 버킷에 Iceberg 테이블을 저장하는 것에 비해 최대 3배 더 빠른 쿼리 성능과 최대 10배 더 많은 초당 트랜잭션(TPS)을 제공합니다. 이는 테이블 버킷이 테이블의 기본 Parquet, Avro 또는 ORC 데이터를 자동으로 압축하여 쿼리 성능을 최적화하고, 전용 스토리지는 기본적으로 최대 10배의 TPS를 지원하기 때문입니다.
테이블 버킷을 사용하면 전체 버킷 또는 개별 테이블에 리소스 정책을 적용할 수 있습니다. 테이블 버킷 정책은 PutTablePolicy 및 PutTableBucketPolicy API를 사용하여 적용할 수 있습니다. 테이블 수준 정책을 사용하면 개별 Parquet, Avro 또는 ORC 파일의 물리적 위치를 파악하지 않고도 연결된 논리적 테이블을 기반으로 테이블 버킷의 테이블에 대한 권한을 관리할 수 있습니다. 또한 S3 Block Public Access는 항상 테이블 버킷에 적용됩니다.
테이블 버킷은 Parquet, Avro 또는 ORC 데이터를 포함하는 Apache Iceberg 테이블 형식을 지원합니다.
S3 배치 작업에 대해 더 알고 싶다면 자습서 동영상을 시청하고 관련 설명서를 참조하세요.
또한, 일정 기간이 지난 후 객체를 삭제하도록 S3 수명 주기 정책을 지정할 수 있습니다. 이 정책 기반 자동화를 사용하여 빠르고 쉽게 스토리지 비용을 절감하고 시간을 절약할 수도 있습니다. 각 규칙에서 접두사, 기간, S3 Standard-IA, S3 One Zone-IA, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive로 전환 및/또는 만료를 지정할 수 있습니다. 예를 들어, 생성 후 30일이 경과되면 공통 접두사 ‘logs/’가 있는 모든 객체를 S3 Glacier Flexible Retrieval에 아카이브하고 생성 후 365일이 경과되면 이러한 객체를 만료하는 규칙을 생성할 수 있습니다.
또한, 접두사 ‘backups/’가 지정되어 있고 만든 지 90일 된 모든 객체만 만료되는 별도의 규칙을 만들 수 있습니다. S3 수명 주기 정책은 기존 및 새로운 S3 객체 모두에 적용되어 데이터 검토나 마이그레이션 같은 시간이 걸리는 수동 작업 없이 스토리지를 최적화하면서 S3에 보관된 모든 현재 데이터와 새 데이터에 대한 비용 절감을 극대화할 수 있습니다.
수명 주기 규칙에서 접두사 필드는 규칙에 따라 객체를 식별합니다. 개별 객체에 규칙을 적용하려면 키 이름을 지정합니다. 객체 세트에 규칙을 적용하려면 공통 접두사(예: “logs/”)를 지정합니다. 보관할 객체에 대한 이전 작업과 삭제할 객체에 대한 만료 작업을 지정할 수 있습니다. 기간의 경우, 생성일(예: 2015년 1월 31일) 또는 생성일로부터 며칠 후(예: 30일)에 객체를 보관 또는 삭제할지를 지정합니다. 서로 다른 접두사에 대해 여러 규칙을 만들 수 있습니다.
스토리지 분석 및 인사이트
모두 열기S3 Storage Lens 대시보드는 스토리지에 대해 답변할 수 있는 4가지 주요 질문 유형으로 구성되어 있습니다. 요약 필터를 사용하여 전체 스토리지 사용량 및 활동 추세와 관련된 최상위 질문을 탐색할 수 있습니다 (예: "시간이 지나면서 내 전체 바이트 수와 요청 수가 얼마나 빠르게 증가하고 있습니까?"). 비용 최적화 필터를 사용하여 스토리지 비용 절감과 관련된 질문을 탐색할 수 있습니다(예: "최신이 아닌 버전을 적게 유지하여 비용을 절감할 수 있습니까?"). 데이터 보호 및 액세스 관리 필터를 사용하여 데이터 보안에 대한 질문에 답할 수 있습니다(예: "내 스토리지가 우발적 또는 의도적 삭제로부터 보호됩니까?"). 마지막으로 성능 및 이벤트 필터를 사용하여 워크플로의 성능을 개선하는 방법을 탐색할 수 있습니다. 이러한 각 질문은 드릴다운 분석으로 이어질 수 있는 첫 번째 질문 계층을 나타냅니다.
기본 대시보드는 전체 계정에 자동으로 제공되도록 구성되며, AWS 조직, 특정 리전 또는 계정 내 버킷으로 범위 지정이 가능한 추가 사용자 지정 대시보드를 생성할 수 있는 옵션이 있습니다. 여러 개의 사용자 지정 대시보드를 설정할 수 있습니다. 이러한 대시보드는 다양한 내부 팀을 나타내기 위해 버킷을 세분화하는 것과 같이 스토리지 분석에서 일부 논리적 분리가 필요한 경우에 유용할 수 있습니다. 기본적으로 대시보드는 S3 Storage Lens 무료 지표를 수신하지만, S3 스토리지 렌즈 고급 지표와 권장 사항을 수신하도록 업그레이드할 수 있는 옵션이 있습니다(추가 비용 있음). S3 Storage Lens 고급 지표에는 활동 지표, 고급 비용 최적화 지표, 고급 데이터 보호 지표, 세부 상태 코드 지표, 접두사 집계, CloudWatch 게시 및 Storage Lens 그룹 집계의 7가지 고유한 옵션이 있습니다. 또한, 각 대시보드에 대해 대상 버킷과 암호화 유형을 지정하는 추가 옵션과 함께 지표 내보내기를 활성화할 수 있습니다.
S3 Storage Lens는 두 가지 계층의 지표로 제공됩니다. 무료 지표는 기본적으로 활성화되어 있으며 모든 S3 고객이 추가 비용 없이 사용할 수 있습니다. S3 Storage Lens 고급 지표와 권장 사항 요금 세부 정보는 S3 요금 페이지에서 확인할 수 있습니다. S3 Storage Lens 무료 지표를 사용하면 버킷 수준에서 28개의 지표를 수신하고 대시보드에서 14일 동안의 과거 데이터에 액세스할 수 있습니다. S3 Storage Lens 고급 지표 및 권장 사항을 통해 35개의 추가 지표, 접두사 수준 집계, CloudWatch 지표 지원, S3 Storage Lens 그룹을 사용한 사용자 지정 객체 메타데이터 필터링을 받고 대시보드에서 15개월 동안의 과거 데이터에 액세스할 수 있습니다.
현재 위치 쿼리
모두 열기복제
모두 열기수명 주기 구성 몇 복제에 대한 자세한 내용은 S3 Replication 설명서를 참조하세요.
예. S3 Replication을 사용하면 고객이 동일하거나 다른 AWS 리전의 여러 대상 버킷에 데이터를 복제할 수 있습니다. 설정할 때는 단순히 기존 복제 구성에 새 대상 버킷을 지정하거나 여러 대상 버킷이 있는 새 복제 구성을 생성합니다. 사용자가 지정하는 각각의 새 대상에 대해, 대상 버킷, 암호화 유형, 복제 지표와 알림, 복제 시간 제어(RTC) 및 기타 속성의 스토리지 클래스를 유연하게 선택할 수 있습니다.
Q: S3 Replication을 사용하여 S3 버킷 간의 양방향 복제를 설정할 수 있나요?
S3 Replication 요금에 대한 자세한 내용은 Amazon S3 요금 페이지를 참조하세요.
액티브-액티브 구성에서는, S3 다중 리전 액세스 포인트는 네트워크 정체 및 요청 애플리케이션의 위치와 같은 요소를 고려하여 데이터에서 최단 거리에 있는 복사본에 AWS 네트워크를 통해 요청을 동적으로 라우팅합니다. S3 다중 리전 액세스 포인트는 클라이언트와 가장 가까운 AWS 로케이션으로 요청을 라우팅한 뒤 글로벌 프라이빗 AWS 네트워크를 통해 S3로 보냅니다. 각 구성을 이용하여 S3 다중 리전 액세스 포인트는 간편한 애플리케이션 아키텍처를 유지하면서 AWS의 글로벌 인프라를 활용할 수 있습니다.
S3 CRR과 S3 다중 리전 액세스 포인트는 AWS 리전 전체에 데이터를 복제한 다음, 가장 지연 시간이 짧은 복제된 복사본에 요청을 자동으로 라우팅하기 위해 함께 작동하는 보완 기능입니다. S3 다중 리전 액세스 포인트는 AWS 리전 간 요청을 관리할 수 있도록 지원하며, 한편 CRR은 AWS 리전 간 데이터를 이동시켜 격리된 복제본을 만들 수 있도록 지원합니다. S3 다중 리전 액세스 포인트와 CRR을 함께 사용하여 단일 글로벌 엔드포인트를 통해 액세스할 수 있는 복제된 다중 리전 데이터세트를 생성합니다.
S3 다중 리전 액세스 포인트를 사용하여 AWS 내에서 요청을 라우팅하는 경우, 처리된 각 GB에 대해 저렴한 GB당 데이터 라우팅 요금과 S3 요청, 스토리지, 데이터 전송 및 복제에 대한 표준 요금을 지불합니다. 애플리케이션이 AWS 외부에서 실행되며 인터넷을 통해 S3에 액세스하는 경우, 글로벌 프라이빗 AWS 네트워크에서 AWS 엣지 로케이션을 통해 액세스 대기 시간을 기반으로 가장 가까운 데이터 복사본으로 요청을 자동으로 라우팅하여 S3 다중 리전 액세스 포인트의 성능이 증가합니다. 인터넷을 통해 이루어진 요청을 가속화하는 경우 데이터 라우팅 요금과 인터넷 가속화 요금을 지불합니다. S3 다중 리전 액세스 포인트 인터넷 가속화 요금은 소스 클라이언트가 대상 AWS 리전으로서 동일하거나 다른 로케이션이 있는지 여부에 따라 다르며, 표준 S3 데이터 전송 요금에 추가됩니다. S3 다중 리전 액세스 포인트 장애 조치 제어를 사용하면 각 리전의 현재 라우팅 제어 상태를 확인하는 것과 장애 조치를 시작하기 위한 라우팅 제어 변경 사항을 제출하는 것에 대한 표준 S3 API 요금만 부과됩니다. 더 많은 요금 정보를 알아보려면 Amazon S3 요금 페이지의 데이터 전송 탭을 참조하세요.
예. S3 다중 리전 액세스 포인트의 기본 버킷을 요청자 지불 버킷으로 구성할 수 있습니다. 요청자 지불을 사용하면 요청 비용, 버킷 및 다중 리전 액세스 포인트와 관련된 데이터 전송 비용을 포함하여 엔드포인트 사용과 관련된 모든 비용을 요청자가 지불합니다. 일반적으로 데이터를 공유하되 데이터에 액세스하는 다른 사람과 관련된 요금이 발생하지 않도록 하려면 버킷을 요청자 지불 버킷으로 구성하는 것이 좋습니다. 일반적으로는 버킷 소유자가 버킷과 연결된 모든 Amazon S3 스토리지에 대한 비용을 지불합니다. 자세히 알아보려면 S3 요청자 지불을 참조하세요.
S3 콘솔에서 간단한 워크플로 안내를 통해 S3에서 다중 리전 스토리지를 실행하는 데 필요한 모든 것을 3단계 만에 빠르게 설정할 수 있습니다. 첫 번째로, Amazon S3 다중 리전 액세스 포인트 엔드포인트를 생성하고 복제와 장애 조치를 수행할 AWS 리전을 지정합니다. 새 S3 다중 리전 액세스 포인트를 생성할 때 버킷 소유자의 계정 ID를 입력하여 여러 AWS 계정의 버킷을 새로운 S3 다중 리전 액세스 포인트에 추가할 수 있습니다. 두 번째로, S3 다중 리전 액세스 포인트 엔드포인트 뒤에 있는 각 AWS 리전 및 S3 버킷에 대해 라우팅 상태를 액티브 또는 패시브로 지정합니다. 액티브 AWS 리전은 S3 데이터 요청 트래픽을 허용하고, 패시브 리전은 장애 조치를 실행하기 전까지는 해당 리전으로 라우팅되지 않습니다. 세 번째로, S3 크로스 리전 복제 규칙을 구성하여 리전 및 계정 간에 S3 데이터를 동기화합니다. 그러면 언제든지 AWS 리전 간 장애 조치를 몇 분 만에 시작하여 S3 데이터 요청을 이동할 수 있으며, 새로운 액티브 AWS 리전으로 이동한 S3 트래픽을 Amazon CloudWatch에서 모니터링할 수 있습니다. 또는 AWS CloudFormation을 사용하여 다중 리전 스토리지 구성을 자동화할 수 있습니다. CloudFormation은 S3 다중 리전 액세스 포인트를 포함한 S3의 다중 리전 스토리지를 설정하는 데 필요한 모든 구성 요소를 지원하므로, S3 콘솔 외부에서 반복 가능한 설정 프로세스를 자동화할 수 있습니다.