고성능 워크로드

고성능 워크로드 (High performance workloads)

S3 Express One Zone

고성능 워크로드에는 Amazon S3 Express One Zone을 사용할 수 있어요. S3 Express One Zone은 단일 가용 영역(Availability Zone)을 선택하고 객체 스토리지와 컴퓨팅 리소스를 함께 배치(co-locate)할 수 있는 최초의 S3 스토리지 클래스로, 가능한 가장 높은 접근 속도를 제공해요. S3 Express One Zone의 객체는 가용 영역에 위치한 디렉터리 버킷에 저장돼요. 디렉터리 버킷에 대한 자세한 내용은 "디렉터리 버킷 (Directory buckets)"을 참고해요.

Amazon S3 Express One Zone은 대기 시간에 가장 민감한 애플리케이션을 위해 일관된 한 자릿수 밀리초(단일 자릿수 ms)의 데이터 접근을 제공하도록 특별히 설계된 고성능 단일 영역 Amazon S3 스토리지 클래스예요. S3 Express One Zone은 현재 사용 가능한 클라우드 객체 스토리지 클래스 중 가장 낮은 지연 시간을 제공하며, S3 Standard보다 데이터 접근 속도가 최대 10배 빠르고 요청 비용은 80% 더 낮아요. 애플리케이션은 요청이 한 자릿수 더 빠르게 완료되는 이점을 즉시 누릴 수 있어요. S3 Express One Zone은 다른 S3 스토리지 클래스와 비슷한 성능 탄력성을 제공해요. S3 Express One Zone은 일관된 한 자릿수 밀리초의 지연 시간이 필요한 워크로드나 성능에 중요한 애플리케이션에 사용해요.

다른 Amazon S3 스토리지 클래스와 마찬가지로 용량이나 처리량 요구 사항을 미리 계획하거나 프로비저닝할 필요가 없어요. 필요에 따라 스토리지를 늘리거나 줄일 수 있고, Amazon S3 API를 통해 데이터에 접근할 수 있어요.

Amazon S3 Express One Zone 스토리지 클래스는 단일 가용 영역 내에서 99.95% 가용성으로 설계됐고 Amazon S3 서비스 수준 계약(SLA)으로 보장돼요. S3 Express One Zone에서 데이터는 단일 가용 영역 내의 여러 장치에 중복(redundantly) 저장돼요. S3 Express One Zone은 손실된 중복성을 신속하게 감지·복구해 동시적인 장치 장애를 처리하도록 설계됐어요. 기존 장치에 장애가 발생하면 S3 Express One Zone은 가용 영역 내의 새 장치로 요청을 자동으로 이동시켜요. 이 중복성 덕분에 가용 영역 내에서 데이터에 중단 없는 접근이 보장돼요.

S3 Express One Zone은 객체에 접근하는 데 필요한 지연 시간을 최소화하는 것이 중요한 모든 애플리케이션에 이상적이에요. 그런 애플리케이션은 인간이 개입하는 워크플로우일 수 있는데, 예를 들어 영상 편집처럼 창작 전문가가 사용자 인터페이스에서 콘텐츠에 반응성 있게 접근해야 하는 경우가 있어요. S3 Express One Zone은 데이터에서 비슷한 반응성 요구 사항을 갖는 분석 및 머신러닝 워크로드, 특히 작은 접근이 많거나 많은 수의 무작위 접근이 있는 워크로드에도 유리해요. S3 Express One Zone은 Amazon EMR, Amazon SageMaker AI, Amazon Athena 같은 다른 AWS 서비스와 함께 사용해 분석 및 AI/ML 워크로드를 지원할 수 있어요.

S3 Express One Zone 스토리지 클래스를 사용하는 디렉터리 버킷의 경우 데이터는 단일 가용 영역 내의 여러 장치에 저장되지만, 가용 영역 전체에 걸쳐 중복 저장되지는 않아요. S3 Express One Zone 스토리지 클래스를 사용할 디렉터리 버킷을 만들 때는 성능 최적화를 위해 사용자의 Amazon EC2, Amazon Elastic Kubernetes Service 또는 Amazon Elastic Container Service(Amazon ECS) 컴퓨팅 인스턴스에 지역적으로 가까운 AWS 리전과 가용 영역을 지정할 것을 권장해요.

