Amazon S3는 인터넷 스토리지 서비스로서, 개발자가 보다 쉽게 웹 기반의 컴퓨팅 작업을 할 수 있도록 설계되었습니다.
Amazon S3는 언제든지 웹상 어디서나 용량에 관계없이 데이터를 저장하고 검색하는 데 사용할 수 있는 간단한 웹 서비스 인터페이스를 제공합니다. 따라서 개발자들은 Amazon이 자체 글로벌 웹 사이트 네트워크를 운영할 때 사용하는 것과 동일한 수준의 높은 확장성과 신뢰성을 제공하면서도 안전하고 빠르고 비용 효율적인 인프라를 활용할 수 있습니다. 이 서비스의 목적은 규모의 이점을 최대화하여 개발자에게 제공하는 것입니다.
AWS 프리 티어에는 Amazon S3에서 사용할 수 있는 5GB 스토리지, Get 요청 20,000건 및 Put 요청 2,000건이 포함되어 있습니다.
AWS 프리 티어 세부 정보 보기 »Amazon S3는 최소한의 기능 세트를 포함하도록 구성되었습니다.
Amazon S3에 저장된 데이터는 기본적으로 안전하게 보호됩니다. 즉, 버킷 및 객체 소유자만이 직접 만든 Amazon S3 리소스에 액세스할 수 있습니다. Amazon S3는 암호화를 통해 데이터 전송을 보호하고 디스크에 데이터를 안전하게 저장할 뿐 아니라 여러 액세스 제어 메커니즘도 지원합니다. Amazon S3의 데이터 보호 기능을 사용하면 논리 및 물리적 장애로부터 데이터를 보호하여 의도하지 않은 사용자 작업이나 애플리케이션 오류, 인프라 장애 시 데이터가 손실되지 않도록 할 수 있습니다. PCI 및 HIPAA와 같은 규정 표준을 준수해야 하는 고객의 경우 Amazon S3의 데이터 보호 기능을 전체 전략의 일부로 사용해 규정을 준수할 수 있습니다. Amazon S3에서 제공하는 다양한 데이터 보안 및 신뢰성 기능이 아래에 자세하게 설명되어 있습니다.
Amazon S3는 데이터에 액세스할 수 있는 사용자, 액세스 방법, 액세스 시간 및 위치를 유연하게 제어할 수 있는 여러 메커니즘을 지원합니다. Amazon S3는 Identity and Access Management(IAM) 정책, ACL(액세스 제어 목록), 버킷 정책, 쿼리 문자열 인증의 네 가지 액세스 제어 메커니즘을 제공합니다. 직원이 여러 명인 조직은 IAM을 통해 하나의 AWS 계정에서 여러 사용자를 생성하고 관리할 수 있습니다. IAM 정책을 사용해 IAM 사용자에게 Amazon S3 버킷 또는 객체에 대한 세분화된 제어 권한을 부여할 수 있습니다. ACL을 사용해 개별 객체에 대한 특정 권한을 선택적으로 추가(부여)할 수 있습니다. Amazon S3 버킷 정책은 단일 버킷 내에 있는 일부 또는 모든 객체에서 권한을 추가하거나 거부하는 데 사용할 수 있습니다. 쿼리 문자열 인증을 사용하면 미리 정의된 만료 기간 동안 유효한 URL을 통해 Amazon S3 객체를 공유할 수 있습니다.
HTTPS 프로토콜을 사용하여 SSL로 암호화된 끝점을 통해 Amazon S3에 데이터를 안전하게 업로드/다운로드할 수 있습니다. Amazon S3는 보관 중인 데이터를 암호화할 수 있는 여러 가지 옵션도 제공합니다. 직접 암호화 키를 관리하려면 Amazon S3 암호화 클라이언트와 같은 클라이언트 암호화 라이브러리를 사용하여 데이터를 암호화한 후 Amazon S3에 업로드할 수 있습니다. 반면 Amazon S3에서 암호화 키를 관리하도록 하려면 Amazon S3 Server Side Encryption(SSE)을 사용할 수 있습니다. Amazon S3 SSE를 사용하면 객체를 기록할 때 별도의 요청 헤더를 추가하는 것만으로 업로드 시 데이터를 암호화할 수 있습니다. 암호 해독은 데이터를 검색할 때 자동으로 이루어집니다.
Amazon S3는 Amazon S3 리소스에 대한 요청을 로깅하는 기능도 지원합니다. 해당 요청에 대한 액세스 로그 레코드를 생성하도록 Amazon S3 버킷을 구성할 수 있습니다. 이러한 서버 액세스 로그는 버킷 또는 객체에 대한 모든 요청을 캡처하며 감사 목적으로 사용될 수 있습니다.
Amazon S3에서 제공되는 보안 기능에 대한 자세한 내용은 Amazon S3 Developer Guide의 Access Control 및 Using Data Encryption 항목을 참조하십시오. Amazon S3를 포함하여 AWS 보안에 대한 개요를 보려면 Amazon Web Services: Overview of Security Processes 문서를 참조하십시오.
Amazon S3는 미션 크리티컬 및 기본 데이터 스토리지에 적합하게 설계된, 내구성이 뛰어난 스토리지 인프라를 제공합니다. 여러 시설 및 각 시설의 여러 디바이스에 중복적으로 데이터를 저장합니다. 내구성을 높이기 위해 Amazon S3는 SUCCESS를 반환하기 전에 데이터를 여러 시설에 동기적으로 저장합니다. 이 외에도 Amazon S3는 데이터를 저장 또는 검색할 때 모든 네트워크 트래픽에서 체크섬을 계산하여 데이터 패킷 손상을 감지합니다. 어려운 데이터 검증 및 수동 복구 작업이 필요할 수 있는 일반적인 시스템과 달리 Amazon S3는 정기적이고 체계적인 데이터 무결성 검사를 수행하며 자동으로 자가 치유 기능을 실행하도록 설계되어 있습니다.
Amazon S3는 버전 관리를 통해 추가적인 보호 기능을 제공합니다. 버전 관리를 사용하면 Amazon S3 버킷에 저장된 모든 버전의 모든 객체를 보존, 검색 및 복원할 수 있습니다. 따라서 의도하지 않은 사용자 작업 및 애플리케이션 장애로부터 쉽게 복구할 수 있습니다. 기본적으로 요청을 통해 가장 최근에 기록된 버전을 검색합니다. 이전 버전의 객체는 요청에 버전을 지정하여 검색할 수 있습니다. 저장된 모든 버전에 스토리지 요금이 적용됩니다.
Amazon S3의 표준 스토리지는 다음과 같은 특징이 있습니다.Amazon S3를 사용하면 데이터 보관을 위한 스토리지 옵션으로 Amazon Glacier의 저비용 스토리지 서비스를 활용할 수 있습니다. Amazon Glacier는 GB당 월 0.01 USD의 저렴한 비용으로 데이터를 보관하며 자주 사용되지 않는 데이터 및 몇 시간 정도의 검색 시간이 적합한 데이터에 최적화되어 있습니다. 그 예로 디지털 미디어 아카이브, 재무 및 의료 기록, 원시 게놈 서열 데이터, 장기 데이터베이스 백업 및 규제 준수를 위해 보관해야 하는 데이터가 있습니다.
Amazon S3의 다른 스토리지 옵션인 표준 또는 RRS(낮은 중복 스토리지)와 마찬가지로 Amazon S3의 API 또는 Management Console을 사용하여 Amazon Glacier에 저장된 객체에는 연결된 사용자 정의 이름이 있습니다. Amazon Glacier 옵션 및 Amazon S3 LIST API를 사용하여 저장된 객체를 비롯한 모든 Amazon S3 객체 이름의 실시간 목록을 가져올 수 있습니다. Amazon Glacier의 API를 사용하여 Amazon Glacier에 직접 저장된 객체는 실시간으로 나열할 수 없으며 사용자 정의 이름이 아닌 시스템에서 생성한 식별자를 갖고 있습니다. 사용자 정의 객체 이름과 Amazon Glacier의 시스템 정의 식별자 간 매핑을 Amazon S3가 관리하기 때문에 Amazon Glacier 옵션을 사용하여 저장된 Amazon S3 객체를 액세스하려면 Amazon S3 API 또는 Amazon S3 Management Console을 사용해야 합니다. Amazon S3 API 또는 Management Console을 통해 Amazon Glacier에 저장된 Amazon S3 데이터를 복원하려면 먼저 Amazon S3 API 또는 Management Console을 사용하여 복원 작업을 시작해야 합니다. 복원 작업은 보통 3–5시간 안에 완료됩니다. 작업이 완료되면 Amazon S3 GET 요청을 통해 데이터에 액세스할 수 있습니다.
Amazon Glacier 스토리지 옵션은 다음과 같습니다.Amazon S3를 사용하면 손쉽게 데이터를 관리할 수 있습니다. Amazon S3의 데이터 수명 주기 관리 기능으로 저비용 스토리지 옵션에 객체를 자동 보관하거나 반복 삭제를 수행할 수 있으며, 이를 통해 객체의 수명 기간에 따른 비용을 절감할 수 있습니다. 또한 Amazon S3로 다양한 비즈니스 업무 전반에 대한 비용을 모니터링하고 제어할 수 있습니다. Amazon S3 API 또는 Management Console을 사용하여 이 모든 관리 기능을 손쉽게 관리할 수 있습니다. Amazon S3에서 제공하는 다양한 데이터 관리 기능은 아래에 자세하게 설명되어 있습니다.
데이터의 수명 주기 관리는 생성 및 초기 저장부터 더 이상 필요없게 되어 삭제될 때까지 데이터가 관리 및 저장되는 방법을 말합니다. Amazon S3는 용량 관리, 저비용 스토리지에 자동 보관 및 예약 삭제를 비롯하여 데이터의 수명 주기 관리를 단순화하는 다양한 기능을 제공합니다.
Amazon S3를 사용하는 경우 새 데이터를 저장하면 요구에 따라 확장하고 사용하는 용량에 대해서만 지불할 수 있어 용량을 계획할 필요가 없습니다. 기존 스토리지 시스템을 사용하는 경우 스토리지 증가를 예측할 수 없는 경우가 많아 용량 계획에 쉽게 오류가 발생할 수 있습니다. 용량을 과도하게 프로비저닝하면 용량은 제대로 활용되지 않으면서 비용만 증가하는 결과를 초래할 수 있고, 반대로 프로비저닝 수준이 낮으면 계획한 것보다 빨리 고비용의 하드웨어 업그레이드를 수행해야 할 수 있습니다.
데이터 사용 기간이 경과하면서 하드웨어에 문제가 있거나 수명이 다하는 경우 Amazon S3는 자동으로 원활하게 새 하드웨어로 데이터를 마이그레이션합니다. 따라서 값비싸고 시간이 걸리며 위험한 하드웨어 마이그레이션을 수행할 필요가 없습니다. 또한 Amazon S3를 사용하면 데이터 시간이 지남에 따라 저비용 스토리지에 데이터를 자동 보관할 수 있습니다. 객체 수명에 맞춰 Amazon S3 객체 세트를 Amazon Glacier에 자동 보관하는 규칙을 정의할 수 있습니다. 데이터 보관 규칙은 미국 표준, 미국 서부(캘리포니아 북부), 미국 서부(오레곤), EU 서부(아일랜드) 및 아시아 태평양(일본) 지역의 Amazon S3 객체에서 지원됩니다.
Amazon S3는 데이터 수명이 다하면 프로그래밍 방식으로 대용량 반복 삭제를 수행할 수 있는 옵션을 제공합니다. 반복 삭제의 경우 미리 정의된 기간 후에 객체 세트를 제거하도록 규칙을 정의할 수 있습니다. 일회성 삭제를 효율적으로 수행하기 위해 단일 요청으로 최대 1,000개의 객체를 삭제할 수 있는 기능을 제공합니다. 이 규칙은 표준 객체, RRS 객체 또는 Amazon Glacier에 보관된 객체에 적용될 수 있습니다.
Amazon S3는 비용 관리 및 제어를 위한 여러 기능을 제공합니다. AWS Management Console 또는 Amazon S3 API를 사용하여 Amazon S3 버킷에 태그를 적용함으로써 비용 센터, 애플리케이션 이름 또는 소유자를 비롯한 여러 비즈니스 업무에 비용을 할당할 수 있습니다. 그런 다음 Amazon Web Services의 Cost Allocation Reports를 사용하여 이 비용의 내역을 볼 수 있습니다. 보고서에는 태그별로 집계된 사용 및 비용이 표시됩니다. 비용 할당 및 태그 지정에 대한 자세한 내용을 보려면 About AWS Account Billing을 참조하시기 바랍니다. S3 버킷에 태그를 지정하는 방법에 대한 자세한 내용은 Amazon S3 Developer Guide의 Bucket Tagging 주제를 참조하십시오.
Amazon CloudWatch를 사용하여 청구서의 Amazon S3 요금 모니터링에 도움이 되는 결제 알림을 받을 수 있습니다. 예상 요금이 선택한 임계값에 도달하면 이메일을 통해 자동으로 알림을 받도록 알림을 설정할 수 있습니다. 결제 알림에 대한 추가 정보를 보려면 결제 알림 페이지를 방문하거나 Amazon CloudWatch Developer Guide의 Monitor Your Estimated Charges 주제를 참조하십시오.
사용한 부분에 대해서만 지불. 최소 요금이 없습니다. AWS 월 사용량 계산기를 사용해 월별 청구액을 추산할 수 있습니다. 비용이 저렴한 지역에서는 과금액도 줄어들며 가격은 사용자의 Amazon S3 버킷 위치를 기준으로 합니다.
AWS 프리 티어*
AWS 프리 티어를 사용하는 고객은 Amazon S3를 무료로 시작할 수 있습니다. AWS 신규 가입 고객은 1년 동안 매달 5GB의 Amazon S3 표준 스토리지, 20,000건의 Get 요청, 2,000건의 Put 요청, 15GB의 데이터 무료 전송 혜택을 받게 됩니다.
아래의 가격은 Amazon EC3에서 "수신"하거나 "송신"한 데이터를 기준으로 책정된 것입니다.
스토리지 및 대역폭 크기에는 모든 파일 오버헤드가 포함됩니다.
요금은 Amazon EC2, Amazon S3, Amazon Glacier, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway 전체에서 인터넷으로 송신된 데이터 송신량을 합산한 것입니다.
AWS GovCloud는 특정 규정 및 규제 준수 요구 사항을 준수하여 미국 정부 기관과 정부 조달업체들이 더 중요한 워크로드를 클라우드로 이전할 수 있도록 설계된 AWS 지역입니다. 요금 및 새로운 AWS GovCloud 지역에 대한 자세한 내용은 AWS GovCloud 웹 페이지를 참조하십시오.
* 프리 티어의 사용량은 매달 AWS GovCloud 지역을 제외한 모든 지역의 사용량을 합산하여 계산되며 청구서에 자동으로 적용됩니다. 월별 미사용량은 이월되지 않습니다. 제한 사항이 적용됩니다. 자세한 내용은 오퍼 약관을 참조하십시오.
(Amazon S3 판매업체: Amazon Web Services, Inc..)
AWS Management Console을 사용해 쉽고 안전하게 버킷을 만들고, 객체를 업로드하고, 액세스 제어를 설정할 수 있습니다. 이 콘솔은 포인트 앤 클릭 방식의 웹 기반 인터페이스로, 모든 Amazon S3 리소스를 액세스하고 관리할 수 있습니다. Amazon S3 시작 안내서를 참조하면 콘솔에서 Amazon S3 사용을 시작하는 방법을 확인할 수 있습니다. 애플리케이션을 구축하는 개발자는 .NET용 AWS SDK, Java용 AWS SDK를 사용할 수 있으며, 다른 플랫폼 및 언어를 사용하는 경우에는 타사에서 제공하는 다양한 라이브러리를 활용할 수 있습니다.
AWS Import/Export는 데이터 전송 시 이동식 스토리지 디바이스를 사용하여 AWS에서 많은 양의 데이터를 빠르게 송수신할 수 있습니다. AWS는 Amazon의 고속 내부 네트워크를 사용해 인터넷을 거치지 않고 스토리지 디바이스에서 직접 데이터를 송수신합니다. 대용량 데이터인 경우 대개 AWS Import/Export가 인터넷 전송보다 빠르며 연결 용량을 업그레이드하는 것보다 비용 효율적입니다. AWS Import/Export를 사용해 데이터를 클라우드로 마이그레이션하거나, 콘텐츠를 고객에게 배포하거나, AWS로 백업을 전송하거나, 재해 복구를 수행할 수 있습니다.
또한 AWS Direct Connect를 사용하여 Amazon S3에 대용량 데이터를 전송할 수 있습니다. AWS Direct Connect를 통해 사용자 측과 AWS 간에 전용 네트워크 연결을 쉽게 설정할 수 있습니다. AWS Direct Connect를 사용하면 AWS와 사용자의 데이터 센터, 사무실, 또는 콜로케이션 환경 사이에 전용 연결을 설정할 수 있습니다. 따라서 많은 경우 네트워크 비용을 줄이고, 대역폭 처리량을 향상하며, 인터넷 기반 연결보다 일관된 네트워크 경험을 제공합니다.
Amazon S3를 이용하면 다음과 같은 다양한 사용 사례를 지원할 수 있습니다.
Amazon S3는 인터넷 기반 스토리지는 품질이 기본이라는 생각에서 출발했습니다. Amazon S3 덕분에 개발자들은 데이터를 어떻게 저장할지, 데이터 저장 방법이 안전성과 보안성을 모두 갖추고 있는지, 사용할 수 있는 스토리지가 충분한지 여부를 걱정할 필요가 없게 되었습니다. 또한 스토리지 서버를 지속적으로 유지관리 및 확장하는 비용뿐 아니라 자체 스토리지 솔루션을 구축하는 초기 비용을 부담하지 않아도 됩니다. Amazon S3의 기능은 단순하면서도 강력합니다. 원하는 양의 데이터를 저렴하고 안전하게 저장하는 동시에 필요할 때 언제든지 데이터를 사용할 수 있습니다. Amazon S3를 사용하면 개발자들이 데이터 저장 방법을 고심하는 대신 데이터를 이용한 혁신에 집중할 수 있게 됩니다.
Amazon S3는 다음과 같은 설계 요구사항을 충족할 수 있도록 구성되었습니다.
설계의 필수조건은 하나의 Amazon S3 배포 시스템이 내부 Amazon 애플리케이션과 외부 애플리케이션 개발자의 요구를 모두 지원해야 한다는 것이었습니다. 이는 Amazon.com 웹 사이트를 실행할 수 있을 만큼 충분히 빠르고 안정적일 뿐 아니라 개발자가 어떠한 스토리지 요구에도 시스템을 사용할 수 있는 유연성이 있어야 한다는 것을 의미합니다.