Amazon S3는 데이터를 "버킷"이라는 리소스 내에 객체 단위로 저장합니다. 버킷 내에 원하는 만큼 객체를 저장하고 버킷에서 객체를 쓰거나 읽거나 삭제할 수 있습니다. 객체의 크기는 최대 5테라바이트입니다.

버킷에 대한 액세스를 제어하고(예: 버킷에서 객체를 만들고, 삭제하고, 검색할 수 있는 사람), 버킷과 해당 객체의 액세스 로그를 보고, 지연 시간 최적화, 비용 최소화, 규정 요구 사항 준수 등 다양한 필요에 따라 버킷을 저장할 AWS 리전을 선택할 수 있습니다.

지금 바로 AWS 시작하기

무료로 Amazon S3 사용해 보기

AWS 프리 티어에는 Amazon S3에서 사용할 수 있는 5GB 스토리지, Get 요청 20,000건 및 Put 요청 2,000건이 포함되어 있습니다.

AWS 프리 티어 세부 정보 보기 »

S3_ProductPage_Banner

Amazon S3은 완전한 스토리지 플랫폼으로 설계되었습니다. 모든 데이터 GB에 담겨진 소유의 가치를 생각해보십시오.

간편성. Amazon S3는 웹 기반 관리 콘솔, 모바일 앱, 타사 기술과 쉽게 통합할 수 있는 전체 REST API 및 SDK를 통해 간편하게 사용할 수 있도록 구축되었습니다.

내구성. Amazon S3는 전 세계 리전에서 사용할 수 있으며 각 리전 내 지리적 중복성과 여러 리전에 걸쳐 복제하는 옵션을 제공합니다. 그 밖에도 특정 시점으로 복구를 위해 다양한 버전의 객체를 보존할 수 있습니다.

확장성. 전 세계 고객들은 Amazon S3을 사용하여 매일 수조에 이르는 객체를 보호하고 있습니다. 필요에 따라 비용을 늘리거나 줄일 수 있을 뿐만 아니라 글로벌 배포도 단 몇 분이면 충분합니다. 금융 서비스, 헬스케어, 미디어 및 엔터테인먼트 같은 산업의 기업들도 빅 데이터, 분석, 트랜스코딩 및 아카이브 애플리케이션을 개발하는 데 Amazon S3을 사용하고 있습니다.

보안. Amazon S3는 SSL을 통한 데이터 전송과 데이터 업로드 후 자동 암호화를 지원합니다. 또한, 사용자는 AWS Identity and Access Management(IAM)를 사용하여 객체 권한을 관리하고 데이터에 대한 액세스를 제어하는 버킷 정책을 구성할 수 있습니다.

쿼리 지원. Amazon S3 Select는 사용 중이 아닐 때 스토리지의 객체 내 데이터를 처리하고 Amazon Athena 및 Amazon Redshift Spectrum을 통해 S3에 저장된 데이터에서 직접 정교하게 분석할 수 있습니다.

Amazon S3와 직접 통합하도록 설계된 보안(IAM 및 KMS), 알림(CloudWatch, CloudTrail, Event Notifications), 컴퓨팅(Lambda) 및 데이터베이스(EMR, Redshift)용 다른 AWS 서비스와의 광범위한 통합.

클라우드 데이터 마이그레이션 옵션. AWS 스토리지는 클라우드로(부터) 데이터를 이동하는 데 도움이 되는 여러 특화된 방법을 제공합니다.

유연한 스토리지 관리. S3 스토리지 관리 기능을 사용하면 데이터 중심의 접근 방식을 통해 스토리지를 최적화하고, 데이터 보안과 관리 효율성을 높일 수 있습니다. 


Amazon S3 스토리지 관리 기능을 사용하면 데이터 중심의 접근 방식을 통해 스토리지를 최적화하고, 규정 준수를 강화하며, 관리 효율성을 높일 수 있습니다. 이러한 기능을 함께 사용하면 워크로드 성능을 향상하고, 규정 준수를 지원하며, 비즈니스 프로세스 워크플로를 간소화하는 데 도움이 되고, 좀 더 지능적인 스토리지 계층화로 스토리지 비용과 성능을 최적화할 수 있습니다.

자세히 알아보기

Amazon S3는 S3 콘솔, SDK 또는 ISV 통합을 통해 간편하게 액세스할 수 있습니다. Java, PHP, .NET, Python, Node.js 및 Ruby용 AWS SDK와 AWS Mobile SDK에서 S3를 지원합니다. SDK 라이브러리는 기본 REST API를 래핑하여 프로그래밍 작업을 간소화합니다.