S3 Express One Zone을 사용할 때는 게이트웨이 VPC 엔드포인트(gateway VPC endpoint)를 이용해 가상 프라이빗 클라우드(VPC)에서 디렉터리 버킷과 상호작용할 수 있어요. 게이트웨이 엔드포인트를 사용하면 VPC에 인터넷 게이트웨이나 NAT 장치 없이도, 추가 비용 없이 VPC에서 S3 Express One Zone 디렉터리 버킷에 접근할 수 있어요.

일반 목적 버킷과 다른 스토리지 클래스에서 쓰는 Amazon S3 API 연산과 기능 중 상당수를 디렉터리 버킷에서도 그대로 쓸 수 있어요. 여기에는 Mountpoint for Amazon S3, Amazon S3 관리형 키를 이용한 서버 측 암호화(SSE-S3), AWS KMS 키를 이용한 서버 측 암호화(SSE-KMS), S3 Batch Operations, S3 Block Public Access가 포함돼요. S3 Express One Zone은 Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), AWS SDK, Amazon S3 REST API로 접근할 수 있어요.

S3 Express One Zone에 대한 자세한 내용은 다음 항목을 참고해요.

  • 개요(Overview)
  • S3 Express One Zone 기능
  • 관련 서비스(Related services)
  • 다음 단계(Next steps)

개요 (Overview)

성능을 최적화하고 지연 시간을 줄이기 위해 S3 Express One Zone은 다음과 같은 새로운 개념을 도입해요.

가용 영역 (Availability Zones)

Amazon S3 Express One Zone 스토리지 클래스는 단일 가용 영역 내에서 99.95% 가용성으로 설계됐고 Amazon S3 서비스 수준 계약(SLA)으로 보장돼요. S3 Express One Zone에서 데이터는 단일 가용 영역 내의 여러 장치에 중복 저장돼요. S3 Express One Zone은 손실된 중복성을 신속하게 감지·복구해 동시적인 장치 장애를 처리하도록 설계됐어요. 기존 장치에 장애가 발생하면 S3 Express One Zone은 가용 영역 내의 새 장치로 요청을 자동으로 이동시켜요. 이 중복성 덕분에 가용 영역 내에서 데이터에 중단 없는 접근이 보장돼요.

가용 영역은 AWS 리전에서 중복된 전원, 네트워킹, 연결성을 갖는 하나 이상의 개별 데이터 센터예요. 디렉터리 버킷을 만들 때 버킷이 위치할 가용 영역과 AWS 리전을 선택해요.

단일 가용 영역 (Single Availability Zone)

디렉터리 버킷을 만들 때 가용 영역과 AWS 리전을 선택해요.

디렉터리 버킷은 성능에 민감한 애플리케이션이 쓰도록 만들어진 S3 Express One Zone 스토리지 클래스를 사용해요. S3 Express One Zone은 단일 가용 영역을 선택하고 객체 스토리지와 컴퓨팅 리소스를 함께 배치할 수 있는 최초의 S3 스토리지 클래스로, 가능한 가장 높은 접근 속도를 제공해요.

S3 Express One Zone에서 데이터는 단일 가용 영역 내의 여러 장치에 중복 저장돼요. S3 Express One Zone은 단일 가용 영역 내에서 99.95% 가용성으로 설계됐고 Amazon S3 서비스 수준 계약(SLA)으로 보장돼요. 자세한 내용은 "가용 영역"을 참고해요.

엔드포인트와 게이트웨이 VPC 엔드포인트

디렉터리 버킷의 버킷 관리 API 연산은 리전 엔드포인트(Regional endpoint)를 통해 사용할 수 있고, 이를 리전 엔드포인트 API 연산이라고 해요. 리전 엔드포인트 API 연산의 예로는 CreateBucket과 DeleteBucket이 있어요. 디렉터리 버킷을 만든 뒤에는 존 엔드포인트( Zonal endpoint) API 연산으로 디렉터리 버킷의 객체를 업로드하고 관리할 수 있어요. 존 엔드포인트 API 연산은 존 엔드포인트를 통해 사용할 수 있고, 예로는 PutObject와 CopyObject가 있어요.

