AWS Storage Gateway
는 클라우드 스토리지에 대한 on-premise 액세스 권한을 제공하는 하이브리드 클라우드 스토리지 서비스이다. 사용자는 on-premise 환경에 VM을 띄우는 방식으로 AWS Storage Gateway
를 사용할 수 있다.
AWS Storage Gateway
는 AWS S3
, AWS S3 Glacier
, AWS S3 Glacier Deep Archive
, AWS EBS
, AWS Backup
과 같이 다양한 스토리지에 대한 연결을 지원한다.
AWS Storage Gateway는 Tape Gateway
, File Gateway
, Volume Gateway
등의 세 가지 유형의 게이트웨이 서비스를 제공한다.
파일 게이트웨이는 on-premise 스토리지에 저장된 파일을 object
로 변환하여 S3
에 저장하는 게이트웨이 서비스이다.
File Gateway
는 on-premise 스토리지의 파일을 block storage
인 S3
의 오브젝트로 변환하여 데이터를 저장한다. 하나의 파일은 하나의 오브젝트에 1:1 매핑
되며, 비동기적으로 on-premise 스토리지의 수정사항을 S3
에 반영된다. 파일과 관련된 메타데이터(소유권, 생성시간 등)도 함께 저장된다.
실제 데이터는 S3
의 오브젝트로 저장되기 때문에, 파일이나 폴더에 대한 수정이 발생에 따라 의도치 않은 비용이 발생이 발생할 수 있다. 예를 들어, S3
에서는 오브젝트의 key
를 변경할 수 없으므로, 파일 명이 바뀌면 S3
에서는 이에 대응되는 오브젝트가 삭제되고 새롭게 생성되는 과정이 발생할 수 있으므로 주의해야 한다.
추가적으로, 수정 사항에 대한 버저닝이 이뤄지기 때문에 File Gateway
를 사용할 때에는 S3
에서 오래된 버전에 대한 lifecycle
정책을 추가하는 것이 좋다.
File Gateway
를 통해 S3
에 저장된 데이터는 S3-server-side encryption
(SSE-S3) 키를 통해 암호화된다.
AWS는 NFS
기반의 네트워크 파일 시스템 서비스(AWS EFS
)를 제공한다. AWS EFS
는 NFS
프로토콜 기반을 사용하기 때문에, 공식적으로 Windows
OS를 사용하는 인스턴스를 지원하지 않는다.
반면, File Gateway
에서는 NFS
와 SMB
(For Windows) 프로토콜을 모두 지원한다. 따라서, Windows
를 사용하는 인스턴스에서도 File Gateway
를 사용할 수 있다. AWS
는 공식적으로 VM 환경을 위한 File Gateway
이미지를 제공한다.
저장된 데이터는 S3의 모든 기능(AWS Lambda
이벤트 트리거, AWS Athena
와 연계, 버저닝
, lifecycle
)을 동일하게 활용할 수 있다.
File Gateway
는 multipart parallel upload
와 byte-range download
를 활용하여 데이터 송수신 과정을 최적화한다.
데이터 송수신 프로토콜로 iSCSI를 사용한다. 데이터는 S3
에서 EBS snapshot
형식으로 관리되며, 데이터 전송은 비동기적으로 이뤄진다. EBS snapshot
은 데이터 수정이 발생한 부분만을 incremental
하게 저장하기 때문에 throughput
과 data size
가 매우 효율적이다. 또한 S3
에 데이터를 백업할 때에는 SSL
연결을 기본으로 하며, 데이터가 S3
에서 암호화되어 저장되기 때문에 높은 보안성을 유지한다.
Volume Gateway
는 크게 Stored Volume
과 Cached Volume
으로 나뉜다.
Stored Volume
은 게이트웨이 VM 스토리지를 주 저장소로 사용한다. 모든 데이터는 게이트웨이 VM에 저장되고 주기적으로 S3
에 데이터를 EBS Snapshot
형식로 백업하기 때문에, 전체 데이터 액세스에 대한 low-latency
를 보장한다는 장점이 있다.
Cached Volume
은 AWS 스토리지를 주 저장소로, 게이트웨이 VM의 스토리지를 캐시 스토리지로 사용한다. Cached Volume
에서는 최근 액세스한 데이터의 일부만을 게이트웨이 VM에 저장하고, 나머지 모든 데이터는 S3
에 백업한다. 데이터 증가에 따른 스토리지 확장이 AWS에서 이뤄지기 때문에 on-premise 환경에서 추가적인 스토리지 서버 확장이 불필요하다는 장점이 있다.
Tape Gate
는 virtual tape library
(VTL) 프로토콜을 사용하는 long-term
아카이빙 저장소에 대한 게이트웨이 서비스이다.
Tape Storage
는 흔히 사용되는 Disk Storage
와 달리 자기테이프를 사용하는 데이터를 기록하는 저장장치이다. 테이프는 디스크의 등장 이후 비주류로 전락하였으나, 비용 대비 높은 저장효율과 안정성 등의 장점으로 최근 대용량 저장장치로 각광받고 있다. AWS의 대표적인 아카이빙 저장소인 AWS S3 Glacier
도 내부적으로 LTO Tape
를 사용하고 있다.
테이프 저장소의 가장 큰 장점은 낮은 비용과 높은 안정성이다.
테이프는 용량 대비 단가가 가장 저렴하고, 데이터 백업 시에만 제한적으로 전력을 사용하여 매우 저렴하다. 아래의 그림은 데이터 증가에 따른 테이프와 디스크의 유지비용을 분석한 결과이다.
뿐만 아니라, 테이프는 일반적으로 HDD
보다 물리적 충격, 정전등의 위협에서 높은 안정성을 보인다.
How AWS Storage Gateway works (architecture)