2022-06-28
EBS 와는 비슷하지만 다른 EFS를 통해 리눅스 서버에 마운트 하는 방법을 알아보자.
1. 보안 그룹 생성
보안 그룹은 총 2가지를 생성해야 한다.
첫 번째 보안 그룹은 EFS를 붙일 EC2에 적용할 보안 그룹으로 22 포트와 사설 아이피를 등록하면 된다.
두 번째 보안 그룹은 EFS에 적용할 보안 그룹으로 위에서 생성한 보안 그룹을 소스로 2049 포트를 열어주면 된다.
자세한 내용은 아래를 참고하자.
https://docs.aws.amazon.com/ko_kr/efs/latest/ug/accessing-fs-create-security-groups.html
2. EFS 생성
먼저 EFS 서비스 콘솔에 접속한 후 파일 시스템 생성을 클릭한다.
이후 아래와 같은 팝업 창이 나오게 되면 간단한 이름 설정과 VPC 존 / 리전을 선택하면 간단히 EFS 볼륨을 생성할 수 있다. 사용자 지정 버튼을 통해 디테일한 설정을 할 수 있지만 default로 사용해도 크게 무리는 없다. 이후 생성 버튼을 클릭한다.
그럼 아래와 같이 5초 이내에 EFS 가 하나 생성된다.
생성된 파일시스템 ID를 클릭한 후 파일 시스템 정책을 클릭하면 아마 빨간 오류 바가 상단에 나타나게 된다. 이는 정책 내용이 아무것도 없어서 그런 것인데 편집을 눌러 변경해준다.
추가 권한 부여하여 읽기와 쓰기 모두 가능하게 하며 보안 주체의 경우 IAM에서의 사용자의 ARN 정보를 넣어주면 된다. 이후 저장한다.
이후 네트워크 항목으로 들어가 1번에서 생성해둔 EFS 에 넣을 2번째 보안 그룹을 넣어준다. 네트워크 인터페이스에서는 변경이 안되니 꼭 EFS 옵션에서 변경해 주어야 한다.
3. 서버 연결 설정
우선적으로 1번에서 설정해둔 첫번째 보안 그룹을 EC2에 할당해 준다.
그리고 기존에 생성해둔 파일 시스템의 EFS 연결정보를 잘 저장해 둔다. 이는 마운트 명령어이다.
ec2 접속 후 아래 명령어를 순서대로 입력한다.
# EFS 유틸리티를 설치한다.
# sudo yum install -y amazon-efs-utils
# 디렉토리를 생성하는 과정으로 다른 곳에 마운트 하고 싶으면 변경하면 된다.
# cd /
# mkdir /efs
# 자신의 의 EFS 아이디의 접속정보를 통해 마운트한다.
# sudo mount -t efs -o tls 자신의EFS 아이디:/ efs
# 정상적으로 마운트 되었는지 확인한다.
# df -h
4. 오토 마운트 방법
기존의 오토 마운트 방식과 거의 동일하다. vi /etc/fstab 에다가 마운트 정보를 입력해주면 되는데 , 상황에 따라 방법이 여러 가지이기 때문에 아래의 링크를 확인하자
https://docs.aws.amazon.com/ko_kr/efs/latest/ug/mount-fs-auto-mount-onreboot.html
참고로 필자는 "인스턴스 프로파일이 있는 Amazon EC2 인스턴스에 IAM 권한을 부여하여 자동으로 탑재하려면/etc/fstab파일" 을 통해 오토 마운트를 하였다.
file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam 0 0
메인 이미지 출처 : Photo by Vlad Grebenyev on Unsplash