게이트웨이 VPC 엔드포인트로 VPC에서 S3 Express One Zone에 접근할 수 있어요. 게이트웨이 엔드포인트를 만든 뒤에는 VPC에서 S3 Express One Zone으로 향하는 트래픽에 대해 라우팅 테이블의 대상으로 추가할 수 있어요. Amazon S3와 마찬가지로 게이트웨이 엔드포인트 사용에는 추가 비용이 없어요. 게이트웨이 VPC 엔드포인트 구성 방법은 "디렉터리 버킷 네트워킹"을 참고해요.

세션 기반 인가 (Session-based authorization)

S3 Express One Zone에서는 가장 낮은 지연 시간을 제공하도록 최적화된 새로운 세션 기반 메커니즘으로 요청을 인증하고 인가해요. CreateSession을 사용해 버킷에 저지연 접근을 제공하는 임시 자격 증명을 요청할 수 있어요. 이 임시 자격 증명은 특정 S3 디렉터리 버킷으로 범위가 지정돼요. 세션 토큰은 존(객체 수준) 연산에만 사용돼요(CopyObject 제외). 자세한 내용은 "CreateSession으로 존 엔드포인트 API 연산 인가하기"를 참고해요.

S3 Express One Zone용으로 지원되는 AWS SDK는 세션 설정과 갱신을 대신 처리해 줘요. 세션을 보호하기 위해 임시 보안 자격 증명은 5분 후 만료돼요. AWS SDK를 다운로드·설치하고 필요한 AWS Identity and Access Management(IAM) 권한을 구성하면 바로 API 연산을 사용할 수 있어요.

S3 Express One Zone의 기능

다음 S3 기능을 S3 Express One Zone에서 사용할 수 있어요. 지원되는 API 연산의 전체 목록과 지원되지 않는 기능은 "디렉터리 버킷의 차이점 (Differences for directory buckets)"을 참고해요.

접근 관리와 보안

접근을 감사하고 관리하는 데 다음 기능을 사용할 수 있어요. 기본적으로 디렉터리 버킷은 프라이빗이고 명시적으로 접근 권한을 부여받은 사용자만 접근할 수 있어요. 일반 목적 버킷은 버킷·프리픽스·객체 태그 수준에서 접근 제어 경계를 설정할 수 있는 반면, 디렉터리 버킷의 접근 제어 경계는 버킷 수준에서만 설정해요. 자세한 내용은 "리전 엔드포인트 API 연산을 IAM으로 인가하기"를 참고해요.

  • S3 Block Public Access – 모든 S3 Block Public Access 설정이 기본적으로 버킷 수준에서 활성화돼요. 이 기본 설정은 수정할 수 없어요.
  • S3 객체 소유권(Object Ownership)(기본적으로 bucket owner enforced) – 디렉터리 버킷에서는 접근 제어 목록(ACL)이 지원되지 않아요. 디렉터리 버킷은 S3 객체 소유권에 bucket owner enforced 설정을 자동으로 사용해요. bucket owner enforced는 ACL이 비활성화되고 버킷 소유자가 버킷의 모든 객체를 자동으로 소유하고 완전한 제어권을 갖는다는 뜻이에요. 이 기본 설정은 수정할 수 없어요.
  • AWS Identity and Access Management(IAM) – IAM은 디렉터리 버킷에 대한 접근을 안전하게 제어하는 데 도움을 줘요. IAM으로 s3express:CreateSession 작업을 통해 버킷 관리(리전) API 연산과 객체 관리(존) API 연산에 대한 접근을 부여할 수 있어요. 자세한 내용은 "리전 엔드포인트 API 연산을 IAM으로 인가하기"를 참고해요. 객체 관리 작업과 달리 버킷 관리 작업은 교차 계정(cross-account)일 수 없어요. 버킷 소유자만 해당 작업을 수행할 수 있어요.
  • 버킷 정책(Bucket policies) – IAM 기반 정책 언어로 디렉터리 버킷에 리소스 기반 권한을 구성해요. IAM으로 존(객체 관리) API 연산을 사용할 수 있게 해 주는 CreateSession API 연산에 대한 접근도 제어할 수 있어요. 존 API 연산에 같은 계정이나 교차 계정 접근을 부여할 수 있어요. S3 Express One Zone 권한과 정책에 대한 자세한 내용은 "리전 엔드포인트 API 연산을 IAM으로 인가하기"를 참고해요.
  • IAM Access Analyzer for S3 – 접근 정책을 평가·모니터링해 정책이 S3 리소스에 의도된 접근만 제공하는지 확인해요.