자세히 알아보기

Amazon S3는 중요한 데이터를 저장할 수 있고 99.999999999%의 객체 내구성을 보장하도록 설계된 내구성이 뛰어난 인프라를 제공합니다. 데이터가 여러 시설과 각 시설의 여러 디바이스에 중복 저장됩니다.

자세히 알아보기

Amazon에서는 여러 가지 클라우드 데이터 마이그레이션 옵션을 제공하므로 Amazon S3에서 대규모 데이터를 간편하고 비용 효율적으로 전송할 수 있습니다. 고객은 네트워크 최적화, 물리적 디스크 기반 또는 타사 커넥터 메서드 중에서 선택하여 S3에서 송신 또는 수신할 수 있습니다.

자세히 알아보기

Amazon S3는 데이터에 액세스할 수 있는 사용자, 액세스 방법, 액세스 시간 및 위치를 제어 및 모니터링할 수 있는 여러 메커니즘을 지원합니다. VPC 엔드포인트를 사용하면 게이트웨이 또는 NAT 인스턴스 없이도 보안 연결을 생성할 수 있습니다.

자세히 알아보기

S3 스탠다드 외에도 액세스 빈도가 낮은 데이터를 위한 저렴한 스탠다드 – Infrequent Access 옵션과 가장 저렴한 요금으로 콜드 데이터를 아카이빙할 수 있는 Amazon Glacier가 있습니다.

자세히 알아보기

Amazon S3 Select(현재 미리 보기 제공)를 사용하면 스토리지를 검색하지 않아도 애플리케이션에서 데이터를 검사하고 필터링할 수 있으며 정능을 향상시키면서 정교한 분석 비용을 절감할 수 있습니다. 

자세히 알아보기


아마존은 기존 워크플로를 최적화해 Amazon S3와 통합시키면서 클라우드에서 더욱 빠르게 엄청난 수의 데이터를 분석하고 처리할 수 있는 여러 가지 도구를 제공합니다. 

Amazon S3 Select는 Amazon S3 버킷의 객체 내에서 데이터를 더욱 빠르고 저렴하게 분석 및 처리할 수 있도록 설계되었습니다. 이를 위해 간단한 SQL 표현식을 사용하여 Amazon S3의 객체에서 데이터 하위 집합을 검색할 수 있도록 합니다. 애플리케이션이 더 이상 데이터를 검사하고 필터링하기 위해 컴퓨팅 리소스를 사용해야 할 필요가 없으므로 잠재적으로 쿼리 성능이 400%까지 향상되고 쿼리 비용을 80%까지 줄일 수 있습니다. 간단하게 애플리케이션이 GET 대신 SELECT를 사용하도록 바꾸면 S3 Select의 이점을 활용할 수 있습니다. 미리 보기 기간 동안 S3 Select는 API를 통해서만 액세스할 수 있으며 AWS 미국 동부(오하이오), 미국 동부(북 버지니아), 미국 서부(오리건), EU(아일랜드) 및 아시아 태평양(싱가포르) 리전에서 사용할 수 있습니다. S3 Console 및 명령줄 인터페이스(CLI)는 미리 보기 기간 동안 사용할 수 없습니다.

Amazon Athena는 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스입니다. Athena는 서버리스 서비스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.

Athena는 사용이 쉽습니다. Amazon S3에 저장된 데이터를 지정하고 스키마를 정의한 후 표준 SQL을 사용하여 쿼리를 시작하기만 하면 됩니다. 그러면 대부분 결과가 수 초 만에 제공됩니다. Athena에서는 데이터 분석을 준비하기 위한 복잡한 ETL 작업이 필요 없습니다. 따라서 SQL을 다룰 수 있는 사람은 누구나 신속하게 대규모 데이터 세트를 분석할 수 있습니다.

또한, Amazon Redshift에는 Redshift Spectrum이 포함되어 있어 Amazon S3에 있는 엑사바이트 규모의 비정형 데이터에 대해 SQL 쿼리를 직접 실행할 수 있습니다. 로드하거나 변환할 필요 없으며, Avro, CSV, Grok, ORC, Parquet, RCFile, RegexSerDe, SequenceFile, TextFile 및 TSV를 비롯한 오픈 데이터 형식을 사용할 수 있습니다. Redshift Spectrum은 검색하는 데이터에 따라 쿼리 컴퓨팅 파워를 자동으로 확장하므로, 데이터 세트의 규모와 관계없이 Amazon S3에 대한 쿼리가 빠르게 실행됩니다.

