Amazon S3는 특정 사용 사례를 지원하고, 비용 효율을 실현하며, 보안을 강화하고, 규정 준수 요건을 충족하는 방식으로 데이터를 구성하고 관리하는 데 사용할 수 있는 다양한 기능을 제공합니다. 데이터는 “버킷”이라는 리소스에 객체로 저장되며, 한 객체의 크기는 최대 5테라바이트까지 가능합니다. S3 기능에는 객체에 메타데이터 태그를 추가하고, S3 스토리지 클래스에서 데이터를 이동 및 저장하며, 데이터 액세스 제어를 구성 및 적용하고, 무단 사용자로부터 데이터를 보호하고, 빅 데이터 분석을 실행하고, 객체와 버킷 수준에서 데이터를 모니터링하고 조직 전체의 스토리지 사용량 및 활동 추세를 보는 기능이 포함됩니다. 객체는 S3 액세스 포인트를 통해서 액세스하거나 버킷 호스트 이름을 통해 직접 액세스할 수 있습니다.
스토리지 관리 및 모니터링
Amazon S3의 비계층적인 플랫 구조와 다양한 관리 기능은 규모나 업종과 상관없이 고객이 비즈니스와 팀에 가치 있는 방식으로 데이터를 구성할 수 있도록 도와줍니다. 모든 객체는 S3 버킷에 저장되며, 접두사라고 하는 공유 이름을 사용하여 구성할 수 있습니다. S3 객체 태그라고 하는 키-값 페어를 최대 10개까지 각 객체에 추가할 수도 있으며, 이러한 페어는 객체의 수명 주기 동안 생성 및 업데이트하고 삭제할 수 있습니다. 객체와 해당 태그, 버킷 및 접두사를 추적하려면 S3 버킷에 저장된 객체 또는 특정 접두사와 해당 메타데이터 및 암호화 상태를 보여 주는 S3 인벤토리 보고서를 사용하십시오. 일간 또는 주간 보고서를 생성하도록 S3 인벤토리를 구성할 수 있습니다.
스토리지 관리
S3 버킷 이름, 접두사, 객체 태그, S3 인벤토리를 사용하면 다양한 방법으로 데이터를 분류하고 보고서를 생성할 수 있으며, 이에 따라 다른 S3 기능에서 작업을 수행하도록 구성할 수 있습니다. S3 배치 작업은 저장하는 객체 수가 수천 개든 수십억 개든 상관없이 어떤 규모에서도 Amazon S3의 데이터를 간편하게 관리할 수 있게 합니다. S3 배치 작업을 사용하면 단일 S3 API 요청 또는 S3 콘솔에서 몇 단계만으로 버킷 간에 객체를 복사하고, 객체 태그 세트를 교체하고, 액세스 제어를 수정하고, S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive 스토리지 클래스에서 아카이브된 객체를 복원할 수 있습니다. 또한 S3 배치 작업을 통해 객체에 대해 AWS Lambda 함수를 실행하여 데이터를 처리하거나 이미지 파일을 트랜스코딩하는 등의 사용자 지정 비즈니스 로직을 실행할 수 있습니다. 시작하려면 S3 인벤토리 보고서를 사용하거나 사용자 지정 목록을 제공하여 대상 객체 목록을 지정한 후, 제공되는 메뉴에서 원하는 작업을 선택하세요. S3 배치 작업 요청이 완료되면 알림이 수신되고 모든 변경 사항에 대한 완료 보고서가 제공됩니다. 동영상 튜토리얼을 보고 S3 배치 작업에 대해 자세히 알아보세요.
Amazon S3는 데이터 버전 관리, 우발적 삭제 방지, 동일하거나 다른 AWS 리전의 데이터 복제 등의 기능도 지원합니다. S3 버저닝 기능을 사용하면 Amazon S3에 저장된 객체의 모든 버전을 보존, 검색 및 복원할 수 있으므로, 의도하지 않은 사용자 작업이 발생하거나 애플리케이션 오류 시 복구할 수 있습니다. 실수로 삭제되는 사고를 방지하려면 S3 버킷에 대해 다중 인증(MFA) 삭제를 활성화하세요. MFA 삭제가 활성화된 버킷에 저장된 객체를 삭제하려면 AWS 계정 자격 증명과 유효한 일련번호 연결, 공백 및 승인된 인증 디바이스에 표시되는 6자리 코드(하드웨어 키 fob 또는 U2F(Universal 2nd Factor) 보안 키 등)의 두 가지 인증이 필요합니다.
S3 복제를 사용하면 대기 시간 감소, 규정 준수, 보안, 재해 복구 및 기타 사용 사례를 위해 하나 이상의 대상 버킷에 대한 객체(객체의 메타데이터와 객체 태그 포함)를 동일하거나 다른 AWS 리전에 복제할 수 있습니다. S3 리전 간 복제(CRR)는 소스 S3 버킷에서 다른 AWS 리전의 하나 이상의 대상 버킷으로 복제하도록 구성할 수 있습니다. S3 동일 리전 복제(SRR)는 동일한 AWS 리전의 버킷 간에 객체를 복제합니다. CRR 및 SRR과 같은 라이브 복제는 새로 업로드된 객체를 버킷에 쓰는 대로 자동으로 복제하는 반면, S3 배치 복제는 기존 객체를 복제할 수 있도록 합니다. S3 배치 복제를 사용하여 새로 생성된 버킷을 기존 객체로 백필하고 이전에 복제할 수 없었던 객체를 재시도하고 데이터를 계정 전체로 마이그레이션하거나 새 버킷을 데이터 레이크에 추가할 수 있습니다. Amazon S3 Replication Time Control(S3 RTC)은 복제 시간에 대한 SLA 및 가시성을 제공하여 데이터 복제와 관련된 규정 준수 요건을 충족할 수 있도록 지원합니다.
여러 AWS 리전에서 S3 버킷의 복제된 데이터 세트에 액세스하려면 Amazon S3 다중 리전 액세스 포인트를 사용하여 애플리케이션과 클라이언트가 위치에 관계없이 사용할 수 있는 단일 글로벌 엔드포인트를 생성합니다. 이 글로벌 엔드포인트를 통해 단일 리전에서 사용할 동일하고 단순한 아키텍처로 다중 리전 애플리케이션을 구축한 다음, 전 세계 어디서나 이러한 애플리케이션을 실행할 수 있습니다. Amazon S3 다중 리전 액세스 포인트는 여러 AWS 리전 전체에 복제되는 데이터 세트에 액세스할 때 최대 60%까지 성능을 가속화할 수 있습니다. S3 다중 리전 액세스 포인트는 AWS Global Accelerator를 기반으로 네트워크 정체 및 요청 애플리케이션의 위치와 같은 요소를 고려하여 데이터의 최단 지연 복사를 위해 AWS 네트워크에 대한 요청을 동적으로 라우팅합니다. S3 다중 리전 액세스 포인트 장애 조치 제어를 사용하면 AWS 리전 간에 복제된 데이터 세트 간에 장애 조치를 수행할 수 있으므로 몇 분 안에 S3 데이터 요청 트래픽을 대체 AWS 리전으로 이동할 수 있습니다.
S3 객체 잠금 기능을 사용하여 WORM(Write-Once-Read-Many) 정책을 적용할 수도 있습니다. 이 S3 관리 기능은 고객이 정의한 보존 기간 동안 객체 버전 삭제를 차단함으로써 데이터 보호를 위한 추가 계층으로 또는 규정 준수 의무를 위해 보존 정책을 적용할 수 있습니다. 워크로드를 기존 WORM 시스템에서 Amazon S3로 마이그레이션하고 객체 및 버킷 수준에서 S3 객체 잠금을 구성하여 미리 지정한 보존 기한 날짜 또는 법적 보존 날짜 전에 객체 버전이 삭제되지 않도록 할 수 있습니다. S3 객체 잠금을 사용하는 객체는 S3 수명 주기 정책을 사용하는 다른 스토리지 클래스로 이동할 경우에도 WORM 보호를 유지합니다. S3 객체 잠금을 사용하는 객체를 추적하려면 객체의 WORM 상태를 포함하는 S3 인벤토리 보고서를 참조하십시오. S3 객체 잠금은 두 가지 모드 중 하나로 구성할 수 있습니다. 거버넌스 모드로 배포할 경우, 특정 IAM 권한을 가진 AWS 계정은 객체에서 S3 객체 잠금을 제거할 수 있습니다. 규정을 준수하기 위해 더 강력한 변경 불가능 지원이 필요한 경우 규정 준수 모드를 사용할 수 있습니다. 규정 준수 모드에서는 루트 계정을 포함한 어떤 사용자도 보호를 해제할 수 없습니다.
스토리지 모니터링
이러한 관리 기능 외에도 Simple Storage Service(Amazon S3) 기능 및 기타 AWS 서비스를 사용하여 S3 리소스를 모니터링하고 제어합니다. 여러 비즈니스 차원(예: 비용 센터, 애플리케이션 이름, 소유자 등)에 비용을 할당하여 S3 버킷에 태그를 적용하며, 그런 다음 AWS 비용 할당 보고서를 사용하여 버킷 태그를 통해 집계된 사용량 및 비용을 볼 수 있습니다. 또한 Amazon CloudWatch를 사용하여 AWS 리소스의 운영 상태를 추적하고, 예상 비용이 사용자가 정의한 한도에 도달할 경우 결제 알림을 받도록 구성할 수 있습니다. AWS CloudTrail을 사용하여 버킷 및 객체 수준 활동을 추적하고 보고하며, S3 이벤트 알림을 구성하여 S3 리소스에 특정 변경 사항이 발생했을 때 워크플로 및 알림을 트리거하거나 AWS Lambda를 호출합니다. S3 이벤트 알림은 미디어 파일이 S3에 업로드될 때 미디어 파일을 자동으로 트랜스코딩하고, 사용 가능한 데이터 파일을 처리하며, 객체를 다른 데이터 저장소와 동기화합니다. 또한 Amazon S3에서 전송하고 수신하는 데이터의 무결성을 확인하고 GetObjectAttributes S3 API 또는 S3 인벤토리 보고서를 사용하여 언제든지 체크섬 정보에 액세스할 수 있습니다. 애플리케이션 요구 사항에 따라 업로드 및 다운로드 요청에 대한 데이터 무결성 검사에 지원되는 4가지 체크섬 알고리즘(SHA-1, SHA-256, CRC32 또는 CRC32C) 중에서 선택할 수 있습니다.
이러한 관리 기능 외에도 S3 기능 및 기타 AWS 서비스를 사용하여 S3 리소스가 어떻게 사용되는지 모니터링하고 제어할 수 있습니다. 여러 비즈니스 차원(예: 비용 센터, 애플리케이션 이름, 소유자 등)에 비용을 할당하여 S3 버킷에 태그를 적용할 수 있으며, 그런 다음 AWS 비용 할당 보고서를 사용하여 버킷 태그를 통해 집계된 사용량 및 비용을 볼 수 있습니다. Amazon CloudWatch를 사용하여 AWS 리소스의 운영 상태를 추적하고, 예상 비용이 사용자가 정의한 한도에 도달할 경우 결제 알림을 받도록 구성할 수 있습니다. 또 다른 AWS 모니터링 서비스는 버킷 수준 활동과 객체 수준 활동을 추적하고 보고하는 AWS CloudTrail입니다. S3 리소스에 대해 특정 변경이 이루어질 경우 워크플로, 알림을 트리거하고 AWS Lambda를 호출하도록 S3 이벤트 알림을 구성할 수 있습니다. S3 이벤트 알림은 미디어 파일이 Amazon S3에 업로드될 때 미디어 파일을 자동으로 트랜스코딩하거나, 사용 가능한 데이터 파일을 처리하거나, 객체를 다른 데이터 저장소와 동기화하기 위해 사용할 수 있습니다.
S3 스토리지 관리 및 모니터링에 대해 자세히 알아보기 »
스토리지 분석 및 인사이트
S3 Storage Lens
S3 Storage Lens는 객체 스토리지 사용 및 활동 추세에 대한 조직 전체의 가시성을 제공하고 실행 가능한 권장 사항을 제공하여 비용 효율성을 개선하고 데이터 보호 모범 사례를 적용합니다. S3 Storage Lens는 계정, 버킷 또는 접두사 수준에서 인사이트를 생성하기 위한 드릴 다운과 함께 조직의 수백 또는 수천 개 계정에 걸쳐 객체 스토리지 사용 및 활동에 대한 단일 보기를 제공하는 최초의 클라우드 스토리지 분석 솔루션입니다. 고객이 스토리지를 최적화하도록 지원한 14년 이상의 경험을 바탕으로 S3 Storage Lens는 조직 전체의 지표를 분석하여 상황에 맞는 권장 사항을 제공함으로써 스토리지 비용을 줄일 수 있는 방법을 찾고 데이터 보호에 대한 모범 사례를 적용합니다. 자세한 내용은 스토리지 분석 및 인사이트 페이지를 참조하세요.
S3 스토리지 클래스 분석
Amazon S3 스토리지 클래스 분석을 사용하면 스토리지 액세스 패턴을 분석하고 해당하는 데이터를 적절한 스토리지 클래스로 전환하는 시점을 결정하는 데 도움이 됩니다. 이 Amazon S3 기능은 데이터 액세스 패턴을 관찰하여 자주 액세스하지 않는 스토리지를 낮은 비용의 스토리지 클래스로 전환할 시기를 결정하도록 도와줍니다. 결과를 사용하여 S3 수명 주기 정책을 개선할 수 있습니다. 버킷의 모든 객체를 분석하도록 스토리지 클래스 분석을 구성할 수 있습니다. 또는 공통 접두사나 객체 태그를 기준으로 분석하거나 접두사와 태그 모두를 기준으로 분석하기 위해 객체를 그룹화하도록 필터를 구성할 수 있습니다. 자세한 내용은 스토리지 분석 및 인사이트 페이지를 참조하세요.
스토리지 클래스
Amazon S3를 사용하면 S3 Intelligent-Tiering, S3 Standard, S3 Standard-Infrequent Access(S3 Standard-IA), S3 One Zone-Infrequent Access(S3 One Zone-IA), S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, and S3 Outposts 등의 특정 사용 사례 및 액세스 패턴을 위해 특별히 구축된 다양한 S3 스토리지 클래스에 걸쳐 데이터를 저장할 수 있습니다.
모든 S3 스토리지 클래스는 해당 비용 또는 지역에서 특정 데이터 액세스 수준을 지원합니다.
데이터 레이크, 분석 또는 새로운 애플리케이션과 같이 액세스 패턴이 변경되거나 알 수 없거나 예측할 수 없는 데이터의 경우 스토리지 비용을 자동으로 최적화하는 S3 Intelligent-Tiering을 사용하세요. S3 Intelligent-Tiering은 빈도가 높은 액세스, 빈도가 낮은 액세스 및 드문 액세스에 최적화된 3개의 대기 시간이 짧은 액세스 티어 간에 데이터를 자동으로 이동합니다. 객체의 하위 집합이 시간이 지남에 따라 아카이브되면 비동기식 액세스를 위해 설계된 아카이브 액세스 티어를 활성화할 수 있습니다.
보다 예측 가능한 액세스 패턴을 위해 자주 액세스하는 미션 크리티컬 프로덕션 데이터는 S3 Standard에 저장하고, 자주 액세스하지 않는 데이터는 S3 Standard-IA 또는 S3 One Zone-IA에 저장하여 비용을 절감하고, 아카이브 데이터는 S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive 등의 아카이브 스토리지 클래스에 가장 저렴한 비용으로 보관할 수 있습니다 S3 스토리지 클래스 분석을 사용하면, 객체의 액세스 패턴을 모니터링하여 더 저렴한 요금의 스토리지 클래스로 이동할 데이터를 검색할 수 있습니다. 그런 다음 이 정보를 사용하여 데이터를 이동하는 S3 수명 주기 정책을 구성할 수 있습니다. S3 수명 주기 정책을 수명 주기가 종료된 객체를 만료시키는 데 사용할 수도 있습니다.
기존 AWS 리전으로 해결할 수 없는 데이터 레지던시 요구 사항이 있다면 S3 on Outposts를 통해 S3 Outposts 스토리지 클래스를 사용해서 S3 데이터를 온프레미스에 저장할 수 있습니다.
S3 스토리지 클래스, S3 스토리지 클래스 분석, S3 수명 주기 관리에서 자세히 알아보기 »
액세스 관리 및 보안
액세스 관리
Amazon S3의 데이터를 보호하기 위해 기본적으로 사용자는 직접 생성한 S3 리소스에 대한 액세스 권한만 가집니다. 사용자를 생성하고 액세스를 관리하는 AWS Identity and Access Management(IAM), 권한 있는 사용자에 대해 개별 객체를 액세스할 수 있게 하는 액세스 제어 목록(ACL), 단일 S3 버킷 내 모든 객체에 대한 권한을 구성하는 버킷 정책, 각 애플리케이션 또는 애플리케이션 세트에 대해 특정된 이름과 권한으로 액세스 포인트를 생성하여 공유 데이터에 대한 데이터 액세스 관리를 간소화하는 S3 액세스 포인트, 임시 URL을 사용하여 다른 사용자에게 기간이 제한된 액세스를 부여하는 쿼리 문자열 인증 등의 액세스 관리 기능을 조합하여 사용함으로써 다른 사용자에게 액세스 권한을 부여할 수 있습니다. 또한 Amazon S3는 누가 어떤 데이터에 액세스하는지를 완벽하게 볼 수 있도록 하기 위해 S3 리소스에 대한 요청 목록을 표시하는 감사 로그를 지원합니다.
보안
Amazon S3는 권한 없는 사용자가 데이터에 액세스하지 못하도록 차단하기 위한 유연한 보안 기능을 제공합니다. VPC 엔드포인트를 사용하여 Amazon Virtual Private Cloud(Amazon VPC)와 온프레미스에서 S3 리소스에 연결할 수 있습니다. Amazon S3는 모든 버킷에 업로드되는 모든 새 데이터를 암호화합니다(2023년 1월 5일 기준). Amazon S3는 데이터 업로드에 서버 측 암호화(세 가지 키 관리 옵션 사용)와 클라이언트측 암호화를 모두 지원합니다. S3 인벤토리를 사용하여 S3 객체의 암호화 상태를 확인할 수 있습니다(S3 인벤토리에 대한 자세한 정보는 스토리지 관리 참조).
S3 퍼블릭 액세스 차단은 S3 버킷과 객체가 퍼블릭 액세스 권한을 갖지 못하도록 하는 보안 제어 세트입니다. Amazon S3 Management Console에서 클릭 몇 번만 하면 해당 AWS 계정의 모든 버킷 또는 특정 S3 버킷에 대해 Amazon S3 퍼블릭 액세스 차단 설정을 적용할 수 있습니다. AWS 계정에 이 설정이 적용되면 해당 계정과 연결된 기존 버킷이나 새 버킷과 객체도 퍼블릭 액세스 차단 설정을 물려받게 됩니다. S3 퍼블릭 액세스 차단 설정은 다른 S3 액세스 권한을 재정의하기 때문에 계정 관리자는 기존의 액세스 권한이나 객체 추가 방식, 버킷 생성 방식 또는 기존 액세스 권한 존재 여부와 관계없이 "퍼블릭 액세스 전면 금지" 정책을 손쉽게 적용할 수 있습니다. S3 퍼블릭 액세스 차단 통제는 감사가 가능하고, 추가적인 통제 계층을 제공하며, AWS Trusted Advisor 버킷 권한 검사, AWS CloudTrail 로그, Amazon CloudWatch 경보를 사용합니다. 퍼블릭 액세스를 원하지 않는 모든 계정 및 버킷에 대해 퍼블릭 액세스 차단을 활성화해야 합니다.
S3 객체 소유권은 액세스 제어 목록(ACL)을 사용 중지하여 모든 객체의 소유권을 버킷 소유자로 변경하고 S3에 저장된 데이터에 대한 액세스 관리를 단순화하는 기능입니다. S3 객체 소유권 버킷 소유자 적용(Bucket owner enforced) 설정을 구성하면 ACL이 더 이상 버킷과 그 안의 객체에 대한 권한에 영향을 미치지 않습니다. 모든 액세스 제어는 리소스 기반 정책, 사용자 정책 또는 이들의 조합을 사용하여 정의됩니다. ACL을 비활성화하기 전에 버킷 및 객체 ACL을 검토하세요. 권한 부여를 위해 ACL이 필요한 Amazon S3 요청을 식별하려면 Amazon S3 서버 액세스 로그 또는 AWS CloudTrail에서 aclRequired 필드를 사용합니다.
Virtual Private Cloud(VPC)로 제한된 S3 액세스 포인트를 사용하면 프라이빗 네트워크 내에서 S3 데이터를 쉽게 방화벽으로 보호할 수 있습니다. 또한 AWS 서비스 제어 정책을 사용하여 조직의 새로운 S3 액세스 포인트를 VPC 전용 액세스로만 제한할 수 있도록 요구할 수 있습니다.
IAM Access Analyzer for S3는 S3 버킷 및 액세스 포인트에 대한 정책을 설정, 확인, 구체화할 때 권한 관리를 단순화하는 데 도움이 되는 기능입니다. Access Analyzer for S3는 기존 버킷 액세스 정책을 모니터링하여 S3 리소스에 대한 필수 액세스 권한만 제공하는지 확인합니다. Access Analyzer for S3는 필요하지 않은 액세스 권한이 있는 모든 버킷을 신속하게 수정할 수 있도록 버킷 액세스 정책을 평가합니다. 검토 결과, 버킷에 대한 공유 액세스 가능성이 있는 경우 S3 콘솔에서 한 번의 클릭으로 버킷에 대한 퍼블릭 액세스를 차단할 수 있습니다. 감사를 위해 Access Analyzer for S3 결과를 CSV 보고서로 다운로드할 수 있습니다. 또한, S3 콘솔은 S3 정책을 작성할 때 IAM Access Analyzer에서 보안 경고, 오류 및 제안 사항을 보고합니다. 콘솔은 100개가 넘는 정책 검사를 자동으로 실행하여 정책을 검증합니다. 이러한 검사는 시간을 절약해주고 문제 해결을 안내하며, 보안 모범 사례 적용을 도와줍니다.
IAM은 사용자 또는 역할이 마지막으로 S3를 사용한 시점을 나타내는 타임스탬프와 관련 작업을 보여주므로, 액세스를 분석하고 권한을 줄여 최소 권한을 실현할 수 있습니다. 이 “마지막 액세스” 정보를 이용하여 S3 액세스를 분석하고 사용되지 않는 권한을 찾아 문제 없이 제거할 수 있습니다. 자세히 알아보려면 마지막으로 액세스한 데이터를 사용한 권한 세분화를 참조하세요.
Amazon Macie를 사용하여 Amazon S3에 저장된 민감한 데이터를 탐색하고 보호할 수 있습니다. Macie 전체 S3 인벤토리를 자동으로 수집하고 모든 버킷을 자동으로 지속적으로 평가하여 공개적으로 액세스 가능한 버킷, 암호화되지 않은 버킷 또는 조직 외부의 AWS 계정과 공유되거나 복제된 버킷에 대한 알림을 제공합니다. 그런 다음 Macie는 선택한 버킷에 기계 학습 및 패턴 매칭 기법을 적용하여 개인 식별 정보(PII)와 같은 민감한 데이터를 식별하고 사용자에게 알립니다. 보안 분석 결과가 생성되어 Amazon CloudWatch Events에 푸시되므로 기존 워크플로 시스템과 쉽게 통합하고, AWS Step Functions와 같은 서비스로 자동 수정을 트리거하여 퍼블릭 버킷 닫기 또는 리소스 태그 추가와 같은 조치를 취할 수 있습니다.
AWS PrivateLink for S3는 Amazon S3와 온프레미스 간의 프라이빗 연결을 제공합니다. S3에서 PrivateLink를 지원하게 되면 VPC에서 S3에 대한 인터페이스 VPC 엔드포인트를 프로비저닝해서 AWS Direct Connect나 AWS VPN을 통해 직접 온프레미스 애플리케이션을 S3와 연결할 수 있습니다. S3용 인터페이스 VPC 엔드포인트에 대한 요청은 Amazon 네트워크를 통해 S3로 자동 라우팅됩니다. 추가 액세스 제어를 위해 인터페이스 VPC 엔드포인트에 대한 보안 그룹을 설정하고 VPC 엔드포인트 정책을 구성할 수 있습니다.
S3 액세스 관리 및 보안 및 Amazon S3의 데이터 보호에서 자세히 알아보기 »
데이터 처리
S3 객체 Lambda
S3 객체 Lambda를 통해 자체 코드를 S3 GET, HEAD, LIST 요청에 추가하여 애플리케이션으로 데이터가 반환될 때 데이터를 수정 및 처리할 수 있습니다. 사용자 지정 코드를 사용하여 행을 필터링하고 동적으로 이미지 크기를 조정하며 기밀 데이터를 교정하는 등 표준 S3 GET 요청에서 반환한 데이터를 수정할 수 있습니다. 또한 S3 객체 Lambda를 사용해 S3 LIST 요청 출력을 수정하여 버킷에 저장된 객체를 볼 수 있는 사용자 지정 보기를 생성하거나, S3 HEAD 요청 출력을 수정하여 객체 이름이나 크기 같은 객체 메타데이터를 변경할 수 있습니다. AWS Lambda 함수에서 지원하는 이 기능을 사용하면 코드는 AWS의 완전관리형 인프라에서 실행되므로 데이터의 파생 사본을 생성 및 저장하거나 고가의 프록시를 실행하지 않아도 되며, 애플리케이션에 추가 요금이 발생하지 않습니다.
S3 객체 Lambda는 AWS Lambda 함수를 사용하여 표준 S3 GET, HEAD, LIST 요청의 출력을 자동으로 처리합니다. AWS Lambda는 기본 컴퓨팅 리소스를 관리하지 않고도 고객이 정의한 코드를 실행하는 서버리스 컴퓨팅 서비스입니다. AWS 관리 콘솔에서 몇 번의 클릭만으로 Lambda 함수를 구성하고 S3 객체 Lambda 액세스 포인트에 연결할 수 있습니다. 이후로는 S3에서 Lambda 함수를 자동으로 호출하여 S3 객체 Lambda 액세스 포인트를 통해 검색된 데이터를 처리하고 애플리케이션에 변환된 결과를 다시 반환할 수 있습니다. 사용자 지정 Lambda 함수를 작성 및 실행하여 특정 사용 사례에 맞게 S3 객체 Lambda의 데이터 변환을 조정할 수 있습니다.
자세한 내용은 S3 객체 Lambda 기능 페이지를 참조하세요.
쿼리 지원
Amazon S3는 별도의 분석 플랫폼 또는 데이터 웨어하우스에 복사하여 로드할 필요 없이 데이터를 쿼리하는 기능이 내장되어 있으며, 무료 서비스를 제공합니다. 즉, Amazon S3에 저장된 데이터에 대해 직접 빅 데이터 분석을 실행할 수 있습니다. S3 Select는 쿼리 성능을 최대 400% 높이고 쿼리 비용을 80%까지 절감할 수 있는 S3 기능입니다. 이 기능은 최대 5테라바이트까지 허용하는 전체 객체 대신 (단순 SQL 표현식을 사용하여) 객체 데이터의 하위 집합을 검색하는 방식으로 작동합니다.
Amazon S3는 AWS 분석 서비스인 Amazon Athena 및 Amazon Redshift Spectrum과도 호환됩니다. Amazon Athena는 데이터를 추출하여 별도의 서비스나 플랫폼에 로드할 필요 없이 Amazon S3의 데이터를 쿼리할 수 있습니다. 표준 SQL 표현식을 사용하여 데이터를 분석하고, 수초 내에 결과를 제공하며, 애드혹 데이터 검색에 많이 사용됩니다. Amazon Redshift Spectrum 역시 Amazon S3에 저장된 데이터에 대해 SQL 쿼리를 직접 실행하며, 복잡한 쿼리나 큰 데이터 집합(최대 엑사바이트)에 더 적합합니다. Amazon Athena 및 Amazon Redshift는 공통 데이터 카탈로그와 데이터 형식을 공유하기 때문에 Amazon S3의 동일한 데이터 집합에 대해 모두 사용할 수 있습니다.
빅 데이터 스토리지 솔루션 구축 및 S3 Select에서 자세히 알아보기 »
데이터 전송
AWS는 모든 데이터 마이그레이션 프로젝트에 적합한 솔루션을 제공할 수 있는 데이터 전송 서비스 포트폴리오를 제공합니다. 연결 수준은 데이터 마이그레이션의 중요한 요소이며 AWS는 하이브리드 클라우드 스토리지, 온라인 데이터 전송 및 오프라인 데이터 전송 요구 사항을 해결할 수 있는 오퍼링을 갖추고 있습니다.
하이브리드 클라우드 스토리지: AWS Storage Gateway는 온프레미스 애플리케이션을 AWS 스토리지에 손쉽게 연결하고 확장할 수 있는 하이브리드 클라우드 스토리지 서비스입니다. 고객은 Storage Gateway를 사용하여 테이프 라이브러리를 클라우드 스토리지로 손쉽게 교체하거나, 클라우드 스토리지 기반의 파일 공유를 제공하거나, 온프레미스 애플리케이션이 AWS의 데이터에 액세스하기 위한 지연 시간이 짧은 캐시를 구축할 수 있습니다.
온라인 데이터 전송: AWS DataSync는 수백 테라이바이트 용량과 수백만 개의 파일을 오픈 소스 도구보다 최대 10배 빠른 속도로 Amazon S3로 효율적으로 간단히 전송할 수 있게 해줍니다. DataSync는 스크립팅 복사 작업, 전송 일정 수립 및 모니터링, 네트워크 활용도 최적화를 포함하여 많은 수작업을 자동으로 처리하거나 없애줍니다. 또한, AWS DataSync를 사용하여 S3 on Outposts 버킷과 AWS 리전에 저장된 버킷 간에 객체를 복사할 수 있습니다. AWS Transfer Family는 Amazon S3 using SFTP, FTPS 및 FTP에 간단하고 원활한 완전관리형 파일 전송을 제공합니다. Amazon S3 Transfer Acceleration은 거리가 먼 클라이언트와 Amazon S3 버킷 간에 파일을 빠르게 전송할 수 있도록 해줍니다.
오프라인 데이터 전송: AWS Snow Family는 네트워크 용량이 한정적이거나 아예 없는 엣지 로케이션용으로 특별히 설계되었으며, 가혹한 환경에서 스토리지 및 컴퓨팅 용량을 제공합니다. AWS Snowball 서비스는 데이터 수집, 처리 및 마이그레이션에 내구성이 뛰어난 휴대용 스토리지 및 엣지 컴퓨팅 디바이스를 사용합니다. 고객은 AWS로의 오프라인 데이터 마이그레이션용으로 물리적 Snowball 디바이스를 배포할 수 있습니다. AWS Snowmobile은 비디오 라이브러리, 이미지 리포지토리, 심지어 전체 데이터 센터 마이그레이션을 비롯해 초대용량 데이터를 클라우드로 이전하는 데 사용되는 엑사바이트 규모의 데이터 전송 서비스입니다.
또한 고객은 APN(AWS 파트너 네트워크)의 타사 공급업체와 협력하여 하이브리드 스토리지 아키텍처를 배포하고, Amazon S3를 기존 애플리케이션 및 워크플로에 통합하며, AWS 클라우드와 데이터를 주고받을 수 있습니다.
성능
Amazon S3는 클라우드 객체 스토리지에 업계 최고의 성능을 제공합니다. Amazon S3는 병렬 요청을 지원하므로 애플리케이션을 사용자 지정하지 않고도 컴퓨팅 클러스터의 몇 배만큼 S3 성능을 확장할 수 있습니다. 성능은 접두사에 따라 확장되므로 필요한 처리량을 실현하는 데 필요한 만큼 얼마든지 병렬로 접두사를 추가할 수 있습니다. 접두사 수에 대한 제한은 없습니다. Amazon S3성능은 데이터 추가에 초당 최소 3,500개의 요청을 지원하고 데이터 검색에 초당 최소 5,500개의 요청을 지원합니다. 각 S3 접두사는 이러한 요청 속도를 지원하므로 손쉽게 성능을 대폭 향상할 수 있습니다.
이 S3 요청 처리 성능을 위해 더 빠른 성능 달성을 위한 객체 접두사 무작위화는 필요하지 않습니다. 즉, 성능 저하 없이 S3 객체에 논리적 또는 순차적 명명 패턴을 사용할 수 있습니다. Amazon S3 성능 최적화에 대한 최신 정보는 Amazon S3에 대한 성능 지침 및 Amazon S3에 대한 성능 설계 패턴을 참조하세요.
일관성
Amazon S3는 성능이나 가용성을 변경하지 않고, 애플리케이션에 대한 지역적 분리 없이 그리고 추가 비용 없이 모든 애플리케이션에 대해 강력한 쓰기 후 읽기 일관성을 자동으로 제공합니다. 강력한 일관성을 갖춘 S3는 애플리케이션을 변경할 필요성을 없애 온프레미스 분석 워크로드의 마이그레이션을 단순화하고, 강력한 일관성을 제공하기 위한 추가 인프라의 필요성을 없애 비용을 절감합니다.
S3 스토리지에 대한 모든 요청은 강력한 일관성을 갖습니다. 새 객체를 성공적으로 쓴 후 또는 기존 객체를 덮어쓴 후, 후속 읽기 요청은 즉시 객체의 최신 버전을 수신합니다. 또한 S3는 목록 작업에 강력한 일관성을 제공하므로, 쓰기 후에 변경 사항이 반영된 버킷의 객체 목록을 즉시 수행할 수 있습니다.
S3 강력한 일관성에 대해 자세히 알아보기
용도 및 제한
이 서비스 사용에는 Amazon Web Services 고객 계약 »이 적용됩니다.