로깅과 모니터링

S3 Express One Zone은 리소스가 어떻게 사용되고 있는지 모니터링·제어하는 데 쓰는 다음 S3 로깅·모니터링 도구를 사용해요:

  • Amazon CloudWatch 지표 – CloudWatch로 지표를 수집·추적해 AWS 리소스와 애플리케이션을 모니터링해요. S3 Express One Zone은 다른 Amazon S3 스토리지 클래스와 같은 CloudWatch 네임스페이스(AWS/S3)를 사용하고, 디렉터리 버킷의 일일 스토리지 지표인 BucketSizeBytes와 NumberOfObjects를 지원해요. 자세한 내용은 "Amazon CloudWatch로 지표 모니터링하기"를 참고해요.
  • AWS CloudTrail 로그 – AWS CloudTrail은 사용자·역할·AWS 서비스가 수행한 작업을 기록해 AWS 계정의 운영·위험 감사, 거버넌스, 규정 준수를 구현하도록 돕는 AWS 서비스예요. S3 Express One Zone에서 CloudTrail은 리전 엔드포인트 API 연산(예: CreateBucket, PutBucketPolicy)을 관리 이벤트로, 존 API 연산(예: GetObject, PutObject)을 데이터 이벤트로 캡처해요. 이 이벤트에는 AWS Management Console, AWS Command Line Interface(AWS CLI), AWS SDK, AWS API 연산에서 수행한 작업이 포함돼요. 자세한 내용은 "S3 Express One Zone용 AWS CloudTrail 로깅"을 참고해요.

참고: Amazon S3 서버 접근 로그는 S3 Express One Zone에서 지원되지 않아요.

객체 관리

Amazon S3 콘솔, AWS SDK, AWS CLI로 객체 스토리지를 관리할 수 있어요. S3 Express One Zone에서 객체 관리에 사용할 수 있는 기능은 다음과 같아요:

  • S3 Batch Operations – Batch Operations로 디렉터리 버킷의 객체에 일괄 작업을 수행해요(예: 복사, AWS Lambda 함수 호출). 예를 들어 Batch Operations로 디렉터리 버킷과 일반 목적 버킷 사이에 객체를 복사할 수 있어요. Batch Operations를 사용하면 AWS SDK나 AWS CLI, 또는 Amazon S3 콘솔에서 몇 번의 클릭만으로 단일 S3 요청으로 수십억 개의 객체를 대규모로 관리할 수 있어요.
  • 가져오기(Import) – 디렉터리 버킷을 만든 뒤 Amazon S3 콘솔의 가져오기 기능을 사용해 버킷에 객체를 채울 수 있어요. 가져오기는 일반 목적 버킷의 객체를 디렉터리 버킷으로 복사하는 Batch Operations 작업을 만드는 간편한 방법이에요.

AWS SDK와 클라이언트 라이브러리

