[AWS] EFS
EFS
Amazon Elastic File System은 AWS클라우드 서비스, 사용자 구축 서버인 온프레미스 리소스에서 사용할 수 있는 간단, 확장가능, 탄력적인 완전관리형 NFS파일 시스템을 제공한다.
어플리케이션을 중단하지않고 온디맨드 방식으로 페타바이트 규모까지 확장이 가능하며
파일 추가, 제거 시 자동으로 확장-축소 하며 규모에 맞게 용량을 프로비저닝할 필요가 없다.
일반적으로 EC2는 1개의 EBS만 이용하는데, EC2에서 동일한 EFS를 사용해야할때가 있다.
동일한 코드를 가져야할때!
특징
- NFS기반 공유 스토리지 서비스
- EBS와는 달리 사용한 만큼만 용량이 증가한다.
- 페타바이트단위로 확장가능
- 몇 천개 인스턴스의 동시접속 유지 가능
- 데이터는 여러 AZ에 나누어 분산저장된다.
- 데이터 손실이 적다.
- Read After Write(쓰기 후 읽기)로 강력한 일관성을 가진다.
- PRIVATE SERVICE라서 AWS외부에서는 접속 불가능하다
- 외부접속하기위해선 VPN, direct connect등 별도로 VPC연결이 필요하다.
- 각 영역에 mount target을 두고, 각 AZ에서 해당 Mount Target으로 접근
- Linux만 사용가능
1개의 서브넷은 1개의 AZ에만 존재한다.
Amazon EFS퍼포먼스모드
- General Purpose mode
- 가장 보편적, 거의 대부분의 경우
- Max IO mode
- 매우높은 IOPS가 필요한경우
- 빅데이터, 미디어 처리에 사용된다.
Amazon EFS Throughput 모드
- Bursting Throughput mode
- 낮은 Throughput일때 크리딧을 모아서 높은 Throughput일때 사용한다.
- EC2 T타입과 비슷한개념
- Provisioned Throughput
- 미리 지정한 만큼의 Throughput을 미리 확보해두고 사용한다.
Amazon EFS 스토리지 클래스
- EFS Standard
- 3개 이상의 AZ에 보관
- EFS Standard - IA
- 3개이상의 AZ에 보관, 조금 저렴한 비용 대신 데이터 가져올때마다 비용발생.
- EFS One Zone
-
1개의 AZ에 보관, 저장된 AZ 상황에 영향받는다.
임시데이터 저장시에만.
썸네일 저장시
-
- EFS One Zone - IA
- 1개 AZ보관, 저장된 가용영역 상황에 영향받는다.
사용법
- 보안그룹생성
- 모든 TCP, anywhere
- VPC의 가용영역에 따라 마운트포인트가 생성된다.
-
생성한 보안그룹 적용
- EC2인스턴스 보안그룹 위의 보안그룹으로 변경
-
사용자데이터 아래에서 efs-id만 변경
#cloud-config package_upgrade: true packages: - nfs-utils - httpd runcmd: - echo "$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).[efs-id].efs.ap-northeast-2.amazonaws.com:/ /var/www/html/efs-mount-point nfs4 defaults" >> /etc/fstab - mkdir /var/www/html/efs-mount-point - mount -a - touch /var/www/html/efs-mount-point/test.html - service httpd start - chkconfig httpd on - mkdir /var/www/html/efs-mount-point/sampledir - chown ec2-user /var/www/html/efs-mount-point/sampledir - chmod -R o+r /var/www/html/efs-mount-point/sampledir
- publicIp/efs-mount-point/sampledir/index.html 로 접속하기.
- 각각 다 해봅시다.
댓글남기기