클라우드 스토리지란?
- 스토리지 : 데이터를 보관하는 장소, 우리가 사용하는 모든 저장 장치
- 휴대성 고려한 USB, 대용량 데이터 보관 및 백업을 위한 SSD, HDD
- 인터넷을 통해 데이터를 저장하고 액세스할 수 있게 해주는 클라우드 컴퓨팅 모델
- 사용자는 퍼블릭 인터넷 또는 전용 프라이빗 네트워크를 통해 연결
- 용량 및 비용이 on-demand로 제공
- 자체 데이터 스토리지 인프라를 구매 혹은 관리할 필요 없음
특징 및 장점
- 비용 효율성
• 필요한 만큼만 사용하고 비용을 지불
• HW 구매 및 유지보수 비용 절감
- 확장성
• 수요에 따라 쉽게 확장하거나 축소
- 접근성
• 언제 어디서나 데이터에 접근 가능
- 민첩성
• 리소스 프로비저닝 시간을 대폭 단축
- 데이터 관리 효율성
• 자동화된 정책을 통해 데이터 라이프사이클을 효과적으로 관리
- 보안 및 비즈니스 연속성
• 데이터 센터의 보안과 중복 저장을 통해 데이터를 보호하고 비즈니스 연속성 보장
- 개발 및 혁신 지원
• 개발자들이 인프라 관리보다 애플리케이션 개발에 집중
스토리지의 종류
- 객체(오브젝트) 스토리지
• 비정형 데이터(사진, 동영상, ML 데이터, 센서 데이터 등)을 위한 스토리지
• 데이터를 ‘객체’로 저장하며, 사용자 지정 메타데이터 사용 가능
• 높은 확장성과 경제성 제공
• 현대적 애플리케이션 개발, 분석, 백업, 아카이브에 적합
• Amazon S3
- 파일 스토리지
• 데이터를 계층형 폴더 및 파일 형식으로 저장
• 네트워크 연결 스토리지(NAS) 서버와 유사
• Windows(SMB)와 Linux(NFS) 시스템에서 널리 사용
• Amazon EFS
- 블록 스토리지
• 데이터베이스나 ERP 시스템과 같은 엔터프라이즈 애플리케이션에 적합
• 낮은 지연 시간과 호스트별 전용 스토리지 제공
• 데이터를 ‘블록’ 형태로 저장하며, 각 블록에 고유 식별자 부여
• Direct Attached Storage(DAS) 또는 Storage Area Network(SAN)와 유사
• Amazon EBS
• Practitioner Level : 스토리지 종류를 이해하고, 온프레미스와 클라우드를 잇는 스토리지
• Associate Level : 다양한 스토리지 솔루션 연계 방법, 다양한 데이터 전송 솔루션
스토리지의 종류 별 대표 서비스
- Amazon Simple Storage Service(S3)
• 최소의 3개의 가용 영역(단일 AWS 리전에 전원, 네트워킹 및 연결이 이중화되어 있는 개별 데이터 센터 클러스터)에 걸쳐 여러 디바이스에 객체를 중복 저장
- Amazon Elastic File System(EFS)
• 동영상 및 의료 이미지, 웹 및 리치 미디어 콘텐츠, 사용자 디렉터리 또는 대용량 데이터 세트와 같은 비정형 데이터가 있는 애플리케이션에 공유 파일 액세스를 제공
- Amazon Elastic Block Store(EBS)와 Instance Store
• 개별 EC2 컴퓨팅 인스턴스로 프로비저닝되기 때문에 고성능 워크로드에 필요한 극도로 짧은 지연 시간을 제공

