새소식

반응형
AWS/EFS

EFS ( Elastic File System )

  • -
반응형

이 포스틑 AWS EFS의 공식 문서를 대부분 가져왔습니다. 단, 중간중간에 하다가 막힌 부분에 대해서 추가적으로 설명만 넣어놨습니다.


Amazon EFS는 Amazon EC2에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공합니다. EFS 파일 시스템을 만든 후 파일 시스템을 마운트하도록 인스턴스를 구성할 수 있습니다. 하나의 EFS 파일 시스템을 여러 인스턴스에서 실행하는 워크로드 및 애플리케이션에 대한 공통 데이터 소스로 사용할 수 있습니다.


storage gateway 와 큰 차이가 없어 보입니다.

차이점이라면 storage gateway는 EC2를 올려서 그곳에 DISK를 마운트하여, 그 DISK를 바라보게 하는 방식인 반면에 EFS는 단순하게 만들기만 하면 자동으로 할당이 됩니다. 또한 Port를 2049를 사용하는 것으로 봐서는 방식이 NFS와 크게 다르지 않은 것으로 보여집니다.

또한 가장 중요한 점이 현재 Windows 와 연동이 불가능 합니다. 인증 문제로 인하여, 현재 불가능 하다고 구글링 결과 나오고 있습니다.

( 참고 : https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html


하여, 강제로 Linux EC2에 EFS를 연동하고, 이를 NFS로 Windows Server 2012 R2와 강제 연동하려 하였으나, 역시 불가능 하였습니다. 





EFS 연동하기 ( URL : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AmazonEFS.html )

  • 아래의 내용은 AWS 공식 페이지에 자세히 설명되어 있으므로, 대부분 퍼왔으나 하면서 막혔던 부분에 대해서 부연 설명이 추가되어 있습니다.


1.사전 작업 

    • EC2 인스턴스 및 EFS 탑재 대상과 연결할 보안 그룹(예: efs-sg)을 생성하고 다음 규칙을 추가합니다.

      • 컴퓨터에서 인바운드 SSH로 EC2 인스턴스에 연결하도록 허용합니다(소스는 네트워크의 CIDR 블록).

      • 이 보안 그룹과 연결된 EC2 인스턴스에서 인바운드 NFS로 EFS 탑재 대상을 통해 파일 시스템에 연결하도록 허용합니다(소스는 보안 그룹 자체). 


      • 자세한 내용은 Amazon EFS 파일 시스템 및 Amazon Elastic File System 사용 설명서의 Amazon EC2 인스턴스 및 탑재 대상을 위한 보안 그룹 관련 문서를 참조하십시오.

    • 키 페어를 생성합니다. 인스턴스를 구성할 경우 키 페어를 지정해야 하며, 키 페어를 지정하지 않으면 연결할 수 없습니다. 자세한 내용은 키 페어 생성 단원을 참조하십시오.


2.EC2 생성

    1. https://console.aws.amazon.com/efs/에서 Amazon Elastic File System 콘솔을 엽니다.

    2. Create file system을 선택합니다.

    3. [Configure file system access] 페이지에서 다음을 수행합니다.

      1. [VPC]에서 인스턴스에 사용할 VPC를 선택합니다.

      2. [Create mount targets]에서 가용 영역을 모두 선택합니다.

      3. 각 가용 영역에 대해 Security group이 사전 조건에서 만든 보안 그룹인지 확인합니다.

      4. [Next Step(다음 단계)]을 클릭합니다.

    4. [Configure optional settings] 페이지에서 다음을 수행합니다.

      1. 키=이름 태그의 경우 [Value]에 파일 시스템 이름을 입력합니다.

      2. [Choose performance mode]에서 기본 옵션인 [General Purpose]를 그대로 사용합니다.

      3. Next Step(다음 단계)을 클릭합니다.

    5. [Review and create] 페이지에서 [Create File System]을 선택합니다.

    6. 파일 시스템이 생성되면 파일 시스템 ID를 나중에 참조할 수 있도록 기록해 둡니다.


3.파일 시스템 마운트

    1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

    2. [Launch Instance]를 선택합니다.

    3. [Choose an Amazon Machine Image] 페이지에서 Amazon Linux AMI와 HVM 가상화 유형을 선택합니다.

    4. [Choose an Instance Type] 페이지에서 기본 인스턴스 유형인 t2.micro를 그대로 사용하고 [Next: Configure Instance Details]를 선택합니다.

    5. [Configure Instance Details] 페이지에서 다음을 수행합니다.

      1. [Number of instances]에 2를 입력합니다.

      2. [기본 VPC] 기본 VPC가 있는 경우 [Network]의 기본값이 됩니다. 기본 VPC와 [Subnet]의 기본값을 그대로 유지하여 Amazon EC2에서 인스턴스에 대해 선택한 가용 영역의 기본 서브넷을 사용합니다.

        [기본이 아닌 VPC] [Network]에서 해당 VPC를 선택하고 [Subnet]에서 퍼블릭 서브넷을 선택합니다.

      3. [기본이 아닌 VPC] [Auto-assign Public IP]에서 [Enable]을 선택합니다. 그렇지 않으면 인스턴스가 퍼블릭 IP 주소 또는 퍼블릭 DNS 이름을 받지 못합니다.

      4. Advanced Details(어드밴스 세부 정보)에서 As text(텍스트로)를 선택하고 User data(사용자 데이터)에 다음 스크립트를 붙여 넣습니다. FILE_SYSTEM_ID (아래의 스크린샷 참고) 를 사용자 파일 시스템의 ID로 업데이트합니다.  원한다면 MOUNT_POINT를 탑재된 파일 시스템의 디렉터리로 업데이트할 수 있습니다.

        #!/bin/bash
        yum update -y
        yum install -y nfs-utils
        FILE_SYSTEM_ID=fs-xxxxxxxx
        AVAILABILITY_ZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone )
        REGION=$
        MOUNT_POINT=/mnt/efs
        mkdir -p $
        chown ec2-user:ec2-user $
        echo $.efs.$.amazonaws.com:/ $ nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0 >> /etc/fstab
        mount -a -t nfs4

      5. 마법사의 6단계로 진행합니다.

    6. Configure Security Group(보안 그룹 구성) 페이지에서 Select an existing security group(기존 보안 그룹 선택)을 선택하고 사전 조건에서 생성한 보안 그룹을 선택한 다음, Review and Launch(검토 후 시작)를 선택합니다.

    7. [Review Instance Launch] 페이지에서 [Launch]를 선택합니다.

    8. [Select an existing key pair or create a new key pair] 대화 상자에서 [Choose an existing key pair]를 선택하고 키 페어를 선택합니다. 승인 확인란을 선택하고 [Launch Instances]를 선택합니다.

    9. 탐색 창에서 [Instances]를 선택하여 인스턴스의 상태를 확인합니다. 처음에 인스턴스 상태는 pending입니다. 이 상태가 running으로 변경되면 인스턴스를 사용할 수 있습니다.


4. 마운트 확인 

    1. 인스턴스에 연결합니다. 자세한 내용은 Linux 인스턴스에 연결 단원을 참조하십시오.

    2. 각 인스턴스의 터미널 창에서 df -T 명령을 실행하여 EFS 파일 시스템이 마운트되었는지 확인합니다.


그런데, 위의 df -T를 입력해도 마운트가 잘 되지 않는 경우가 있습니다. (3번을 했는데 잘 안되서 구글링 하였는데, 다음의 링크를 보고 했습니다. )


반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.