메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

Amazon EFS(Amazon Elastic File System)

Amazon EFS는 Amazon EC2에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공합니다. EFS 파일 시스템을 만든 후 파일 시스템을 마운트하도록 인스턴스를 구성할 수 있습니다. 하나의 EFS 파일 시스템을 여러 인스턴스에서 실행하는 워크로드 및 애플리케이션에 대한 공통 데이터 소스로 사용할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon Elastic File System 상품 페이지Amazon Elastic File System(Amazon EFS)을 참조하십시오.

이 자습서에서는 하나의 EFS 파일 시스템과, 이 파일 시스템을 사용하여 데이터를 공유할 수 있는 두 개의 Linux 인스턴스를 만듭니다.

중요

Amazon EFS는 Windows 인스턴스에서 지원되지 않습니다.

사전 조건

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

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

    • 이 보안 그룹과 연결된 EC2 인스턴스에서 인바운드 NFS로 EFS 탑재 대상을 통해 파일 시스템에 연결하도록 허용합니다(소스는 보안 그룹 자체). 자세한 내용은 Amazon EFS 파일 시스템Amazon Elastic File System 사용 설명서Amazon EC2 인스턴스 및 탑재 대상을 위한 보안 그룹 관련 문서를 참조하십시오.

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

1단계: EFS 파일 시스템 만들기

Amazon EFS를 사용하면 여러 인스턴스에서 마운트하고 동시에 액세스할 수 있는 파일 시스템을 만들 수 있습니다. 자세한 내용은 Amazon Elastic File System 사용 설명서에서 Amazon EFS용 리소스 만들기를 참조하십시오.

파일 시스템을 만들려면

  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를 나중에 참조할 수 있도록 기록해 둡니다.

2단계: 파일 시스템 마운트

다음 절차를 수행하여 t2.micro 인스턴스 두 개를 실행합니다. 사용자 데이터 스크립트는 인스턴스 실행 시 파일 시스템을 두 인스턴스 모두에 마운트하고, /etc/fstab를 업데이트하여 파일 시스템이 인스턴스가 재부팅된 후 다시 마운트되도록 합니다. T2 인스턴스는 반드시 서브넷에서 시작되어야 합니다. 기본 VPC 또는 기본이 아닌 VPC를 를 사용할 수 있습니다.

참고

이미 실행 중인 인스턴스에 마운트하는 등, 다른 방법으로 볼륨을 마운트할 수 있습니다. 자세한 내용은 Amazon Elastic File System 사용 설명서에서 파일 시스템 마운트를 참조하십시오.

두 개의 인스턴스를 실행하여 하나의 EFS 파일 시스템을 마운트하려면

  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=${AVAILABILITY_ZONE:0:-1} MOUNT_POINT=/mnt/efs mkdir -p ${MOUNT_POINT} chown ec2-user:ec2-user ${MOUNT_POINT} echo ${FILE_SYSTEM_ID}.efs.${REGION}.amazonaws.com:/ ${MOUNT_POINT} 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으로 변경되면 인스턴스를 사용할 수 있습니다.

3단계: 파일 시스템 테스트

인스턴스에 연결하여 지정한 디렉터리(예: /mnt/efs)에 해당 파일 시스템이 마운트되었는지 확인할 수 있습니다.

파일 시스템이 마운트되었는지 확인하려면

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

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

    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/xvda1 ext4 8123812 1949800 6073764 25% / devtmpfs devtmpfs 4078468 56 4078412 1% /dev tmpfs tmpfs 4089312 0 4089312 0% /dev/shm efs-dns nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs

    예제 출력에 나와 있는 파일 시스템 이름 efs-dns의 형식은 다음과 같습니다.

    file-system-id.efs.aws-region.amazonaws.com:/
  3. (선택 사항) 한 인스턴스의 파일 시스템에서 파일을 하나 생성한 후 다른 인스턴스에서 해당 파일이 보이는지 확인합니다.

    1. 첫 인스턴스에서 다음 명령을 실행하여 파일을 생성합니다.

      $ sudo touch /mnt/efs/test-file.txt
    2. 둘째 인스턴스에서 다음 명령을 실행하여 파일을 봅니다.

      $ ls /mnt/efs test-file.txt

4단계: 정리

이 자습서를 마치면 인스턴스를 종료하고 파일 시스템을 삭제해도 됩니다.

인스턴스를 종료하려면

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

  2. 탐색 창에서 Instances를 선택합니다.

  3. 종료할 인스턴스를 선택합니다.

  4. [Actions], [Instance State], [Terminate]를 차례로 선택합니다.

  5. 확인 메시지가 나타나면 [Yes, Terminate]를 선택합니다.

파일 시스템을 삭제하려면

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

  2. 삭제한 파일 시스템을 선택합니다.

  3. [Actions], [Delete file system]을 차례로 선택합니다.

  4. 확인 메시지가 표시되면 파일 시스템 ID를 입력하고 [Delete File System]을 선택합니다.