Amazon S3
- Amazon Simple Storage Service(S3)
- AWS의 가장 오래된 서비스 & 가장 중요한 기본 서비스로 평가됨
- 데이터 저장 공간이 거의 무제한!
- 높은 내구성 : 99.999999999%으로 데이터 손실 최소화(‘Eleven Nine’)
- 물리적으로 분리된 3개 이상의 가용영역에 복제해서 저장
- 가용성 : S3 클래스마다 다름
AWS S3 use cases
- 데이터 백업 및 아카이브
- 중요한 데이터의 백업 복사본 저장
- 장기 보관이 필요한 데이터 아카이빙
- 재해 복구를 위한 데이터 복제
- 정적 웹사이트 호스팅
- HTML, CSS, JavaScript 파일 등 정적 웹 콘텐츠
호스팅
- 이미지, 비디오 등 미디어 파일 저장 및 배포
- 빅데이터 분석
- 대규모 데이터 세트 저장
- 데이터 레이크 구축
- 분석 도구와 연계하여 데이터 처리 및 분석 수행
- 콘텐츠 배포
- 글로벌 사용자에게 콘텐츠 빠르게 전달
- Amazon CloudFront와 연계한 CDN 구축
- 애플리케이션 데이터 저장
- 모바일 및 웹 애플리케이션의 사용자 생성 콘텐츠 저장
- 로그 파일, 설정 파일 등 애플리케이션 데이터 보관
- IoT 데이터 저장
- IoT 디바이스에서 생성된 데이터 수집 및 저장
- 센서 데이터 분석을 위한 저장소로 활용
- 소프트웨어 배포
- 소프트웨어 업데이트 파일 저장 및 배포
- 모바일 앱 바이너리 저장
- 데이터 공유 및 협업
- 팀 간 대용량 파일 공유
- 외부 파트너와의 안전한 데이터 교환
Amazon S3 (Buckets, Objects, API)
버킷(Buckets)
- 객체 저장 컨테이너로써, 객체(object)는 반드시 버킷에 저장
- ‘최상위 디렉토리’와 같은 개념
- 버킷은 글로벌 서비스이지만, 특정 리전(region) 단위로 생성
- 하나의 리전에서 생성된 후에는 버킷 이름과 리전 변경 불가
- 글로벌로 유일한 이름으로 설정해야 함(Globally Unique name)
객체(Objects)
- 버킷에 저장되는 이미지, 문서 등을 객체라고 함
- 객체는 데이터(이미지, 문서 등) + 메타데이터(속성)
- 객체는 ‘객체 키’ 를 가짐(고유 식별자)
- s3://my-bucket/my_file.txt (파일 이름)
- s3://my-bucket/my_folder/my_file.txt (폴더를 포함한 전체)
- 버킷은 디렉토리 개념이 아닌, 객체키의 형태로 저장
- 객체는 최대 5TB까지 저장 가능 But, 크기가 5GB보다 크면 “멀티 파트 업로드” 사용
- 5TB = 5GB * 1000번
- 병렬적으로 업로드함으로써 처리량 개선(성능 향상)
- 파일 수의 제한 없이 무제한으로 저장 가능
Amazon S3 - API
- S3는 REST API 및 HTTPS SOAP API 지원
- 높은 호환성(Compatibility)
- AWS의 EC2를 포함해, Azure, GCP 등의 타사 클라우드 및 SaaS 서비스와 간편 연계 가능
- 즉, S3의 API 이용
Amazon S3 – Static Web Hosting
- 인터넷을 통한 정적 웹 호스팅 가능
<정적 콘텐츠> <동적 콘텐츠>
변화 없는 데이터 자주 변화하는 데이터
언제든 동일한 결과 반환 요청에 따라 다른 결과 반환
ex) 이미지 파일 ex) 사용자 맞춤 정보 제공
- 웹 브라우저 상에서 URL을 통해 웹사이트 접속
- http://bucket-name.s3-website.ap-northeast-2.amazonaws.com
(버킷) (리전)
- ‘403 Forbidden’ 에러가 발생한다면, 버킷 정책(bucket policy)을 public 허용 설정 필요
Amazon S3 – Static Web Hosting 권한 설정
- 불특정 다수가 접근하는 권한 설정 필요 (Public Access)
• AWS 관리 콘솔에서 설정

• Bucket Policy 설정

