S3란?
보통 데이터베이스와 헷갈려하는데 데이터베이스와는 다르게 Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스다. 일반적인 파일서버는 트래픽이 증가함에 따라서 장비를 증설하는 작업을 해야 하는데 S3는 이와 같은 것을 대행한다. 트래픽에 따른 시스템적인 문제는 걱정할 필요가 없어진다. 또 파일에 대한 접근 권한을 지정 할 수 있다.
S3의 특징
- 많은 사용자가 접속을 해도 이를 감당하기 위해서 시스템적인 작업을 하지 않아도 된다.
- 저장할 수 있는 파일 수의 제한이 없다.
- 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있다.
- 파일에 인증을 붙여서 무단으로 엑세스 하지 못하도록 할 수 있다.
- 데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다.
- 버전관리 기능을 통해서 사용자에 의한 실수도 복원이 가능하다.
S3 버킷 생성하기
아마존 s3로 들어가 버킷 만들기를 누르고 버킷에 관련한 설정들을 해주면 된다.
- 버킷 이름및 지역선택
- 객체 소유권 선택
- 다른 AWS 계정에서 이 버킷에 작성한 객체의 소유권 및 액세스 제어 목록(ACL)의 사용을 제어한다. 객체 소유권은 객체에 대한 접근권한을 지정할 수 있는 사용자를 결정한다.
- 퍼블릭 액세스 설정
- 이 버킷 및 해당 객체에 대한 퍼블릭 액세스가 차단되었는지 확인하려면 모든 퍼블릭 액세스 차단을 활성화한다.
- 버킷 버전 관리
- 객체의 여러 버전을 동일한 버킷에서 관리하기 위한 수단이다
- 버전 관리를 사용하여 버킷에 저장된 모든 객체의 각 버전을 보존, 검색 및 복원할 수 있다
- 버전 관리를 통해 의도치 않은 사용자 작업과 애플리케이션 장애를 모두 복구할 수 있다
- 태그
- 버킷에 태그를 지정하여 스토리지 비용을 추적한다
- 암호화
- 이 버킷에 저장된 새 객체를 자동으로 암호화한다
S3 관련 용어 이해하기
객체(object)
- AWS는 S3에 저장된 데이터 하나 하나를 객체라고 명명하는데, 하나 하나의 파일이라고 생각하면 된다.
버전관리
- S3에 저장된 객체들의 변화를 저장하는 것이다.
ex) 하나의 객체를 사용자가 삭제하거나 변경해도 각각의 변화를 모두 기록하기 때문에 실수를 만회할 수 있다.
버킷(bucket)
- 객체가 파일이라면 버킷은 연관된 객체그룹의 최상위 디렉토리라고 할 수 있다. 버킷 단위로 지역을 지정 할 수 있고, 또 버킷에 포함된 모든 객체에 대해서 일괄적으로 인증과 접속 제한을 걸 수 있다.
RRS(Reduced Redundancy Storage)
- 표준 스토리지보다 저렴한 비용 으로 데이터를 저장할 수 있다.
- RRS 옵션은 여러 시설 전반에 다양한 디바이스에 객체를 저장하며 일반 디스크 드라이브의 400배에 달하는 내구성을 제공 하나 표준 스토리지 만큼 많이 객체를 복제하지는 않으므로 원본을 복제한 데이터나 가공한 데이터의 저장에 알맞다.