S3 스토리지

S3란?

S3는 개발자에게 안전하고, 튼튼하고, 가용성이 높은 저장소를 제공한다. amazon s3는 웹상에서 어떠한 양의 데이터를 저장할 수 있다. 객체기반 저장소이다. S3에 올라가있는 데이터에 다양한 기종이나 시설에서 접근이 가능하다.

Amazon S3는 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지입니다. 업계 최고 수준의 내구성, 가용성, 성능, 보안 및 거의 무제한의 확장성을 아주 저렴한 요금으로 제공하는 단순한 스토리지 서비스입니다.

S3 특징

  • S3는 객체 기반이다. ⇒ 중요용!!!
  • Not suitable to install an operating system on. (데이터베이스나 이런거처럼 운영체제에 설치하는게 아니고 그냥 파일을 올리는 저장소인거다.)
  • 파일은 0byte에서 5TB까지 가능하다
  • 용량이 제한되지 않은 저장소이다
  • 파일은 buckets이라는 곳에 저장이 된다.
  • S3는 공용 namespace이기 때문에 전체적으로 유니크해야한다.
  • S3에 파일을 업로드하고 성공일 때 HTTP 200 코드를 받을 수 있다.
  • 99.99퍼센트로 S3플랫폼에서 이용가능하다.
  • 아마존 보증 99.9퍼센트 유효성
  • 아마존 보증 99.999999999% 로 내구성이 튼실 (11*9)
  • 계층형 스토리지 사용가능 (S3 사용할 때 S3 Standard, S3-IA, S3 OneZone-IA, Glacier 이렇게 분류되어있음)
  • versioning
  • 암호화 가능
  • 안전하다.

Data Consistency Model For S3

시험에서 가장 중요하게 나오는 부분이다. S3에 올렸을 때 거의 동시에 볼 수 있다. 파일을 수정할 때에도 거의 동시에 볼 수 있다. 그래서 데이터 일관성이 있다고 쓴거 같음..

S3는 key-value로 저장된다.

  • key : 이름
  • value : 데이터
  • versionID
  • metadata : 페이로드 이런거
  • subresources : Access Control Lists (ACL) 어떤 사람들이 접근 가능한지..

S3 생성 방법

S3는 지역이 global로 바뀐다. global로 관리가 되는데 어차피 bucket을 생성할 때 지역을 설정하기 때문에 관리는 global에서 한다.

S3 버켓 생성 방법

  • 버켓의 이름은 전체 대상이라 유니크해야한다
  • S3 업로드에 성공했다면 HTTP 200 코드를 받는다
  • S3, S3-IA, S3 Reduced Redundancy 저장소가 있다
  • 암호화
    • Client Side Encryption
    • Server Side Encryption
      • Server side encryption with Amazon S3 Managed Keys (SSE-S3)
      • Server side encryption with KMS (SSE-KMS)
      • Server side encryption with Customer Provide Keys (SSE-C)
  • 버켓 ACL버켓 Polices를 이용해서 버켓 접근을 제어할 수 있다
  • 버켓을 처음 만들 때 디폴트가 private이다. 그리고 private 버켓 안에 파일들도 모두 private이다
  • 버킷의 properties, permissions, management를 관리할 수 있지만 그 안에 파일 하나의 properties, permissions, management를 따로 관리할 수 있다.

스토리지 클래스 및 관리

S3 Pricing Tiers

S3 비용 책정

  • 저장소
  • 요청 및 데이터 검색
  • 데이터 이전
  • 관리 & 복제

