개념 Simple Storage Service 의 약자로 인터넷 스토리지 서비스임
용량 관계없이 파일 저장이 가능하며, 웹에서 해당 파일에 대한 접근이 가능함
저장 용량 무제한 / 용량 추가 및 성능 높이는 작업이 불필요함
비용 또한 EC3, EBS 구축비용보다 훨씬 저렴함
별도의 EC2 및 웹서버없이도 정적 웹 호스팅이 가능함
S3 는 Auto Scaling 또는 Load Balancing 신경쓰지 않아도 됨
HTTP 프로토콜로만 처리함 (별도 클라이언트 / ActiveX 불필요)
개념 추가 . 객체(Object) : S3 데이터 저장되는 최소 단위이며, 파일과 메타데이터로 구성됨
. 키가 객체 이름이며, 값이 객체 타입
. 객체 하나의 크기는 1Byte ~ 5TeraByte 까지임
. 버킷 : S3 생성할 수 있는 최상위 폴더(디렉토리)이며, 버킷은 리전별로 생성해야함
   - 주의사항은 버킷의 이름은 S3 리전 중에서 Unique 해야함
   - 계정별로 100개까지 생성 가능함
. 저장 가능한 객체의 개수와 저장 가능한 용량은 무제한
. 접속 제어 및 권한 관리 가능
. 내구성 : 99.99999999% / 가용성 : 99.99%
. 비용은 저장 용량, 데이터 전송량, HTTP 요청 개수로 책정됨
스토리지 옵션 . 표준 스토리지 : 99.999999999% 내구성 유지하며, 유실되면 않되는 중요 데이터 저장에 권장
. 낮은 중복 스토리지(RRS : Reduces Redundancy Storage) : 표준 스토리지보다 낮은 99.99% 내구성 제공, 복제 사본의 수를 줄여 비용을 맞춰 비용이 저렴함
  - 표준 스토리지 대비 약 20% 저렴
버킷 생성 AWS 콘솔 > Storage & Content Delivery S3 선택 > Create Bucket > 버킷 이름 및 리전 선택
버킷에파일
올리고
내리기
. 업로드 : 버킷 선택 > Upload > Add Files  또는 업로드하고자 하는 파일 선택 후 마우스 드래그
  - 업르도 시 설정을 통해 스토리지 옵션 및 권한 등을 선택할 수 있음
. 내리기 : 업로드된 파일 우클릭 후 Download 선택
세부 설정 . S3 객체 권한 관리 : 파일 선택 후 Properties 를 통해 링크 확인 가능하며, 외부 접근 설정을 위해서는 
  - Default 는 외부망에서 접근이 불가하며, 외부망으로 오픈 필요 시 파일 선택 후 우클릭 > Make Public 선택
  - 파일에 대한 접근 / 다운로드 / 업로드 등의 권한 제어가 개별 파일별로 설정 가능함
. S3 버킷 권한 관리
  - 버킷 > Properties > Permissions > add bucket policy > Bucket Policy Editor > AWS Policy Generator
    . Generator 마법사 도구를 이용해 권한 정책을 설정하면 JSON 형태로 나온 텍스트를 복사 후 AWS Policy Generator 에  붙여넣음
. 웹 사이트 호스팅
  - S3 URL 형태 : s3-<리전 이름>.amazonaws.com/<버킷 이름>/<파일 이름>
  - S3 URL 형태 : s3-<리전 이름>.amazonaws.com/<버킷 이름>/<파일 이름>
    . ex) http://examplebucket10.s3-website-ap-northeast-1.amazonaws.com/Jellyfish.jpg
  - 버킷 이름이 서브 도메인 형태로 입력되기 때문에 DNS 서버에 CNAME 을 설정할 수 있음
    . CNAME 이란 AA.com 도메인의 CNAME 버킷이름으로 설정하면 AA.com 의 버킷 내용이 바로 표시되게 가능함
. HTTP Referer 로 S3 접근 제한
  - 불필요한 접근을 허용함에 따른 비용 증가를 막기 위해 원하지 않는 Referer 제한이 가능함
. 객체 스토맂 클래스, 암호화 설정
  - 스토리지 저장 대상 및 암호화 여부 설정이 가능함
  - 저장 스토리지 선택 : Standard 와 Reduced Redundancy
  - 암호화 : NONE 또는 AES-256 선택 가능
. 객체 메타데이터 설정
  - 메타데이터 : HTTP 표준 메타데이터와 S3 전용 메타데이터로 나뉨
  - HTTP 1.1 표준 메타데이터 : Cache-Control / Content-Type / Expires 등
  - S3 전용 메타데이터 : Web Redirection Location / x-amx-meta / x-amx-server-side-encryption 등
. S3 버킷 로그 설정
  - S3 저장된 객체 접속 로그를 텍스트 파일 형태로 저장 가능
  - 버킷 > Properties > Logging 탭에서 선택 가능
. S3 버저닝 설정
  - S3 자체적으로 파일 버전 관리 기능을 내장하고 있으며, 파일이 변경되었을 때 이전 버전의 파일을 되돌리거나, 삭제한 파일을 복원할 수 있음
  - 다만 버저닝 시 저장 공간이 늘어나는 부분은 감안을 해야함
  - 버저닝 기능은 한 번 사용하면 다시는 끌 수 없는 옵션으로 사용 시 주의해야함 (Lifecycle 기능도 사용 불가)
. S3 수명주기 설정
  - S3 수명주기는 저장된 객체가 일정 주기가 지났을 때 사용하지 않는 파일을 자동으로 삭제하거나 백업하는 기능임
. 버킷 기타 설정
  - Notifications(객체 유실 시 SNS 알림) / Tags(버킷 태그 설정) / Requester Pays(사용 공간에 대해서만 요금 지불 옵션하며, 다운로드한 비용은 요청자가 지불함) 등의 다양한 설정까지도 가능함 (1TB 저장하는데 한달에 대략 5만원  (1기가당 50원) )