Amazon S3는 데이터 사용 패턴에 대한 실행 가능한 통찰력을 제공하고 관리 정책을 통해 스토리지를 관리할 수 있는 도구를 제공함으로써 데이터를 손쉽게 관리할 수 있게 해줍니다. Amazon S3 API 또는 AWS Management Console을 사용하여 이 모든 관리 기능을 손쉽게 관리할 수 있습니다. Amazon S3에서 제공하는 다양한 데이터 관리 기능은 아래에 자세하게 설명되어 있습니다.

Amazon S3 객체 태깅을 통해 Amazon S3 객체에 대한 액세스를 관리하고 제어할 수 있습니다. S3 객체 태그는 S3 객체에 적용되는 키 값 페어로, 객체의 수명 주기 동안 언제든 이를 생성, 업데이트 또는 삭제할 수 있습니다. S3 객체 태그를 사용하면 Identity and Access Management(IAM) 정책을 생성하고, S3 수명 주기 정책을 설정하며, 스토리지 지표를 사용자 지정할 수 있습니다. 이러한 객체 수준의 태그는 스토리지 클래스 간 전환을 관리하고 백그라운드에 있는 객체를 만료시킬 수 있습니다.

S3 Inventory는 Amazon S3의 동기식 List API에 대한 예정된 대안을 제공합니다. 이 S3 Inventory를 사용하여 비즈니스 워크플로와 빅 데이터 작업을 간소화 및 가속화할 수 있습니다. S3 Inventory는 일 또는 주 단위로 S3 버킷이나 접두사에 대한 객체 및 해당 메타데이터를 CSV(쉼표로 구분된 값) 또는 ORC(Optimized Row Columnar) 출력으로 제공합니다. 또한 S3 Inventory를 사용하면 비즈니스, 규정 준수 및 규제 요구 사항에 대한 객체 암호화 상태를 쉽게 감사하고 보고할 수 있습니다.

스토리지 클래스 분석을 사용하면 S3 버킷 내 객체의 액세스 빈도를 모니터링하여 액세스 빈도가 낮은 스토리지를 더 저렴한 스토리지 클래스로 전환할 수 있습니다. 이 새로운 S3 Analytics 기능은 사용 패턴을 관찰하여 액세스 빈도가 낮은 스토리지를 탐지함으로써 적절한 객체를 Standard – IA로 전환하도록 지원합니다. 스토리지 클래스 분석 정책을 구성하여 전체 버킷, 접두사 또는 객체 태그를 모니터링할 수 있습니다. S3 Analytics가 Standard – IA로 전환할 데이터 후보를 탐지하면 해당 결과를 바탕으로 손쉽게 새로운 수명 주기 기간 정책을 생성할 수 있습니다. 또한, 이 기능은 지정된 버킷, 접두사 또는 태그 수준의 스토리지 사용에 대한 상세한 일일 분석을 지원하며, S3 버킷으로 이를 내보낼 수 있습니다. 

Amazon S3 CloudWatch 통합은 다양한 지표 호스트에 대한 통합된 모니터링 및 경보를 제공함으로써 최종 사용자 경험을 개선하는 데 도움이 됩니다. 1분 간격 CloudWatch 지표를 수신하고, CloudWatch 경보를 설정하며, CloudWatch 대시보드에 액세스하여 Amazon S3 스토리지의 운영 및 성능을 실시간으로 볼 수 있습니다. 클라우드 스토리지를 사용하는 웹 및 모바일 애플리케이션의 경우 이를 통해 운영 문제를 신속하게 파악하여 조치를 취할 수 있습니다. 이 1분 간격 지표는 S3 버킷 수준에서 제공됩니다. 또한, 공유된 접두사 또는 객체 태그를 사용해 수집된 지표에 대한 필터를 정의할 수 있으므로 지표 필터를 특정 비즈니스 애플리케이션, 워크플로 또는 내부 조직에 맞게 조정할 수 있습니다.

AWS CloudTrail을 사용하여 S3 객체에 대한 버킷 수준(관리 이벤트) 및 객체 수준 API 활동(데이터 이벤트)을 캡처할 수 있습니다. 데이터 이벤트는 GET, HEAD 및 Get Object ACL과 같은 읽기 작업과 PUT 및 POST와 같은 쓰기 작업을 포함합니다. 캡처된 세부 정보는 다양한 유형의 보안, 감사, 거버넌스 및 규정 준수 사용 사례를 지원합니다. S3 데이터 이벤트에 대한 자세한 내용은 AWS CloudTrail 페이지를 참조하십시오.