비용 순서

  • S3 Standard

    튼튼한. 즉시 사용 가능. 자주 접근

  • S3 - IA

    튼튼한. 즉시 사용 가능. 드물게 접근

    S3 스탠다드–IA는 액세스 빈도가 낮지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합

    S3 Standard–IA는 장기 파일 스토리지, 이전 동기화 및 공유 스토리지, 다른 오래된 데이터에 적합

  • S3 - Intelligent Tiering

    Amazon S3 Intelligent-Tiering(S3 Intelligent-Tiering)은 운영 오버헤드 없이 가장 비용 효과적인 액세스 계층으로 데이터를 자동으로 이동하여 스토리지 비용을 최적화하기 위해 설계된 S3 스토리지 클래스

  • S3 One Zone - IA

    가용영역이 한개에만 있고 더 싸다

    백업 복사본, 재해 복구 복사본 또는, 손쉽게 재생성 가능한 기타 데이터 등 자주 액세스하지 않는 스토리지에 S3 One Zone-IA를 사용

  • S3 Glacier

    매우 싸고 보관에만 사용한다. Expedidited, Standard, Bulk 세 종류가 있다. Expedidited(긴급 검색)는 몇분, Bulk(대량 검색)는 5-12시간, Standard(표준 검색) 검색 시간은 3-5시간 걸린다.

  • S3 Glacier Deep Archive

    1년에 한두 번 정도 액세스하는 데이터의 장기 보존을 위한 안전하고 안정적인 객체 스토리지를 제공하는 Amazon S3 스토리지 클래스

*thousands or millions of objects 일 때를 빼곤 거의 S3- intelligent tiering

*glacier은 아카이브(검색)

Lifecycle Management - 수명주기

잘 사용 안하는 파일들을 S3에서 S3-IA나 Glacier 로 변경하는 서비스를 제공한다.

  • 버전 관리와 함께 사용할 수 있습니다.
  • 현재 버전 및 이전 버전에 적용 가능
  • 다음 작업을 수행할 수 있다
    • S3 standardS3 IA 계층으로 전환 가능 (생성일로 부터 30일 이후)
    • Glacier 저장소 에 보관 가능 (IA에서 30일 이후)
    • 영구적으로 삭제

S3 versioning

  • 객체의 모든 버전을 저장한다 (모든 쓰기와 객체를 삭제할 때도 포함).
  • 아주 좋은 백업 도구.
  • 버저닝을 한번 enabled 시키면 disabled 못시키고 suspended(중지)만 시킬 수 있다.
  • 수명주기 규칙과 통합
  • 다단계 인증을 사용하는 버전관리의 MFA 삭제 기능을 사용하여 추가 보안 계층을 제공할 수 있다.

S3 복제

Cross Region Replication 복제

  • 소스대상 버킷 모두에서 버전관리를 활성화 해야한다.
  • 지역은 유니크해야한다.
  • 기존 버킷의 파일은 자동으로 복제되지 않는다. 이후의 모든 업데이트 된 파일은 자동으로 복제된다. 원래 있던 파일이 복사되는 것은 아님!!!
  • 여러 버킷에 복제하거나 데이지 체인을 사용할 수 없다. (현재는)
  • 삭제 마커는 복제된다. ⇒ 삭제를 하면 replication에서도 삭제가 되는데, 삭제marker를 삭제할 때는 복제가 안된다.
  • 개별버전이나 삭제 마커를 삭제하면 복제되지 않는다.

데이터 전송

S3 Transfer Acceleration

Amazon S3 Transfer Acceleration은 거리가 먼 클라이언트Amazon S3 버킷 간에 파일을 빠르고, 쉽고, 안전하게 전송할 수 있게 해줍니다. S3 Transfer Acceleration은 전 세계적으로 분산된 Amazon CloudFront의 AWS 엣지 로케이션을 활용합니다. 데이터가 AWS 엣지 로케이션에 도착하면, 이 데이터는 최적화된 네트워크 경로를 통해 Amazon S3 버킷으로 라우팅됩니다.

Q1. S3 Transfer Acceleration 언제 사용하나?

지리적으로 분산된 위치에서 중앙 집중식 버킷으로 데이터를 업로드 할 경우

대륙 간에 GB 또는 TB 규모의 데이터를 정기적으로 전송하는 경우

Q2. S3 Transfer Acceleration VS Amazon CloudFront의 PUT/POST

더 높은 처리량이 필요한 경우 S3 Transfer Acceleration

객체가 1GB보다 작거나 데이터 세트가 1GB보다 작을 경우 Amazon CloudFront의 PUT/POST

Q3. S3 Transfer Acceleration VS AWS Snow 패밀리(Snowball, Snowball Edge, Snowmobile)

