1. 개요

S3는 AWS가 자랑하는 훌륭한 서비스이지만 오브젝트 스토리지라는 제약, 또 URL 기반 접근이라는 제약에 따라 뭔가 쉽게 접근할 수 없는 면이 분명히 있습니다.

2. 내용

그래서 이 Storage Gateway(Hybrid Storage Integration)가 있습니다. 결론적으로 S3를 레거시에서 많이 사용하는 iSCSI 방식으로 사용할 수 있게 해줍니다. 결론적으로 온프레미스와 S3를 통합할 수 있는거죠. 물론 이 때는 사이에 AWS Direct Connect가 있어야 합니다.

이렇게 하면 예를 들어 고객사의 백업 시스템에서 백업 소프트웨어는 그대로 두고 백업 대상 디스크만 S3로 변경할 수 있기도 합니다. 이게 핵심입니다. 기존의 애플리케이션을 사용할 수 있다는 점, 꼭 기억해야 합니다.

조금 더 자세히 살펴보면 Storage Gateway는 소프트웨어 어플라이언스 형태, 즉 Market에서 VM 이미지로 제공됩니다. 그리고 이 Gateway를 AWS 계정에 연결하고 Management Console을 통해 다음과 같은 것들을 생성할 수 있습니다.

  • Gateway Cached Volume
  • Gateway Stored Volume
  • Gateway VTL Volume

3. 상세

이제 이 들에 대해 좀 더 자세히 설명하겠습니다.

3-1. Gateway Cached Volume

기본 데이터는 S3에 저장하되 빈번하게 억세스되는 데이터는 로컬에 캐시를 두어 유지할 수 있습니다. 네트웍 레이턴시를 극복하려는거죠. 캐시용 Volume은 온프레미스의 DAS(Direct Attached Storage), NAS(Network Attatched Storage), SAN(Storage Area Network)에 저장됩니다. 그리고 전체 파일의 20% 이상으로 가이드하고 있습니다. 최대 32개 Volume, Volume 당 최대 32테라, Gateway 당 최대 1페타를 생성할 수 있습니다.

캐시용 Volume은 다음과 같은 용도로 사용됩니다.

  1. S3에 업로드하기 위한 데이터를 준비하고 버퍼링 (Upload Buffer)
  2. 진짜 캐시 용도

3-2. Gateway Stored Volume

기본 데이터는 로컬에 (온프레미스의 DAS(Direct Attached Storage), NAS(Network Attatched Storage), SAN(Storage Area Network)에) 저장합니다. 그리고 Gatewat Stored Volume은 온프레미스의 스토리지로 매핑됩니다. 그리고 그 데이터를 EBS 스냅샷 형태로 비동기식으로 AWS에 백업합니다. Gateway Cached Volume보다 빠르게 사용하고 싶다면… 최대 32개 Volume, Volume 당 최대 16테라, Gateway 당 총 512테라를 생성할 수 있습니다.

(과거 자료에는 최대 12개 Volume, Volume 당 최대 16테라, Gateway 당 총 192테라라고 되어 있습니다. 주의할 것!)

3-3. Gateway VTL Volume

이른바 가상 테이프로 가장 나중에 추가된 서비스입니다. 이 가상 테이프는 S3의 VTL(가상 테이프 라이브러리)이나 Glacier의 VTS(가상 테이프 실드)에 저장할 수 있습니다. 백업 애플리케이션이 가상 테이프에 온라인으로 접속할 수 있도록 iSCSI 인터페이스를 제공합니다. 각 VTL은 최대 1,500개의 가상 테이프 저장이 가능하고 최대 용량은 1페타입니다.

(과거 자료에는 총 150테라라고 되어 있습니다. 주의할 것!)

만약 가상 테이프에 저장된 데이터가 빈번하게 억세스될 필요가 없다면 VTL에서 VTS로 이동할 수 있습니다. 즉 아카이브하는거죠. VTS는 VTL과 달리 테이프 수나 용량 제한이 없습니다. 다만 VTS에 있는 가상 테이프를 사용하려면 먼저 VTL에 로드해야 합니다. 그리고 약 24시간이 지나야 VTL에서 사용할 수 있습니다.

4. Snapshot

한편 Gateway Cached Volume이나 Gateway Stored Volume의 특정 시점 스냅샷을 뜰 수 있습니다. 이 스냅샷은 EBS 스냅샷입니다. Management Console이나 API를 통해 스냅샷 생성을 스케쥴링하거나 임시로 한 번 뜰 수 있습니다.

이 스냅샷은 인크리멘탈 방식입니다. 또 압축 형태입니다. 따라서 스토리지 비용이 절감됩니다.

5. 모니터링

모니터링은 CloudWatch로 가능합니다. 2015년 기준으로 약 27개의 매트릭이 존재합니다.

영역 Write Performance Read Performance
온프레미스에서 Storage Gateway 까지 WriteBytes, WriteTime ReadBytes, ReadTime
Storage Gateway UploadBufferPercentUsed, CachePercentDirty CacheHitPercent, CachePercentUsed, CachePercentDirty
Storage Gateway 부터 AWS 까지 TimeSinceLastRecoveryPoint CloudBytesDownloaded, CloudDownloadLatency

 

물론 CloudTrail로도 모니터링 가능합니다.

마지막으로 유사한 제품으로는 MS의 StorSimple이라는 것이 있습니다.

6. 업데이트

6-1. KMS 지원

  • 2018년 8월부터 KMS를 사용하여 Storage Gateway에 저장한 데이터의 암호화가 가능해졌다. (단 베이징 리전 제외)
  • Storage Gateway의 모든 게이트웨이 유형을 지원함 (가상 테입, 볼륨 게이트웨이가 생성하는 클라우드 볼륨 및 EBS 스냅샷 등)
  • 만약 KMS를 사용하지 않으면 기본적으로 S3 매니지드 암호화 키(SSE-S3)를 통해 암호화됨
  • 저장 단계에서의 암호화 외에, Storage Gateway와 AWS 간의 통신은 SSL을 통함
  • KMS : 데이터 암호화에 사용되는 암호화 키를 생성, 관리할 수 있는 매니지드 서비스