Amazon S3에서는 데이터가 진화함에 따라 비용 및 성능 특성을 자동으로 지정하고 변경할 수 있습니다. 또한, 용량 프로비저닝, 더 낮은 요금 티어로 자동 마이그레이션, 규제 준수 정책, 최종 예약 삭제 등 일반적인 데이터 수명 주기 관리 작업을 자동화할 수도 있습니다.

데이터 사용 기간이 경과하면서 하드웨어에 문제가 있거나 수명이 다하는 경우 Amazon S3는 자동으로 원활하게 새 하드웨어로 데이터를 마이그레이션합니다. 따라서 값비싸고 시간이 걸리며 위험한 하드웨어 마이그레이션을 수행할 필요가 없습니다. Amazon S3에 대한 수명 주기 정책을 설정하여 데이터가 오래됨에 따라 더 저렴한 스토리지로 데이터를 자동으로 마이그레이션할 수 있습니다. 데이터 사용 기간에 따라 Amazon S3 객체가 Standard – Infrequent Access(Standard – IA) 또는 Amazon Glacier로 자동으로 마이그레이션되도록 규칙을 정의할 수 있습니다.  버킷, 접두사 또는 객체 태그별로 수명 주기 정책을 설정함으로써 사용 사례에 가장 적합한 세부 수준을 지정할 수 있습니다.

Amazon S3는 데이터 수명이 다하면 프로그래밍 방식으로 대용량 반복 삭제를 수행할 수 있는 옵션을 제공합니다. 반복 삭제의 경우 미리 정의된 기간 후에 객체 세트를 제거하도록 규칙을 정의할 수 있습니다. 이러한 규칙은 스탠다드 또는 스탠다드 – IA에 저장된 객체와 Amazon Glacier에 보관된 객체에 적용할 수 있습니다.

Amazon S3 객체의 버전에 대한 수명 주기 규칙을 정의하여 스토리지 비용을 절감할 수도 있습니다. 예를 들어 객체의 오래된 버전이 더는 필요하지 않을 때 이를 자동으로 깨끗이 삭제하는 규칙을 생성하여 비용을 절감하고 성능을 향상할 수 있습니다. 또는 오래된 버전을 스탠다드 – IA 또는 Amazon Glacier로 자동으로 마이그레이션하는 규칙을 생성하여 스토리지 비용을 절감할 수 있습니다.

리전 간 복제(CRR)를 사용하면 새로운 객체를 다른 AWS 리전으로 간단하게 복제할 수 있어 지연 시간 단축, 규정 준수, 재해 복구 및 기타 여러 사용 사례에 대한 이점을 얻습니다. CRR은 소스 버킷에 업로드된 모든 객체를 사용자가 선택한 다른 AWS 리전의 대상 버킷에 복제합니다. 객체와 연결된 메타데이터, ACL 및 객체 태그도 복제의 일부가 됩니다. 소스 버킷에 CRR을 구성하면, 객체의 데이터, 메타데이터, ACL 또는 객체 태그에 변경 사항이 발생하는 경우 대상 버킷으로 새 복제가 트리거됩니다.

CRR은 버킷 수준의 구성이며 사용자는 다른 리전에 대상 버킷을 지정하여 버킷에 대한 CRR을 활성화할 수 있습니다. CRR을 사용하면 필요에 따라 AWS 리전을 대상 리전으로 선택하거나 복제된 스토리지의 S3 스토리지 클래스를 선택할 수 있습니다. 계정 전체에서 CRR을 설정하고 소스와 대상 사이에 명확히 다른 소유권 스택을 설정할 수 있습니다. CRR은 버킷 수준의 구성이며 AWS Management Console, REST API, AWS CLI, AWS SDK 중 하나를 통해 다른 리전에 대상 버킷을 지정함으로써 버킷에 대한 CRR을 활성화할 수 있습니다. CRR을 사용하려면 소스 및 대상 버킷 모두에서 버전 관리를 켜야 합니다. 자세히 알아보기.

