숫자나 문자가 아닌, 크기가 큰 이미지 정보는 데이터 베이스에 담을 수 없어, 전용 장소에 저장해야한다!
EC2 인스턴스도 SSD나 하드디스크와 같은 EBS 스토리지를 제공하여, 해당 공간에 이미지와 같은 정보를 저장 할 수도 있다. 하지만, EC2에 설치하기에 EC2 인스턴스의 OS 관리, 장애대응 직접 대처방안 마련 등의 귀찮은 작업을 직접 해야한다.
하지만, AWS에서는 이런 불편함을 해소할 수 있는 데이터 스토리지 서비스인 S3를 제공한다.
풀네임은 Amazon Simple Stroage Service다.
AWS에서 EBS는 작동하는 하드웨어의 장애에 대비해서 백업할 것을 권장하지만, S3에 대해서는 내구성 99.999...%를 달성하도록 명시되어 있다고 한다. 즉, S3에 담겨지기만 한다면, 손상되거나, 사라질 일은 없다는 것이다.
다만, EBS와의 다른 점은 외부 스토리지 서비스라서 C 드라이브나 D 드라이브와 같은 로컬 스토리지로 활용할 수 없고, 리눅스나 맥의 파일 시스템처럼 마운트 할 수 없다는 제약사항은 있다.
VPC 내부의 리소스에서 S3로 접근할 때는 S3 버킷에 접근 가능하다는 권한이 필요하다.
대상이 되는 S3 버킷에 접근 할 수 있다는 정책을 가진 역할을 생성하고, 해당 역할을 VPC 내부의 리소스(EC2 등)에 적용하면 해당 리소스에서 S3 버킷에 접근 할 수 있다.
버킷에는 객체를 담을 수 있다.
그렇다면 객체는 대체 뭘 의미할까? 바로, 텍스트, 이미지, 음성, 동영상 파일 등 파일로 다룰 수 있는 것을 의미한다.
즉, 파일을 버킷에 담을 때는 객체라고 이름을 부르는 것이다.
버킷이름은 같은 리전 내에서 중복되면 생성이 안된다.
++ cloudfront를 사용한 캐싱
++ glacier S3도 있다!!
훌륭한 글 감사드립니다.