AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

Amazon EFS 파일 시스템을 마운트, 마운트 해제, 자동 마운트 및 온프레미스 마운트하려면 어떻게 해야 합니까?

5분 분량
0

Amazon Elastic File System(Amazon EFS) 파일 시스템을 마운트, 마운트 해제, 자동 마운트 및 온프레미스 마운트하는 방법을 알고 싶습니다.

해결 방법

파일 시스템 마운트

EFS 파일 시스템을 마운트하려면 amazon-efs-utils 패키지를 설치할 수 있습니다. 또는 Mankier 웹 사이트에서 nfs-utils 패키지를 설치합니다.

amazon-efs-utils 사용

다음 단계를 완료하십시오.

  1. amazon-efs-utils 패키지를 설치하려면 배포에 따라 다음 명령 중 하나를 실행합니다.
    Amazon Linux 1, Amazon Linux 2 및 Amazon Linux 2023

    $ sudo yum install -y amazon-efs-utils

    Ubuntu 및 Debian 기반 배포판

    $ sudo apt-get update
    $ sudo apt-get -y install git binutils rustc cargo pkg-config libssl-dev
    $ git clone https://github.com/aws/efs-utils
    $ cd efs-utils
    $ ./build-deb.sh
    $ sudo apt-get -y install ./build/amazon-efs-utils*deb

    배포판에서 rust 또는 cargo 패키지를 제공하지 않거나 1.70 이전 버전을 제공하는 경우 rustup을 사용하여 rust와 cargo를 설치합니다.

    'curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    . "$HOME/.cargo/env"

    RPM을 빌드하고 설치하려면 배포에 따라 다음 명령 중 하나를 실행합니다.
    OpenSUSE 또는 SLES

    $ sudo zypper refresh
    $ sudo zypper install -y git rpm-build make rust cargo openssl-devel
    $ git clone https://github.com/aws/efs-utils
    $ cd efs-utils
    $ make rpm
    $ sudo zypper --no-gpg-checks install -y build/amazon-efs-utils*rpm

    기타 모든 배포판

    $ sudo yum -y install git rpm-build make rust cargo openssl-devel
    $ git clone https://github.com/aws/efs-utils
    $ cd efs-utils  
    $ make rpm
    $ sudo yum -y install build/amazon-efs-utils*rpm
  2. Amazon EFS 콘솔을 엽니다.

  3. 탐색 창에서 파일 시스템을 선택합니다.

  4. 파일 시스템을 선택합니다.

  5. 연결을 선택합니다.

  6. AWS Systems Manager의 기능인 SSH 또는 Session Manager를 사용하여 인스턴스에 연결합니다. 그리고 다음 명령을 실행합니다.

    $ sudo mkdir -p /mnt/efs
    $ sudo mkdir -p /mnt/efs-ap
    $ sudo mount -t efs -o tls fs-12345678:/ /mnt/efs
    $ sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs-ap

    참고: 모든 예시 값을 원하는 값으로 바꾸십시오.

nfs-utils 사용

다음 단계를 완료하십시오.

  1. nfs-utils 패키지를 설치하려면 배포에 따라 다음 명령 중 하나를 실행합니다.
    RHEL 및 CentOS 기반 배포판

    $ sudo yum -y install nfs-utils

    Ubuntu 기반 배포판

    $ sudo apt install nfs-common
  2. Amazon EFS 콘솔을 엽니다.

  3. 탐색 창에서 파일 시스템을 선택합니다.

  4. 파일 시스템을 선택합니다.

  5. 연결을 선택합니다.

  6. SSH 또는 Session Manager를 사용하여 인스턴스에 연결한 후 다음 명령을 실행합니다.

    $ sudo mkdir -p /mnt/efs
    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/   ~/efs-mount-point

    -또는-
    IP 주소를 사용하여 마운트하려면 다음 명령을 실행합니다.

    $ sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point

    참고: 모든 예시 값을 원하는 값으로 바꾸십시오.

파일 시스템 마운트 해제

파일 시스템을 마운트 해제하려면 다음 명령을 실행합니다.

$ umount /mnt/efs

마운트 포인트가 사용 중인 경우 -l 파라미터와 함께 umount 명령을 실행합니다.

$ umount -l /mnt/efs

/etc/fstab을 사용하여 파일 시스템을 자동 마운트

재부팅 시 Amazon EFS 마운트가 유지되도록 /etc/fstab에 항목을 만들려면 다음 명령을 실행합니다.

# vim /etc/fstab

amazon-efs-utils 사용

fs-########:/ /mnt/efs efs _netdev,nofail,noresvport,tls,iam 0 0

nfs-utils 사용

fstab에서 파라미터를 구성합니다.

