Block Storage
- 데이터를 고정된 사이즈의 블록으로 나눠서 식별자와 함께 저장.
- AZ 내에서만 복제 허용.
- 적용 서비스
- EBS
- Instance Store(ec2 재부팅 되면 사라지는 휘발성 디스크)
Object Storage
- 객체 단위로 저장 (객체의 일부만 수정할 수 없다.)
- 객체는 key: metadata, value: file 으로 구성.
- 파일을 자주 변경하는 요구사항에 부적합.
- 여러 리전에 복제 가능.
- 적용 서비스
- S3
- S3 Glacier
File Storage
- 파일 시스템 형태로 디렉토리/파일 저장.
- 파일 탐색에 지연시간 발생 가능.
- 적용 서비스
- EFS
- FXS for windows
S3 (Simple Storage Service)
- WORM (Write Once Read Many times) 콘텐츠 저장에 적절하다.
- 파일 백업 / 정적 웹 사이트 호스팅(with CloudFront) / 미디어 콘텐츠 서빙에 활용 가능하다.
- 버킷 용량에 제한이 없다.
- 버킷의 이름은 전 세계에서 고유해야 한다. (버킷이름을 파일 URI 도메인으로 사용하기 때문.)
S3 access point
- 버킷에 적용할 리소스 기반 정책으로 액세스 권한을 설정하기에는 복잡도가 크고 정책 작성 용량이 한정되어 있기 때문에 리소스 기반 정책 대신 S3 access point 를 사용한다
S3 객체 암호화
- SSE-S3
- KMS
- SSE-C
사례 별 S3 하위 서비스
파일 버저닝
- 버킷에 ‘버킷 버전 관리’ 활성화하면 동일한 이름의 파일이 여러번 올라갈 때마다 버전 아이디 부여.
- 파일을 삭제하면 soft delete 하고 soft delete 에 대한 버전도 생성. → 파일 삭제를 취소하려면 파일 삭제에 대한 버전을 없애면 됨.
multi-part upload
- 객체 1개당 5TB 까지 업로드 가능하지만 최대 용량 채워서 객체를 업로드 하지는 않는다. → 대용량 파일은 멀티파트 업로드.
uploadObject()
API 에 multi-part 옵션 사용.
더 빠르게 사용자에게 콘텐츠 제공하기 (transfer acceleration)
- edge location 에 콘텐츠 캐싱
- https://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html 에서 속도 비교 가능
EFS
- 여러 인스턴스(across-AZ)가 스토리지를 공유해야 하는 상황에는 EFS 사용 권장.
- EBS 는 인스턴스 단위로만 사용하는 걸 권장.
Data migration
마이그레이션을 하려면 아래 4가지 파악 필요.
- 데이터를 이동하려는 위치
- 데이터 이동 관련 사례
- 이동하려는 데이터의 유형
- 사용 가능한 네트워크 리소스
AWS migration tool
- DataSync
- Storage Gateway
- SnowFamily