AWS SDK와 클라이언트 라이브러리로 객체 스토리지를 관리할 수 있어요.

  • Mountpoint for Amazon S3 – Mountpoint for Amazon S3는 Amazon S3 데이터 레이크의 컴퓨팅 비용을 낮춰 주는 고처리량 접근을 제공하는 오픈 소스 파일 클라이언트예요. Mountpoint for Amazon S3는 로컬 파일 시스템 API 호출을 GET과 LIST 같은 S3 객체 API 호출로 변환해요. 페타바이트 규모의 데이터를 처리하고 수천 개의 인스턴스에서 확장·축소되는 Amazon S3의 높은 탄력적 처리량이 필요한 읽기 위주 데이터 레이크 워크로드에 이상적이에요.
  • S3A – S3A는 Amazon S3의 데이터 저장소에 접근하기 위해 권장되는 Hadoop 호환 인터페이스예요. S3A는 S3N Hadoop 파일 시스템 클라이언트를 대체해요.
  • PyTorch on AWS – PyTorch on AWS는 머신러닝 모델을 개발하고 프로덕션에 배포하기 쉽게 만드는 오픈 소스 딥러닝 프레임워크예요.
  • AWS SDK – Amazon S3로 애플리케이션을 개발할 때 AWS SDK를 사용할 수 있어요. AWS SDK는 기본 Amazon S3 REST API를 감싸 프로그래밍 작업을 단순화해 줘요. S3 Express One Zone에서 AWS SDK 사용에 대한 자세한 내용은 "AWS SDK"를 참고해요.

암호화와 데이터 보호

S3 Express One Zone의 객체는 Amazon S3 관리형 키를 이용한 서버 측 암호화(SSE-S3)로 자동 암호화돼요. S3 Express One Zone은 AWS Key Management Service(AWS KMS) 키를 이용한 서버 측 암호화(SSE-KMS)도 지원해요. S3 Express One Zone은 고객 제공 암호화 키를 이용한 서버 측 암호화(SSE-C)나 AWS KMS 키를 이용한 이중 계층 서버 측 암호화(DSSE-KMS)는 지원하지 않아요. 자세한 내용은 "데이터 보호와 암호화"를 참고해요.

S3 Express One Zone은 업로드·다운로드 중 데이터를 검증하는 데 사용할 체크섬 알고리즘을 고를 수 있는 옵션을 제공해요. 다음 보안 해시 알고리즘(SHA) 또는 순환 중복 검사(CRC) 데이터 무결성 검사 알고리즘 중 하나를 선택할 수 있어요: CRC32, CRC32C, SHA-1, SHA-256. S3 Express One Zone 스토리지 클래스에서는 MD5 기반 체크섬이 지원되지 않아요.

자세한 내용은 "S3 추가 체크섬 모범 사례"를 참고해요.

AWS Signature Version 4 (SigV4)

S3 Express One Zone은 AWS Signature Version 4(SigV4)를 사용해요. SigV4는 HTTPS를 통해 Amazon S3에 대한 요청을 인증하는 데 사용하는 서명 프로토콜이에요. S3 Express One Zone은 요청에 AWS Sigv4로 서명해요. 자세한 내용은 Amazon Simple Storage Service API Reference의 "요청 인증 (AWS Signature Version 4)"을 참고해요.

강력한 일관성 (Strong consistency)

S3 Express One Zone은 모든 AWS 리전에서 디렉터리 버킷의 객체에 대한 PUT·DELETE 요청에 강력한 읽기-후-쓰기(read-after-write) 일관성을 제공해요. 자세한 내용은 "Amazon S3 데이터 일관성 모델"을 참고해요.

