처음 시작하는 Infrastructure as Code: AWS & 테라폼을 수강하며 정리한 내용입니다.
Amazon S3의 개념
- S3(Simple Storage Service)는 인터넷용 스토리지 서비스
- 웹에서 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 함
버킷
- 버킷은 데이터 스토리지를 위한 Amazon S3의 기본 컨테이너
- S3를 사용하기 위해 데이터를 저장하는 버킷을 만들고 해당 버킷의 이름을 지정
- 모든 객체는 버킷에 포함됨
- 버킷이라는 용어는 다음과 같은 여러 용도로 사용
- Amazon S3 네임스페이스를 최상위 수준으로 구성
- 스토리지 및 데이터 전송 요금을 담당하는 계정을 식별
- 액세스 제어에 사용
- 사용량 보고를 위한 집계 단위로 사용
- 버킷은 특정 AWS 리전에서 생성되도록 구성
- 객체가 추가될 때마다 S3에서 고유한 버전의 ID를 생성하고 이를 객체에 할당하도록 버킷을 구성할 수도 있음
객체
- 객체는 Amazon S3에서 저장되는 기본 개체
- 객체는 객체 데이터와 메타데이터로 구성됨
- 객체는 키(이름)와 버전 ID로 버킷 내에서 고유하게 식별됨
키
- 키는 버킷 내 객체의 고유한 식별자
- 버킷 내 모든 객체는 하나의 키를 가짐
- 버킷, 키, 버전 ID의 조합은 각 객체를 고유하게 식별
- Amazon S3 내 모든 객체는 웹 서비스 엔드포인트, 버킷 이름, 키, 그리고 선택 사항인 버전의 조합을 통해 고유하게 주소를 지정할 수 있음
리전
- Amazon S3에서 사용자가 만드는 버킷을 저장할 지리적 AWS 리전을 선택할 수 있음
- 지연 시간 최적화, 비용 최소화, 규정 요구 사항 준수 등 다양한 필요에 따라 리전을 선택할 수 있음
- 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하지 않는 한 해당 리전을 벗어나지 않음
S3 사용의 장점
- 데이터 저장: 버킷에 데이터를 무한정으로 저장, Amazon S3 버킷에 객체를 원하는 만큼 업로드할 수 있으며, 각 객체에 최대 5TB의 데이터를 포함할 수 있음, 각 객체는 고유한 개발자 할당 키를 사용하여 저장 및 검색
- 데이터 다운로드: 언제든 데이터를 직접 다운로드하거나 다른 사람이 다운로드할 수 있도록 허용함
- 권한: 데이터를 S3 버킷으로 업로드 또는 다운로드하려는 사용자에게 액세스 권한을 부여하거나 해당 권한을 거부, 3가지 유형의 사용자에게 업로드 및 다운로드 권한을 부여할 수 있음, 인증 메커니즘을 사용하면 데이터가 무단으로 액세스되지 않도록 보호하는 데에 도움이 됨
- 표준 인터페이스: 모든 인터넷 개발 도구 키트에서 사용할 수 있도록 설계된 표준 기반 REST 및 SOAP 인터페이스를 사용