Amazon S3는 비용 관리 및 제어를 위한 여러 기능을 제공합니다. AWS Management Console 또는 Amazon S3 API를 사용하여 Amazon S3 버킷에 태그를 적용함으로써 비용 센터, 애플리케이션 이름 또는 소유자를 비롯한 여러 비즈니스 업무에 비용을 할당할 수 있습니다. 그런 다음 Amazon Web Services의 비용 할당 보고서를 통해 이 비용의 내역을 볼 수 있습니다. 보고서에는 버킷 태그별로 집계된 사용 및 비용이 표시됩니다. 비용 할당 및 태그 지정에 대한 자세한 내용을 보려면 About AWS Account Billing을 참조하시기 바랍니다. Amazon S3 버킷에 태그를 지정하는 방법에 대한 자세한 내용은 Amazon S3 Developer GuideBucket Tagging 항목을 참조하십시오.

Amazon CloudWatch를 사용하여 청구서의 Amazon S3 요금 모니터링에 도움이 되는 결제 알림을 받을 수 있습니다. 예상 요금이 선택한 임계값에 도달하면 이메일을 통해 자동으로 알림을 받도록 알림을 설정할 수 있습니다. 결제 알림에 대한 추가 정보를 보려면 결제 알림 페이지를 방문하거나 Amazon CloudWatch Developer GuideMonitor Your Estimated Charges 주제를 참조하십시오.

Amazon S3 이벤트 알림은 Amazon S3에 업로드 또는 저장된 객체에 수행된 작업에 대응하여 전송될 수 있습니다. 알림 메시지는 Amazon SNS 또는 Amazon SQS를 통해 전송되거나, AWS Lambda로 직접 전송되어 AWS Lambda 함수를 호출할 수 있습니다.

Amazon S3 이벤트 알림을 사용하면 Amazon S3에 저장된 객체의 변경에 대한 응답으로 워크플로우를 실행하거나, 알림을 보내거나, 기타 작업을 수행할 수 있습니다. Amazon S3 이벤트 알림을 사용하여 미디어 파일이 업로드되면 이를 트랜스코딩하고, 데이터 파일이 사용 가능해지면 이를 처리하고, Amazon S3 객체를 다른 데이터 스토어와 동기화하는 등의 작업을 수행하도록 트리거를 설정할 수 있습니다. 또한, 객체 이름의 접두사 및 접미사에 따라 이벤트 알림을 설정할 수도 있습니다. 예를 들어, “images/"로 시작하는 객체 이름에 대한 알림을 수신하도록 설정할 수 있습니다. 또한 Amazon S3 객체의 보조 인덱스를 지속적으로 동기화하는 데도 사용할 수 있습니다.

Amazon S3 이벤트 알림은 버킷 수준에서 설정되며 Amazon S3 콘솔, REST API 또는 AWS SDK를 사용해서 구성할 수 있습니다.

자세한 내용은 Amazon S3 개발자 안내서Amazon S3 이벤트 알림 구성 항목을 참조하십시오.


Amazon S3는 미션 크리티컬 및 기본 데이터 스토리지에 적합하게 설계된, 내구성이 뛰어난 스토리지 인프라를 제공합니다. Amazon S3는 여러 시설 및 각 시설 내의 여러 디바이스에 데이터를 중복 저장합니다. 내구성을 높이기 위해 Amazon S3는 여러 시설 전체에 데이터를 동기식으로 저장한 후 데이터가 성공적으로 저장되었는지 확인합니다. 이 외에도 Amazon S3는 데이터를 저장 또는 검색할 때 모든 네트워크 트래픽에서 체크섬을 계산하여 데이터 패킷 손상을 감지합니다. 어려운 데이터 검증 및 수동 복구 작업이 필요할 수 있는 일반적인 시스템과 달리 Amazon S3는 정기적이고 체계적인 데이터 무결성 검사를 수행하며 자동으로 자가 치유 기능을 실행하도록 설계되어 있습니다.

스탠다드는

  • Amazon S3 서비스 수준 계약으로 신뢰성을 보장합니다.
  • 한 해 동안 객체에 대해 99.999999999%의 내구성과 99.99%의 가용성을 제공하도록 설계되었습니다.
  • 두 시설의 데이터가 동시에 손실된 경우에도 작동 상태를 유지할 수 있도록 설계되었습니다.

스탠다드 – Infrequent Access는

  • Amazon S3 서비스 수준 계약에 따라 가용성을 보장합니다.
  • 연간 객체에 대해 99.999999999%의 내구성과 99.9%의 가용성을 제공하도록 설계되었습니다.
  • 두 시설의 데이터가 동시에 손실된 경우에도 작동 상태를 유지할 수 있도록 설계되었습니다.