AWS Snowball 패밀리대용량 데이터 배치를 한 번에 옮기려는 고객에게 적합

Snowball

AWS Snowball은 AWS 컴퓨팅 및 스토리지 기능을 엣지 환경으로 가져오고 AWS와 데이터를 주고 받을 수 있도록, 안전하고 견고한 디바이스를 제공하는 서비스

Snowmobile

AWS Snowmobile은 초대용량 데이터 세트를 온프레미스에서 AWS로 이전할 수 있는 첫 번째 엑사바이트 규모의 데이터 마이그레이션 서비스. 각 Snowmobile은 고객 사이트로 보내서 고객 네트워크 백본에 직접 연결하여 고속 데이터 마이그레이션을 수행할 수 있는 안전한 데이터 트럭으로 최대 100PB 스토리지 용량을 지원합니다. 단일 위치 또는 여러 데이터 센터에서 병렬로 10개의 Snowmobile을 사용해 엑사바이트의 데이터를 신속하게 마이그레이션할 수 있습니다.

Q1. Snowmobile과 Snowball은 각각 언제 사용해야 합니까?

단일 위치에서 10PB 이상의 대규모 데이터 세트를 마이그레이션하려면 Snowmobile을 사용

데이터 세트가 10PB 미만이거나 여러 위치에 분산되어 있다면 Snowball을 사용

Storage Gateway

AWS Storage Gateway는 사실상 무제한의 클라우드 스토리지에 대한 온프레미스 액세스 권한을 제공하는 하이브리드 클라우드 스토리지 서비스입니다.

AWS Storage Gateway 사용하는 이유?

Storage Gateway를 사용하면 AWS 클라우드 스토리지 서비스를 활용하여 온프레미스 스토리지 공간과 관련 비용을 줄일 수 있다

AWS Storage Gateway 사용 사례?

  1. 백업 및 아카이브를 클라우드로 이동시킬 경우
  2. 클라우드 기반 파일 공유를 통한 온프레미스 스토리지 감소
  3. 온프레미스 애플리케이션에 AWS에 저장된 데이터에 대한 짧은 지연 시간의 액세스 제공
  4. 처리 전/후 워크플로에 대한 데이터 레이크 액세스인 네가지 주요 하이브리드 클라우드 사용 사례

AWS Storage Gateway 종류

  • Amazon S3 File Gateway
    NFS(네트워크 파일 시스템)SMB(서버 메시지 블록)와 같은 파일 프로토콜을 사용하여 Amazon S3에서 객체를 저장하고 검색할 수 있다. S3 파일 게이트웨이를 통해 작성된 객체는 S3에서 직접 액세스할 수 있다.
  • Amazon FSx 파일 게이트웨이
    SMB 프로토콜을 사용하여 Amazon FSx for Windows File Server 내 파일을 저장 및 검색할 수 있다. Amazon FSx 파일 게이트웨이를 통해 작성한 파일은 Amazon FSx for Windows File Server에서 바로 액세스할 수 있다.
  • 볼륨 게이트웨이
    iSCSI 연결을 사용하여 온프레미스 애플리케이션에 블록 스토리지를 제공한다. 볼륨의 데이터는 Amazon S3에 저장되며, 사용자는 특정 시점의 볼륨 복사본을 생성할 수 있고 이는 AWS에 Amazon EBS 스냅샷으로 저장된다. 또한 AWS Backup을 사용하여 볼륨의 복사본을 가져와서 보존 관리를 수행할 수도 있다. EBS 스냅샷을 볼륨 게이트 웨어 볼륨 또는 EBS 볼륨에 저장할 수 있다.
  • 테이프 게이트웨이
    가상 미디어 체인저, 가상 테이프 드라이브 및 가상 테이프로 구성된 iSCSI 가상 테이프 라이브러리(VTL) 인터페이스를 백업 애플리케이션에 제공한다. 가상 테이프는 Amazon S3에 저장되며 Amazon S3 Glacier 또는 Amazon S3 Glacier Deep Archive에 아카이브될 수 있다.