Amazon S3 - Versioning
- S3의 파일들은 버전으로 관리할 수 있음
• 사용자가 버전 관리 기능을 활성화해야 함
• 초기에는 null로 설정됨
• 버킷 단위로 설정
- 파일 업데이트 시 (덮어쓰기 방법으로) 기존 파일의 버전을 바꿔 저장 (version 1, version 2 …)
• 이전 버전으로 파일 복구시 새 버전을 영구 삭제(permanently delete)
- 실수로 파일을 삭제했을 때 롤백할 수 있어 버전 관리 기능 사용 추천
• 파일을 삭제하면 삭제 표시(delete marker)만 달아주고, 실제로 지워지지 않아 다시 복구 가능
• 복구하고 싶다면 삭제 표시된 버전을 영구 삭제(permanently delete)

복제(Replication) – CRR & SRR
- 복제할 원본 버킷과 목적 버킷 모두 버저닝(versioning) 활성화 필요
- 각각 AWS 계정이 달라도 상관없음
- 비동기, 백그라운드로 복제됨
- CRR (Cross-Region Replication)
- 서로 다른 리전의 버킷에 복제
- 지리적으로 가까운 액세스가 필요한 경우
- 재해 복구(DR)
- SRR (Same-Region Replication)
- 동일한 리전의 버킷에 복제
- S3의 경우 3개의 가용영역에 걸쳐 저장됨(이중화)
- 데이터 주권 및 규정 준수 요구 사항으로 동일 리전에 복사본을 두어야 하는 경우
S3 암호화(Encryption)
- Server-Side Encryption(SSE) – 기본적으로 활성화
• 사용자가 오브젝트를 버킷에 업로드 하면, S3가 암호화 해서 저장

- Client-Side Encryption(CSE)
• 사용자가 파일을 업로드 하기 전에 암호화(암호화 키) 혹은 전송 중 암호화(SSL/TLS)

스토리지 클래스
• Amazon S3 Standard
• Amazon S3 Standard-Infrequent Access(IA)
• Amazon S3 Intelligent Tiering
• Amazon S3 One Zone-Infrequent Access(IA)
• Amazon S3 Glacier Instant Retrieval
• Amazon S3 Glacier Flexible Retrieval
• Amazon S3 Glacier Deep Archive
• 스토리지 클래스 간 전환을 위해 폭포형(Waterfall) 모델 지원