Amazon Glacier는

  • 연간 객체에 대해 99.999999999%의 내구성을 제공하도록 설계되었습니다.
  • 두 시설의 데이터가 동시에 손실된 경우에도 작동 상태를 유지할 수 있도록 설계되었습니다.

Amazon은 네트워크를 최적화하거나 교체하는 방법, 기존 워크플로를 S3와 통합하는 방법 등을 비롯하여 데이터를 클라우드로 더 빠르게 마이그레이션할 수 있도록 지원하는 도구 모음을 제공합니다.

Amazon S3 Transfer Acceleration은 먼 거리에 있는 Amazon S3 버킷으로 전송되는 속도를 극대화하도록 설계되었습니다. 클라이언트와 Amazon S3 버킷에서 가장 가까운 AWS 엣지 로케이션 간에 고도로 최적화된 네트워크 브리지로 HTTP 및 HTTPS 트래픽을 보내는 방식으로 작동합니다. 관리할 게이트웨이 서버, 열어야 할 방화벽, 통합하거나 선결제해야 하는 특별 포트 또는 클라이언트가 없습니다. 애플리케이션이 데이터를 전송하는 데 사용하는 Amazon S3 엔드포인트를 변경하기만 하면, 가속화가 자동으로 적용됩니다. 다음의 경우에 Transfer Acceleration을 사용하십시오.

  • 다른 국가나 대륙과 같이 버킷에서 멀리 떨어진 클라이언트에서 빠른 업로드가 필요한 경우.
  • 클라이언트가 자체 데이터 센터 외부에 있어서 Amazon S3로 전송하려면 퍼블릭 인터넷을 사용해야 하는 경우. 클라이언트가 자체 데이터 센터 내에 있는 경우, AWS Direct Connect를 고려.

자세히 알아보기

AWS 데이터 마이그레이션 서비스는 안전한 디바이스를 사용하여 페타바이트에서 엑사바이트까지 Amazon S3에서 대용량 데이터를 송수신합니다. AWS Snowball, Snowball Edge 및 Snowmobile은 높은 네트워크 비용, 긴 전송 시간, 보안 문제 등 대규모 데이터 전송에 흔히 발생하는 문제를 해결합니다. 데이터 전송은 빠르고 간편하며 안전합니다. 비용 또한 고속 인터넷 비용의 1/5 정도로 저렴합니다.

자세히 알아보기

AWS Storage Gateway를 사용하면 온프레미스에 있는 데이터 또는 스토리지 시스템을 손쉽게 Amazon S3에 연결할 수 있습니다. 즉, 기존 시스템, 소프트웨어, 프로세스 및 데이터가 가동 중단 거의 없이 백업, 마이그레이션, 계층화 또는 버스팅을 위해 클라우드로 간소화될 수 있습니다.

자세히 알아보기

간소화된 데이터 전송과 검색을 제공하기 위해 다양한 ISV 파트너 솔루션이 Amazon S3와 통합되었습니다. 공인 AWS 파트너 솔루션 목록은 AWS 스토리지 파트너 솔루션 페이지를 참조하십시오.


Amazon S3에 저장된 데이터는 기본적으로 안전하게 보호됩니다. 즉, 버킷 및 객체 소유자만이 직접 만든 Amazon S3 리소스에 액세스할 수 있습니다. Amazon S3는 암호화를 통해 데이터 전송을 보호하고 데이터를 안전하게 저장할 뿐 아니라 여러 액세스 제어 메커니즘도 지원합니다. Amazon S3의 데이터 보호 기능을 사용하면 논리 및 물리적 장애로부터 데이터를 보호하여 의도하지 않은 사용자 작업이나 애플리케이션 오류, 인프라 장애 시 데이터가 손실되지 않도록 할 수 있습니다. PCI 및 HIPAA와 같은 규정 표준을 준수해야 하는 고객의 경우 Amazon S3의 데이터 보호 기능을 전체 전략의 일부로 사용해 규정을 준수할 수 있습니다. Amazon S3에서 제공하는 다양한 데이터 보안 및 신뢰성 기능이 아래에 자세하게 설명되어 있습니다.

Amazon Macie는 기계 학습을 사용하여 AWS에 있는 민감한 데이터를 자동으로 검색, 분류 및 보호합니다. Amazon Macie는 개인 식별 정보(PII) 또는 지적 재산과 같은 민감한 데이터를 인식하고, 이러한 데이터가 어떻게 액세스되고 이동되는지 파악할 수 있는 대시보드 및 알림을 제공합니다. 이 완전관리형 서비스는 비정상적인 데이터 액세스 활동을 지속적으로 모니터링하여 무단 액세스 또는 의도하지 않은 데이터 유출 위험이 감지될 경우 상세한 알림을 생성합니다.