특정 저지연 사용 사례를 지원하기 위해 S3 Express One Zone 스토리지 클래스와 함께 다음 AWS 서비스를 사용할 수 있어요.

  • Amazon Elastic Compute Cloud(Amazon EC2) – Amazon EC2는 AWS 클라우드에서 안전하고 확장 가능한 컴퓨팅 용량을 제공해요. EC2를 사용하면 하드웨어에 미리 투자할 필요가 줄어들어 애플리케이션을 더 빨리 개발·배포할 수 있어요. EC2로 필요한 만큼의 가상 서버를 실행하고, 보안과 네트워킹을 구성하며, 스토리지를 관리할 수 있어요.
  • AWS Lambda – Lambda는 서버를 프로비저닝하거나 관리하지 않고 코드를 실행할 수 있게 해 주는 컴퓨팅 서비스예요. 버킷에 알림 설정을 구성하고, 함수의 리소스 기반 권한 정책에 Amazon S3가 함수를 호출할 권한을 부여해요.
  • Amazon Elastic Kubernetes Service(Amazon EKS) – Amazon EKS는 AWS에서 자체 Kubernetes 컨트롤 플레인을 설치·운영·유지할 필요가 없게 해 주는 관리형 서비스예요. Kubernetes는 컨테이너화된 애플리케이션의 관리, 확장, 배포를 자동화하는 오픈 소스 시스템이에요.
  • Amazon Elastic Container Service(Amazon ECS) – Amazon ECS는 컨테이너화된 애플리케이션을 쉽게 배포·관리·확장하도록 돕는 완전 관리형 컨테이너 오케스트레이션 서비스예요.
  • AWS Key Management Service(AWS KMS) – AWS KMS는 데이터를 암호화하는 데 사용하는 암호화 키를 쉽게 생성·제어할 수 있게 해 주는 AWS 관리형 서비스예요. AWS KMS에서 만든 AWS KMS 키는 FIPS 140-2 검증 하드웨어 보안 모듈(HSM)로 보호돼요. KMS 키를 사용하거나 관리하려면 AWS KMS와 상호작용해야 해요.
  • Amazon Athena – Athena는 표준 SQL을 사용해 Amazon S3의 데이터를 직접 쉽게 분석할 수 있게 해 주는 대화형 쿼리 서비스예요. Athena로 Apache Spark를 사용해 리소스를 계획·구성·관리하지 않고도 데이터 분석을 대화형으로 실행할 수도 있어요. Athena에서 Apache Spark 애플리케이션을 실행하면 Spark 코드를 제출해 처리하고 결과를 직접 받아요.
  • Amazon SageMaker Training – 기본 제공 알고리즘, 사용자 지정 알고리즘, 라이브러리, AWS Marketplace의 모델을 포함해 Amazon SageMaker로 모델을 훈련하는 옵션을 검토해요.
  • AWS Glue – AWS Glue는 분석 사용자가 여러 소스의 데이터를 쉽게 검색·준비·이동·통합할 수 있게 해 주는 서버리스 데이터 통합 서비스예요. AWS Glue를 분석, 머신러닝, 애플리케이션 개발에 사용할 수 있어요. AWS Glue에는 작업을 작성·실행하고 비즈니스 워크플로우를 구현하기 위한 생산성 및 데이터 옵스 도구도 포함돼 있어요.
  • Amazon EMR – Amazon EMR은 AWS에서 Apache Hadoop과 Apache Spark 같은 빅데이터 프레임워크를 실행해 막대한 양의 데이터를 처리·분석하기 쉽게 해 주는 관리형 클러스터 플랫폼이에요.
  • AWS CloudTrail – AWS CloudTrail은 AWS 계정의 운영·위험 감사, 거버넌스, 규정 준수를 활성화하도록 돕는 AWS 서비스예요. 사용자·역할·AWS 서비스가 수행한 작업이 CloudTrail의 이벤트로 기록돼요. 이벤트에는 AWS Management Console, AWS Command Line Interface, AWS SDK와 API에서 수행한 작업이 포함돼요.
  • AWS CloudFormation – CloudFormation은 AWS 리소스를 모델링하고 구성해 주는 서비스로, 리소스 관리에 쓰는 시간을 줄이고 AWS에서 실행되는 애플리케이션에 더 집중할 수 있게 해 줘요. 원하는 모든 AWS 리소스(예: Amazon EC2 인스턴스나 Amazon RDS DB 인스턴스)를 설명하는 템플릿을 만들면 CloudFormation이 그 리소스를 프로비저닝·구성해 줘요. 각 리소스를 개별적으로 만들고 구성하고 의존 관계를 파악할 필요 없이 CloudFormation이 처리해 줘요.

다음 단계 (Next steps)

S3 Express One Zone 스토리지 클래스와 디렉터리 버킷 작업에 대한 자세한 내용은 다음 항목을 참고해요:

더 알아보기 (Learn more)