※ 스탠다드로 갈수록 비용이 더 비싸짐 (클래스를 정할 수 있음)
S3 Standard - 범용
- 일반 목적으로 사용
- 일반적인 기업용 객체 스토리지로 다양한 부서가 자주 조회 및 업/다운로드 하는 경우
- 데이터를 검색할 때 요금 및 최소 사용량에 제한 없이 사용한 만큼 비용 지불
- 최소 3개의 가용 영역에 데이터를 저장
- 내구성(durability) : 99.9999999%
- 가용성(availability) : 99.99%
- 웹사이트, 콘텐츠 배포, 빅데이터 분석, 모바일 & 게임 애플리케이션 등
S3 Standard - Infrequent Access – 빈번하지 않은 액세스
• S3 Standard – IA
• 접속 빈도가 낮지만, 필요할 때 빠르게 접근하고 고가용성 유지해야 하는 데이터
• 최소 3개의 가용 영역에 데이터를 저장
• S3보다는 낮은 비용
• 내구성(durability) : 99.9999999%
• 가용성(availability) : 99.99%
• 재해복구(Disaster Recovery), 백업, 장기 보관 파일
S3 One Zone - Infrequent Access – 빈번하지 않은 액세스
• S3 One Zone – IA
• 접속 빈도가 낮지만, 필요할 때 빠르게 접근
• 단일 가용 영역(AZ)에 데이터를 저장
• 해당 가용 영역에서 장애가 발생하더라도 쉽게 복구할 수 있는 데이터에 활용
• 스토리지 비용을 절감
• 내구성(durability) : 99.9999999%
• 가용성(availability) : 99.95%
(참고) S3 Standard vs. S3 One Zone-IA 비교
| S3 Standard | S3 One-Zone-IA |
|---|
| - 기본형 스토리지, 잦은 입출력 | - 1AZ, 가용성(99.5%) |
| - 가장 많은 사용자가 선택 | - 20~30% 저렴 |
| - 3AZ 기반 고가용성(99.99%) | - 가용성, 내구성이 필요성이 낮은 경우 |
| - 웹, 앱, 콘텐츠, 빅데이터 등 | - 보조 백업, S3 CRR에 적합 |
| - S3 수명 주기 관리의 시작점 | ※ CRR(Cross Region Replication): 데이터의 안전한 저장, 대기 시간 최소화, 운영 효율성 증가 등의 목적으로 서로 다른 리전에 데이터 저장하는 방식 |
S3 Intelligent-Tiering – 알 수 없거나 변동성이 있는 액세스
- 데이터 접근의 패턴을 알 수 없거나 자주 변화하는 데이터
- 접근 빈도에 따라 스토리지 클래스 이동(접속 빈도가 낮은 데이터를 저렴한 클래스로 이동)
- Amazon S3를 30일 연속 객체에 접근하지 않으면 → S3 Standard-IA로 이동
• 다시 사용자가 객체를 접근하면 Amazon S3 Standard로 자동 이동
- 이후, 90일간 접속이 없으면 Archive Access tier로 이동
- 180일간 접속이 없으면 Deep Archive Access tier로 이동
S3 glacier - 아카이브
- 거의 접근하지 않는 데이터를 주로 오랫동안 보관하는 목적으로 사용
- ex) 업무일지를 5년간 의무 보관
- 다른 클래스로 옮기려면 GB 당 비용이 발생
- 저렴한 비용으로 아카이브 / 백업으로 사용
- S3 Standard 대비 1/5 수준의 비용
- Amazon S3 Glacier Instant Retrieval
- Amazon S3 Glacier Flexible Retrieval
- Amazon S3 Glacier Deep Archive
- 7~10년 장기 아카이브 스토리지, 인출하는데 12~48시간 소요, 테이프 드라이브 대체
스토리지 클래스 비교

(추가) Amazon S3 Express One Zone - 고성능
-
가장 자주 액세스하는 데이터를 위한 고성능 스토리지
-
10 밀리초 미만의 일관된 요청 지연 시간
-
단일 가용 영역 스토리지
-
S3 Standard에 비해 액세스 속도를 10배 향상하고 요청 비용을 50% 절감
- 요청이 최대 10배 더 빠르게 완료되어 애플리케이션의 성능이 높아짐
-
가용성 : 99.95%
-
분석 및 인공지능 및 기계학습(AI/ML) 워크로드(Amazon EMR, SageMaker, Athena)를 지원
-
사용량과 필요에 따라 스토리지가 자동으로 스케일 업 또는 스케일 다운되므로 스토리지 시스템 관리가 쉬움
Amazon EFS(Elastic File System) - 외장하드 역할
- 다수의 AZ, 위치에 분산된 다양한 컴퓨팅 리소스를 연결하는 공유 파일 시스템
- AWS는 EC2, Lambda, ECS, EKS 등 다양한 서비스 제공하며, 필요에 따라 서로 연결해 주는 공유 시스템 필요
- 각 서비스는 지정된 서브넷을 넘어 다닐 수 없음
- Linux 기반의 EC2에만 부착해서 사용할 수 있는 고가용성, 확장성의 AWS 관리형 NFS(Network File System)
- 자동으로 용량 및 성능이 조정 되는 탄력성 제공
- 스토리지의 용량 및 성능 부족 걱정 X