Amazon S3는 데이터에 액세스할 수 있는 사용자, 액세스 방법, 액세스 시간 및 위치를 유연하게 제어할 수 있는 여러 메커니즘을 지원합니다. Amazon S3는 Identity and Access Management(IAM) 정책, ACL(액세스 제어 목록), 버킷 정책, 쿼리 문자열 인증의 네 가지 액세스 제어 메커니즘을 제공합니다. 조직은 IAM을 통해 하나의 AWS 계정에서 여러 사용자를 생성하고 관리할 수 있습니다. IAM 정책을 사용해 IAM 사용자에게 Amazon S3 버킷 또는 객체에 대한 세분화된 제어 권한을 부여할 수 있습니다. ACL을 사용해 개별 객체에 대한 특정 권한을 선택적으로 추가(부여)할 수 있습니다. Amazon S3 버킷 정책은 단일 버킷 내에 있는 일부 또는 모든 객체에서 권한을 추가하거나 거부하는 데 사용할 수 있습니다. 쿼리 문자열 인증을 사용하면 미리 정의된 기간 동안 유효한 URL을 통해 Amazon S3 객체를 공유할 수 있습니다.

S3 콘솔은 공개적으로 액세스할 수 있는 S3 버킷을 강조하며, 사용자가 버킷 정책 및 버킷 ACL을 변경하는 경우 해당 버킷에 공개적으로 액세스할 수 있게 된다고 경고합니다.

VPC 엔드포인트를 사용하여 Amazon Virtual Private Cloud(VPC)에서 Amazon S3에 액세스할 수 있습니다. VPC 엔드포인트는 구성이 용이하고, 인터넷 게이트웨이 또는 NAT(Network Address Translation) 인스턴스가 없어도 Amazon S3와 안정적인 연결을 제공합니다. VPC 엔드포인트에서는 Amazon VPC와 Amazon S3 사이의 데이터가 Amazon 네트워크 내부에서 전송되므로 인스턴스를 인터넷 트래픽으로부터 보호합니다. Amazon S3용 Amazon VPC 엔드포인트는 여러 수준의 보안 제어를 제공하여 S3 버킷에 대한 액세스를 제한할 수 있습니다. 우선, Amazon S3 버킷에 대한 요청이 VPC 엔드포인트를 사용하여 VPC로부터 출발하도록 요구할 수 있습니다. 또한 특정 VPC 엔드포인트를 통해 허용되는 버킷, 요청, 사용자 또는 그룹을 제어할 수 있습니다.

HTTPS 프로토콜을 사용하여 SSL로 암호화된 엔드포인트를 통해 Amazon S3에 데이터를 안전하게 업로드/다운로드할 수 있습니다. Amazon S3는 상주 데이터를 자동으로 암호화하고 다양한 키 관리 방법을 제공할 수 있습니다. 수신하는 스토리지 요청에 암호화 정보가 없는 경우 S3 버킷을 구성하여 객체를 S3에 저장하기 전에 자동으로 암호화할 수 있습니다. 또는 Amazon S3 암호화 클라이언트 같은 클라이언트 암호화 라이브러리를 사용하여 Amazon S3에 업로드하기 전에 데이터를 암호화할 수 있습니다.

Amazon S3에서 서버 측 암호화(SSE)로 상주 데이터를 암호화하는 방법을 선택하면 Amazon S3가 자동으로 쓰기 시 데이터를 자동으로 암호화하고 검색 시 데이터 암호를 해독합니다. Amazon S3 SSE는 상주 데이터를 암호화할 때 Advanced Encryption Standard(AES) 256비트 대칭 키를 사용합니다. Amazon S3를 이용한 서버 측 암호화를 선택할 경우 암호화 키를 관리할 수 있는 3가지 방법이 있습니다.

 

Amazon S3 Key Management가 있는 SSE(SSE-S3)

SSE-S3를 사용하면 Amazon S3가 상주 데이터를 암호화하고 암호화 키를 관리합니다.

 

고객 제공 키가 있는 SSE(SSE-C)