fs-########.efs.REGION.amazonaws.com:/ /mnt/efs nfs4 defaults,_netdev,nofail 0 0
# mount -a

마운트 도우미를 사용하는 마운트 옵션은 EFS 파일 시스템 자동 마운트를 참조하십시오.

참고: 클라이언트 Amazon Elastic Compute Cloud(Amazon EC2)와 다른 가용 영역에 있는 마운트 대상의 IP 주소를 사용하여 마운트할 수 있습니다. 이 마운트 방법을 사용하면 가용 영역 간 데이터 전송 요금과 지연 시간이 발생할 수 있습니다.

인스턴스 시작 시 시작 마법사를 사용하여 파일 시스템 마운트

Amazon EC2 인스턴스를 시작할 때 시작 마법사를 사용하여 사용자 데이터를 자동으로 추가하여 파일 시스템을 마운트할 수 있습니다.

다음 단계를 완료하십시오.

  1. Amazon EC2 콘솔을 엽니다.
  2. 인스턴스 시작을 선택합니다.
  3. Amazon Machine Image(AMI)와 인스턴스 유형을 선택하고 다음: 인스턴스 세부 정보 구성을 선택합니다.
  4. 사용 사례에 맞게 파라미터를 구성합니다. EFS 마운팅에 필요한 가상 프라이빗 클라우드(VPC) 및 서브넷을 선택해야 합니다.
  5. 인스턴스 구성 페이지의 파일 시스템에서 파일 시스템을 선택합니다. 파일 시스템 ID 옆에 있는 경로는 EC2 인스턴스가 사용하는 마운트 지점입니다. 필요에 따라 이 경로를 변경할 수 있습니다.
    파일 시스템을 마운트하려면 고급 세부 정보 섹션에 사용자 데이터가 자동으로 생성됩니다.
    #cloud-config
    package_update: true
    package_upgrade: true
    runcmd:
    - yum install -y amazon-efs-utils
    - apt-get -y install amazon-efs-utils
    - yum install -y nfs-utils
    - apt-get -y install nfs-common
    - file_system_id_1=fs-0cae1679a766bcf49
    - efs_mount_point_1=/mnt/efs/fs1
    - mkdir -p "${efs_mount_point_1}"
    - test -f "/sbin/mount.efs" && printf "\n${file_system_id_1}:/ ${efs_mount_point_1} efs tls,_netdev\n" >> /etc/fstab || printf "\n${file_system_id_1}.efs.us-east-1.amazonaws.com:/ ${efs_mount_point_1} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0\n" >> /etc/fstab
    - test -f "/sbin/mount.efs" && grep -ozP 'client-info]\nsource' '/etc/amazon/efs/efs-utils.conf'; if [[ $? == 1 ]]; then printf "\n[client-info]\nsource=liw\n" >> /etc/amazon/efs/efs-utils.conf; fi;
    - retryCnt=15; waitTime=30; while true; do mount -a -t efs,nfs4 defaults; if [ $? = 0 ] || [ $retryCnt -lt 1 ]; then echo File system mounted successfully; break; fi; echo File system not available, retrying to mount.; ((retryCnt--)); sleep $waitTime; done;>
    -또는-
    Amazon EFS 파일 시스템을 사용자 지정 AMI에 마운트하거나 특정 옵션을 사용하여 마운트하려면 다음 명령을 실행하여 사용자 지정 사용자 데이터를 추가합니다.
    RHEL 및 CentOS 기반 배포판
    #!/bin/bash
    sudo mkdir -p /mnt/efs
    sudo yum -y install nfs-utils
    Ubuntu 기반 배포판
    #!/bin/bash
    sudo mkdir -p /mnt/efs
    sudo apt install nfs-common
    sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ /mnt/efs
    자세한 내용은 사용자 데이터 입력으로 EC2 인스턴스를 시작할 때 명령 실행을 참조하십시오.
  6. 인스턴스를 시작합니다.

파일 시스템을 온프레미스 마운트

Amazon EFS 파일 시스템을 온프레미스 서버에 마운트하려면 Amazon EFS와 온프레미스 서버 간에 연결이 있어야 합니다. 온프레미스 서버와 Amazon Virtual Private Cloud(Amazon VPC) 간의 연결을 설정하려면 AWS Direct Connect와 AWS VPN을 사용합니다. 그런 후 다음 명령을 실행하여 NFS 클라이언트를 설치하고 파일 시스템을 마운트합니다.

$ sudo yum -y install nfs-utils (Red Hat Linux)
$ sudo apt-get -y install nfs-common (Ubuntu)
$ mkdir ~/efs
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/efs

자세한 내용은 자습서: 온프레미스 Linux 클라이언트로 마운트를 참조하십시오.

AWS 공식
AWS 공식업데이트됨 18일 전