Amazon EBS(Elastic Block Store)
- Amazon EC2 인스턴스에서 사용하는 고성능 블록
스토리지 서비스
- EC2에서 외장하드(HDD, SDD)를 사용하는 것처럼 인식
- AWS 관리 콘솔에서 필요한 용량, 성능에 따라 볼륨을
생성한후 EC2에 연결 & 파일 시스템 포맷
- 리눅스 : xfs, ext4
- 윈도우 : NTFS
- EC2 인스턴스가 종료되어도 데이터가 날아가지 않음
- ‘데이터 수명시간이 독립되어 있다’라는 뜻
- EC2와 EBS 볼륨은 서로 종속 관계에 있지 않고, 인스턴스가
다수의 볼륨을 연결해서 사용 가능
- 데이터베이스처럼 데이터 출입이 많은 서비스에 적합
인스턴스 스토어(Instance Store)
- EC2 인스턴스에 임시 블록 스토리지 제공
- 인스턴스 생성 시 자동적으로 생성
- 물리적으로 부착되는 SSD
- 별도의 비용 부담 없음
- EC2 인스턴스 종료시 인스턴스 스토어의 데이터 손실
- 단기적 목적인 버퍼, 캐시, 임시 콘텐츠 등의 자주 변경 되는 정보의 임시 저장에
적합
- 인스턴스 스토어와 EBS 비교(아래 표 참고)


AWS Storage Gateway
- 하이브리드 클라우드에서 온프레미스 데이터와 클라우드 데이터(S3)의 연결
- 끊김없이(seamlessly) 스토리지 기능을 사용
- 재해 복구, 백업&복원, 멀티 티어 스토리지 구현에 활용
- 스토리지 게이트웨이 유형
- File Gateway
- Volume Gateway
- Tape Gateway

S3의 공동 책임 모델
- AWS
- 인프라스트럭처(보안, 내구성, 가용성 등)
- 구성 및 취약성 분석
- 인프라에 내부에서 자체적인 규정 준수 검증
- S3 사용자
- S3 버저닝(versioning)
- S3 버킷 정책
- S3 복제 설정
- 로깅 및 모니터링 활성화
- S3 스토리지 클래스 선택
- 데이터 암호화
AWS Snow Family
- 매우 안전한 휴대용 오프라인 저장 장치
- 쉽게, USB와 같은 장치로 내 컴퓨터의 파일을 복사해서 AWS 버킷에 저장해주는 것
- 2가지 목적으로 사용
- AWS 내외부의 데이터 마이그레이션 – 데이터 전송의 용도
- 엣지 컴퓨팅에서 데이터 수집 및 처리 – 엣지 위치에서 처리하는 용도
- 대용량 데이터를 네트워크로 전송하는 것 보다 효율적임
- 연결성, 대역폭, 네트워크 비용, 안정적인 연결 문제 고려
- 종류
- 스노우콘(Snowcone)
- 스노우볼 엣지(Snowball Edge)
- 스노우 모빌(Snowmbile)
스노우콘(Snowcone)
- 작고, 가벼운 휴대가 가능한 데이터 전송 장치(이동식 스토리지 디바이스)

- 종류
• Snowcone : 8TB의 HDD
• Snowcone SSD : 14TB의 SSD
- 스노우볼을 사용할 수 없는 환경에서 스노우콘 사용
- 파일 전송은 스노우콘을 AWS로 직접 보내거나(우편 등), AWS DataSync 서비스를 이용하여 인터넷으로 전송함
스노우볼 엣지(Snowball Edge)
- TB, PB의 데이터를 네트워크가 아닌 물리적 장치로 전송

- 블록 스토리지, S3와 호환되는 오브젝트 스토리지 제공
- 사례: 데이터 센터 폐기시 데이터 백업해서 재해복구(DR) 수행
- Compute Optimized 모델
- 연산 성능에 초점을 맞춘 모델
- 42TB의 저장용량
- Storage Optimized 모델
- 고용량 저장에 초점을 맞춘 모델
- 80TB의 저장용량
스노우 모빌(Snowmobile)
- 45피트 컨테이너형 차량 모델(트럭)

- 스노우 모빌 1대의 최대 저장용량이 100PB
- 1 EB(exabyte) = 1,000PB = 1,000,000 TB
- 1 EB = 스노우모빌 10대
- 데이터 전송에 안전
- 암호화, 화재 진압, 보안요원, GPS 추적,
경보 모니터링, 24/7 비디오 감시 등
- 10PB 이상 데이터 전송시에는 스노우볼 보다 좋음