SSE-C를 사용하면 Amazon S3가 사용자가 지정한 커스텀 정의 암호화 키를 사용하여 상주 데이터를 암호화합니다. SSE-C를 사용하려는 경우 업로드 요청에 커스텀 암호화 키를 포함하기만 하면 Amazon S3가 키를 사용해 객체를 암호화하고 암호화된 데이터를 안전하게 저장합니다. 마찬가지로, 암호화된 객체를 검색하려는 경우 커스텀 암호화 키를 제공하면 Amazon S3가 검색 시 객체의 암호를 해독합니다. Amazon S3는 어디에나 암호화 키를 저장하지 않습니다. Amazon S3가 사용자의 요청을 완료한 직후에 키가 삭제됩니다.

 

AWS KMS이 있는 SSE(SSE-KMS)

SSE-KMS를 사용하면 Amazon S3가 AWS Key Management Service(KMS)에서 사용자가 관리하는 키를 사용하여 상주 데이터를 암호화합니다. 키 관리에 AWS KMS를 사용하면 여러 가지 이점을 얻을 수 있습니다. AWS KMS를 사용하면 마스터 키를 사용할 수 있는 별도의 권한이 있으므로 Amazon S3에 저장된 객체에 대한 무단 액세스를 차단하고 추가 제어 계층을 제공할 수 있습니다. AWS KMS는 감사 추적을 제공하므로 데이터 암호 해독 권한이 없는 사용자의 실패한 데이터 액세스 시도를 볼 수 있을 뿐 아니라 누가 키를 사용해 어떤 객체에 언제 액세스했는지도 확인할 수 있습니다. 또한, AWS KMS는 PCI-DSS, HIPAA/HITECH 및 FedRAMP 산업 요구 사항을 준수하기 위한 고객의 노력을 지원하기 위해 추가 보안 규제 항목을 제공합니다.

 

자세한 내용은 Amazon S3 Developer GuideUsing Data Encryption 항목을 참조하십시오.

Amazon S3는 Amazon S3 리소스에 대한 요청을 로깅하는 기능도 지원합니다. 해당 요청에 대한 액세스 로그 레코드를 생성하도록 Amazon S3 버킷을 구성할 수 있습니다. 이러한 서버 액세스 로그는 버킷 또는 객체에 대한 모든 요청을 캡처하며 감사 목적으로 사용될 수 있습니다.

Amazon S3에서 제공되는 보안 기능에 대한 자세한 내용은 Amazon S3 Developer GuideAccess Control 항목을 참조하십시오. Amazon S3를 포함하여 AWS 보안에 대한 개요를 보려면 Amazon Web Services: Overview of Security Processes 문서를 참조하십시오.

Amazon S3는 버전 관리 기능을 통해 추가적인 보호 기능을 제공합니다. 버전 관리를 사용하면 Amazon S3 버킷에 저장된 모든 버전의 모든 객체를 보존, 검색 및 복원할 수 있습니다. 따라서 의도하지 않은 사용자 작업 및 애플리케이션 장애로부터 쉽게 복구할 수 있습니다. 기본적으로 요청을 통해 가장 최근에 기록된 버전을 검색합니다. 이전 버전의 객체는 요청에 버전을 지정하여 검색할 수 있습니다. 저장된 모든 버전에 스토리지 요금이 적용됩니다. 수명 주기 규칙을 구성하여 여러 버전에 대한 저장 기간과 비용을 자동으로 제어할 수 있습니다.

Amazon S3는 Multi-Factor Authentication(MFA) 삭제를 사용해 추가 보안을 제공합니다. 이 기능이 활성화되면 객체의 이전 버전을 보호하기 위해 Multi-Factor Authentication 디바이스를 사용하여 Amazon S3에 저장된 객체를 삭제해야 합니다.

Amazon S3 버킷에서 MFA 삭제를 활성화하여 버킷의 버전 관리 상태만 변경하거나 다음 2가지 형태의 인증을 함께 제공할 경우 객체 버전을 영구적으로 삭제할 수 있습니다.

  • AWS 계정 자격 증명
  • 승인된 인증 디바이스에 표시된 유효한 일련 번호, 공백, 6자리 코드 연결

자세히 알아보기

Amazon S3는 정의된 시간 동안만 유효한 URL을 제공할 수 있는 쿼리 문자열 인증을 지원합니다. 이 시간 제한 URL은 소프트웨어 다운로드 또는 사용자가 객체에 액세스하는 시간을 제한하려는 기타 애플리케이션과 같은 시나리오에 유용할 수 있습니다. 자세히 알아보기


이 서비스 사용은 Amazon Web Services 고객 계약에 따릅니다.