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은 다음과 같은 용도로 사용됩니다.
- S3에 업로드하기 위한 데이터를 준비하고 버퍼링 (Upload Buffer)
- 진짜 캐시 용도
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 : 데이터 암호화에 사용되는 암호화 키를 생성, 관리할 수 있는 매니지드 서비스