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
를 사용하고 있다.
테이프 저장소의 가장 큰 장점은 낮은 비용과 높은 안정성이다.
테이프는 용량 대비 단가가 가장 저렴하고, 데이터 백업 시에만 제한적으로 전력을 사용하여 매우 저렴하다. 아래의 그림은 데이터 증가에 따른 테이프와 디스크의 유지비용을 분석한 결과이다.
출처 : Fujitsu뿐만 아니라, 테이프는 일반적으로 HDD
보다 물리적 충격, 정전등의 위협에서 높은 안정성을 보인다.
How AWS Storage Gateway works (architecture)