파일이 수정되어 EC2가 수정된 파일을 모두 반영하거나 , 하나의 EC2가 파일에 쓰기 작업을 했을 때 일관성을 유지하기 위해서는 다른 EC2도 해당 쓰기 작업을 반영해야한다. 변경사항을 일일이 각 EC2마다 접속해서 읽기/쓰기 작업을 한다면 비효율적일 것이다. 이때 사용하는 것이 파일 공유 시스템이다.
- S3와 같은 스토리지로 많은 EC2에 탑재된다.
- NFS(Network File System) 프로토콜에 의해 관리된다.
- 여러 EC2가 '동시' 접속을 가능하게 해준다.
-> 하나의 EC2에서 변경사항을 기록하면 다른 EC2들이 동시에 접속해서 변경사항을 읽거나 쓸 수 있다.- Linux기반이다.
USE CASE : 음식점의 메뉴얼이 변경되었을 때 메뉴얼을 일일이 EC2에 작성하기보다 EFS에 메뉴얼을 탑재한 후 EC2가 동시에 EFS에 접근해서 읽기 / 쓰기 작업을 수행한다.
수행능력과 처리량을 기준으로 모드가 구분이 된다.
- Bursting 모드 - default모드로 파일의 크기가 클수록 빨라지기 때문에 작은 파일 작업에는 적합x
- Provisioned 모드 - 파일 / 데이터의 크기에 관계없이 일관된 높은 처리량을 제공한다.
S3와 같이 계층화가 되어있고, Lifecycle Policy로 생명주기를 관리할 수 있다.
- EFS - Standard : 파일에 자주 접근할때 사용하는 옵션
- EFS - IA : 파일에 덜 접근할 때 사용한다.
📌 비용이 더 싸다
📌 Standard에서 IA로 넘어가는 Lifecycle Policy를 만들때 90일 이상동안 접근되지 않은 파일은 옮길 수 없다.
- EFS가 Linux에서 사용하기 위한 파일공유 시스템이였다면, FSX는 Window환경에서 사용하기위한 시스템이다.
- SMB(Server Message Block)프로토콜 에 의해 관리된다.
- Window를 위한 시스템이지만 Linux EC2에도 탑재가 가능하긴 하다.
- FSX For Windows와 달리 파일 공유시스템이 아닌 기계학습, HPC(고성능 컴퓨팅)에 사용하기 위한 시스템이다.
- Lustre = Linux + cluster
- 주로 Linux기반의 고성능 컴퓨팅 환경을 위해 사용한다
- 온프레미스에 있는 데이터와 AWS Cloud환경의 Storage에 있는 데이터 사이의 다리 역할을 한다.
- File Gateway , Storage Gateway, Tape Gateway 세가지 종류가 있다.
- Storage 게이트웨이를 코딩으로 가상화 시킬수도 있고, 하드웨어를 Amazon에서 구매해서 설치할 수도 있다.
USE CASE : 온프레미스 or AWS에 있는 데이터를 반대 환경으로 마이그레이션 시킬 때 사용하기도 한다.
- 주로 S3의 데이터에 관여된다.
- NFS, SMB프로토콜 둘 다 사용한다.
- 유저의 권한을 위해 AD(Active Directory)와 통합되기도 한다.
- 로컬환경과 여러파일을 공유하고 싶을때 사용한다.
USE CASE : AWS환경에서 FSX를 통해 파일을 공유하고 공유된 전체파일을 FSX File Gateway를 통해 로컬환경에 캐시해두어 로컬환경에서 전체 파일에 자주 접근이 가능해진다.
- 주로 S3의 데이터를 백업하는 용도로 사용된다.
- iSCSI 프로토콜을 사용하여 데이터를 백업한다.
- 온프레미스의 데이터를 AWS환경의 S3에 전송시켜서 EBS Snapshot형태로 보관된다.
- Cached Volume과 Stored Volume 두가지가 있다.
가장 최근의 데이터 / 접근 빈도가 높은 데이터는 AWS에 백업시키기 전에 빠른 접근을 위해 온프레미스 환경에 캐싱해둔다.
-> 로컬에서 빠르게 접근 가능
온프레미스환경에 데이터를 모두 저장한 후 스냅샷을 만들고 해당 연결을 통해 AWS환경에 스냅샷을 전달해 다시 복구시킨다.
-> 온프레미스, AWS 둘 다 전체 파일을 가진다.
-> 백업파일을 오프로드(분산) 시킨다.