1. Amazon EFS(Elastic File System)이란?
- Maanaged NFS(Network file system)이기 때문에 여려 EC2 인스턴스에 마운트할 수 있다는 점이 가장큰 이점이다.
또 EC2인스턴스는 여러 가용 영역(AZ)에 있어 EBS의 단점인 확장성을 보안해주는 것이 EFS의 큰 이점이다. 하지만 EFS의 높은 가용성으로 비용이 gp2 EBS 볼륨에 약 3배정도 비쌈... (사용할 때 마다 비용을 지불 하기 떄문에 사전 프로비저닝 용량이 없음)
EFS 파일 시스템을 보안 그룹으로 감싸고 여러 가용 영역의 EC2 인스턴스를 EFS를 통해 하나의 NFS에 동시에 연결해 사용한다. (아래 그림을 보며 전체적인 구성도를 알 수 있을듯)
- 사용 사례 주로 콘텐츠 관리 웹 서비스 제공, 데이터 공유 wordpress등이 있음!- 내부적으로 NFS 프로토콜릉 사용하며 접근 제어를 위해 보안 그룹을 설정해야 된다. **(EFS를 사용하기 위해선 Window가 아닌 Linux 기반 AMI에만 호환이 됨!) KMS를 통해 EFS 드라이브의 저장 데이터 암호화를 활성화 하며 Linux의 표쥰 파일 시스템이다! --->> 즉 POSIX 파일 시스템이란다.. ㅎㅎ (여기는 좀 햇갈리는 지식들 있어 더 찾아보자..)
2. 요금EFS는 용량을 미리 정하지 않은 장점이 있는데 그렇다면 비용은 어떻게 지불하나??? 지불 방법은 사용 데이터의 1GB마다 비용을 지불한다. 끝!ㅋㅋㅋㅋ
***가장 중요***
3. 성능(시험 출제 가능)- EFS Scale 수천 명의 NFS 클라이언트를 동시에 수용할 수 있는 스케일에 10GB/s 이상의 용량을 가지고 있다.용량을 미리 정해두지 않아도 자동으로 페타바이트(PB) 수준의 스케일로 커질 수 있다.
- Performance mode( EFS의 성능 모드를 설정 할 수 이따.) 지연 시간이 중요한 경우에 사용한다. (웹 서버, CMS 등) I/O를 극대화 하기 위해 Mac I/O모드를 사용하면 지연 시간과 용량이 늘어나 해당 효과를 얻을 수 있고 병렬적 처리가 가능해 빅 데이터나 미디어 processing에 적합하다.
- Throughput mode
Bursting : (1TB = 50MiB/s + burst of up to 100MiB/s)
provisioned: set you thorughput regardless of storage size, 1Gib/s for 1TB storage
- Storage Classes option - Storage Tiers(스토리지 계층) 일정 시간 뒤 파일을 다른 계층으로 이동하는 기능을 의미함 * Standard :자주 접속하는 파일에 적용된다. * infrequent access (EFS-IA): 파일을 저장할 때 비용을 줄일 수 있는 계층 (서브 파일 저장소라 생각하자) ** EFS-IA를 활성화 하려면 Lifecycle Policy, 즉 수명 주기 정책을 사용해야된다. standard -> EFS-IA로 파일이 이동하는 흐름은 수명 주기 정책에 사용자가 특정 주기를 설정하면 해당 주기마다 파일이 EFS-IA 계층으 로 이동된다. 이렇게 되면 파일을 관리하는 비용을 낮출수 있다! - Availability and durability (가용성과 내주성) option - Regional : 다중 AZ으로 설정하면 한가용 영역이 다운돼도 EFS 파일 시스템에 영향이 없기 때문에 프로덕션 환경에 좋음 - One Zone : One-AZ, great for dev, backup enabled by default, compatible whit IA(EFS One ZOne-IA)
** EFS 사용 사례와 EFS NFS에 설정할 수 있는 옵션에 대해 시험 출제 가능
4. 실습- AWS / EFS 페이지로 이동해 Createa EFS를 클릭 후 커스텀 버튼을 누르면 EFS를 설정할 수 있는 페이지로 이동한다.- 아래 그림과 같은 페이지로 이동되는데 위 2-3 성능에서 설명한 옵션들을 사용자에 맞게 선택하면된다. 자세한 내용은 위 내용을 잘 보고 설정하자.
- 원하는 옵션을 설정 후 다음을 클릭하면 아래와같이 VPC를 설정하는 페이지가 나타난다.- 해당 페이지에서는 storage calss를 Standard로 설정해 마운트 타겟이 3개로 보이지만 One Zone으로 비용을 낮추는 대신 타겟을 1개로 지정할 수 있다.- 여기서 포인트는 AZ명 설정가능,IP는 자동으로 설정, 보안크룹 설정이 있다. (우리는 EFS를 사용하기 위해 보안 그룹을 설정 해야된다.)
- 보안그룹 설정하기 위해 EC2/Security Groups 페이지에서 특정 보안 그룹을 생성한다.
- 생성된 보안그룹을 EFS AZ에 적용시키도 다음버튼 클릭시 아래와 같이 파일 시스템 정책 옵션이 있는 우리는 EFS 생성이 목적이기 때문에 기본값으로 생성하자!
- EFS생성 완료!
3-1 생성한 EFS를 EC2에 적용시키기(실습을 위해 EC2 생성 페이지로 ㄱㄱ)- 우리는 서버 운영 용도가 아니기 떄문에 AMI는 AWS에서 제공하는 Amazon Linux로 설정하고 전부 기본값으로 두었다.- 그리고 스토리지 설정에서 File systems 목록 우측에 edit버튼을 클릭하면 아래와 같이 EFS/ FSx를 설정할 수 있는데 EFS클릭. 이때주의점이 아래 파란색 줄이다. '서브넷을 선택하기전 파일 시스템은 추가할수 없어!!' 그렇다면 설정해야지.. ㅎㅎ
- 네트워크 셋팅 목록으로 올라가서 아래와같이 Subnet을 설정해준다. (기본 값은 서브넷이 설저돼있지않음!) 그리고 다시 EFS를 설정하는 목록으로 넘어가면
- 짠~~ 아래와같이 EFS를 설정할 수 있따!
(아래 체크 항목은 보안 그룹을 자동 생성해주고, 필요한 사용자 데이터 스크립트를 연결해 공유 파일 시스템을 자동을 마운트 해준다는 서비스이다.---> 이전엔 스크립트를 사용자가 EC2에서 직접 실행했어야 했단다.. ㄷㄷ )
*** 다른 가용 영역에 새로운 EC2 인터페이스를 생성한뒤 동일한 EFS를 사용하게되면 마운트 포인트인 /mnt/efs/fs1 디렉토리에서 파일들을 공유 할 수 있다!
참고 자료https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html
'udamy > AWS Devleoper' 카테고리의 다른 글
4. Load Balancer (AWS Certified Developer Associate) (0) | 2023.02.06 |
---|---|
3-3. EBS vs EFS(3)(AWS Certified Developer Associate) (0) | 2023.02.05 |
3-3. EBS,AMI,EFS(1)(AWS Certified Developer Associate) (0) | 2023.02.03 |
3-2. 보안 그룹 설명 및 실습 (AWS Certified Developer Associate) (0) | 2023.02.01 |
3-1. EC2 인스턴스 유형 기본 사항 (AWS Certified Developer Associate) (0) | 2023.02.01 |