메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

Amazon EFS(Amazon Elastic File System)

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

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

중요

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

사전 조건

  • 보안 그룹(예: efs-sg)을 만든 후 다음 규칙을 추가합니다.

    • 컴퓨터로부터의 인바운드 SSH 연결 허용(소스는 네트워크의 CIDR 블록)

    • 그룹과 연결된 EC2 인스턴스로부터 인바운드 NFS 연결 허용(소스는 해당 보안 그룹)

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

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]에서 다음 스크립트를 [User data]에 붙여 넣습니다. [EFS_ID]를 해당 파일 시스템 ID로 업데이트하고, [EFS_REGION]을 해당 파일 시스템의 리전 코드로 업데이트합니다. 필요할 경우 [EFS_MOUNT_DIR]을, 마운트한 파일 시스템의 디렉터리로 업데이트할 수 있습니다.

      Copy
      #!/bin/bash yum update -y yum install -y nfs-utils EFS_ID=fs-xxxxxxxx EFS_REGION=region-code EFS_MOUNT_DIR=/mnt/efs mkdir -p ${EFS_MOUNT_DIR} chown ec2-user:ec2-user ${EFS_MOUNT_DIR} echo $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).${EFS_ID}.efs.${EFS_REGION}.amazonaws.com:/ ${EFS_MOUNT_DIR} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 >> /etc/fstab mount -a
    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 파일 시스템이 마운트되었는지 확인합니다.

    Copy
    $ 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의 형식은 다음과 같습니다.

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

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

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

      Copy
      $ 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]을 선택합니다.