

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Network File System을 사용하여 EFS 파일 시스템 탑재
<a name="mounting-fs-old"></a>

다음에서는 NFS(Network File System) 클라이언트를 설치하는 방법과 Amazon EC2 인스턴스에 Amazon EFS 파일 시스템을 탑재하는 방법에 대해 알아봅니다. 또한 `mount` 명령에 대한 설명과 `mount` 명령에서 파일 시스템의 도메인 이름 시스템(DNS) 이름을 지정하는 데 사용할 수 있는 옵션에 대한 설명도 찾을 수 있습니다. 또한 파일 `fstab`을 사용하여 시스템을 다시 시작한 후 파일 시스템을 자동으로 다시 탑재하는 방법에 대해서도 알아볼 수 있습니다.

**참고**  
이 섹션에서는 amazon-efs-utils 패키지 없이 Amazon EFS 파일 시스템을 탑재하는 방법을 알아봅니다. 파일 시스템에서 전송 중 데이터 암호화를 사용하려면 전송 계층 보안(TLS)을 사용해 파일 시스템을 탑재해야 합니다. 이렇게 하려면 amazon-efs-utils 패키지를 사용하는 것이 좋습니다. 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 단원을 참조하십시오.

**Topics**
+ [사전 조건](#reqs-mount-nfs)
+ [NFS 지원](#mounting-fs-nfs-info)
+ [NFS 클라이언트 설치](mounting-fs-install-nfsclient.md)
+ [권장 NFS 탑재 설정](mounting-fs-nfs-mount-settings.md)
+ [DNS 이름을 사용하여 Amazon EC2에 탑재](mounting-fs-mount-cmd-dns-name.md)
+ [IP 주소를 사용하여 탑재](mounting-fs-mount-cmd-ip-addr.md)

## 사전 조건
<a name="reqs-mount-nfs"></a>

파일 시스템을 탑재하려면 먼저 다음 요구 사항을 충족해야 합니다.
+ 관련 AWS 리소스를 생성, 구성 및 시작합니다. 지침은 [Amazon EFS 시작하기](getting-started.md) 섹션을 참조하세요.
+ Amazon EC2 인스턴스와 탑재 대상에 필요한 인바운드 및 아웃바운드 액세스를 포함하도록 VPC 보안 그룹을 생성합니다. 자세한 내용은 [VPC 보안 그룹 사용](network-access.md) 단원을 참조하십시오.

## NFS 지원
<a name="mounting-fs-nfs-info"></a>

Amazon EC2 인스턴스에 파일 시스템을 탑재하는 경우, Amazon EFS에서는 네트워크 파일 시스템 버전 4.0 및 4.1(NFSv4) 프로토콜을 지원합니다. NFSv4.0도 계속 지원되지만 NFSv4.1 사용을 권장합니다. Amazon EC2 인스턴스에 Amazon EFS 파일 시스템을 탑재하려면 선택한 NFSv4 프로토콜을 지원하는 NFS 클라이언트도 필요합니다. macOS Big Sur를 실행하는 Amazon EC2 Mac 인스턴스는 NFS v4.0만 지원합니다.

Amazon EFS는 `nconnect` 탑재 옵션을 지원하지 않습니다.

**참고**  
Linux 커널 버전 5.4.\$1의 경우, 리눅스 NFS 클라이언트는 `read_ahead_kb` 기본값인 128KB를 사용합니다. 이 값을 15MB로 늘리는 것이 좋습니다. 자세한 내용은 [NFS read\$1ahead\$1kb 크기 최적화](performance-tips.md#efs-perf-optimize-nfs-read-ahead) 단원을 참조하십시오.

최적의 성능을 구현하고 다양한 유형의 알려진 NFS 클라이언트 버그를 피하기 위해 최신 Linux 커널을 사용하는 것이 좋습니다. 엔터프라이즈 Linux 배포판을 사용하는 경우 다음을 권장합니다.
+ Amazon Linux 2
+ Amazon Linux 2017.09 이상
+ Red Hat Enterprise Linux(및 CentOS와 같은 파생 버전) 버전 8 이상
+ Ubuntu 16.04 LTS 이상
+ SLES 12 Sp2 이상

다른 배포판이나 사용자 지정 커널을 사용하고 있는 경우 커널 버전 4.3 이상을 권장합니다. EC2 인스턴스에서 Amazon EFS를 사용하는 경우 특정 AMI 또는 커널 버전과 관련된 문제를 해결하려면 [AMI 및 커널 문제 해결](troubleshooting-efs-ami-kernel.md) 섹션을 참조하세요.

**참고**  
Microsoft Windows를 실행하는 Amazon EC2 인스턴스에 EFS 파일 시스템을 탑재하는 것은 지원되지 않습니다.

# NFS 클라이언트 설치
<a name="mounting-fs-install-nfsclient"></a>

Amazon EC2 인스턴스에 EFS 파일 시스템을 탑재하려면 먼저 NFS 클라이언트를 설치해야 합니다. EC2 인스턴스에 연결하고 NFS 클라이언트를 설치하려면 EC2 인스턴스의 퍼블릭 DNS 이름과 로그인한 사용자 이름이 필요합니다. 인스턴스의 사용자 이름은 일반적으로 `ec2-user`입니다.

**EC2 인스턴스 연결 및 NFS 클라이언트 설치**

1. EC2 인스턴스에 연결합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)을 참조하세요.

   SSH가 작동하려면 키가 공개적으로 표시되지 않아야 합니다. **chmod 400 *filename*.pem** 명령을 사용하여 이 권한을 설정할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스에 대한 키 페어 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)을 참조하세요.

1. (선택 사항)업데이트를 가져오고 재부팅합니다.

   ```
   $ sudo yum -y update 
               $  sudo reboot
   ```

1. 재부팅 후 EC2 인스턴스에 다시 연결합니다.

1. NFS 클라이언트를 설치합니다.

   Amazon Linux AMI 또는 Red Hat Linux AMI를 사용 중인 경우 다음 명령으로 NFS 클라이언트를 설치합니다.

   ```
   $ sudo yum -y install nfs-utils
   ```

   Ubuntu Amazon EC2 AMI를 사용 중인 경우 다음 명령으로 NFS 클라이언트를 설치합니다.

   ```
   $ sudo apt-get -y install nfs-common
   ```

1. 다음 명령을 사용하여 NFS 서비스를 시작합니다.

   ```
   $ sudo service nfs-server start
   ```

1. 다음과 같이 NFS 서비스가 시작되었는지 확인합니다.

   ```
   $ sudo service nfs-server status
   Redirecting to /bin/systemctl status nfs.service
   ● nfs-server.service - NFS server and services
      Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
      Active: active (exited) since Wed 2019-10-30 16:13:44 UTC; 5s ago
     Process: 29446 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
     Process: 29441 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS)
     Process: 29439 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
    Main PID: 29446 (code=exited, status=0/SUCCESS)
      CGroup: /system.slice/nfs-server.service
   ```

사용자 지정 커널을 사용하는 경우(사용자 지정 AMI를 빌드한 경우), 최소한 NFSv4.1 클라이언트 커널 모듈과 적절한 NFS4 사용자 공간 탑재 도우미를 포함해야 합니다.

**참고**  
Amazon EC2 인스턴스를 시작할 때 **Amazon Linux AMI 2016.03.0** 또는 **Amazon Linux AMI 2016.09.0**을 선택하면 기본적으로 AMI에 이미 포함되어 있으므로 `nfs-utils`를 설치할 필요가 없습니다.

**다음: 파일 시스템 탑재**  
다음 절차 중 하나에 따라 파일 시스템을 탑재합니다.
+ [DNS 이름을 사용하여 Amazon EC2에 탑재](mounting-fs-mount-cmd-dns-name.md)
+ [IP 주소를 사용하여 탑재](mounting-fs-mount-cmd-ip-addr.md)
+ [EFS 파일 시스템 자동 탑재NFS를 사용하여 EC2 Linux 또는 Mac 인스턴스에서 자동 탑재 활성화](nfs-automount-efs.md)

# 권장 NFS 탑재 설정
<a name="mounting-fs-nfs-mount-settings"></a>

다음 Linux 탑재 옵션 값을 사용하는 것이 좋습니다.
+ `noresvport` – 네트워크 연결이 다시 설정될 때 NFS 클라이언트가 새로운 권한이 없는 전송 제어 프로토콜(TCP) 소스 포트를 사용하도록 지시합니다. 이전 버전의 Linux 커널(버전 v5.4 이하)에 포함된 NFS 클라이언트 소프트웨어에는 NFS 클라이언트가 연결이 끊기면 동일한 TCP 소스 포트에서 재연결을 시도하는 동작이 포함되어 있습니다. 이 동작은 TCP RFC를 준수하지 않으므로 이러한 클라이언트가 EFS 파일 시스템에 빠르게 다시 연결하지 못할 수 있습니다.

  `noresvport` 옵션을 사용하면 NFS 클라이언트가 EFS 파일 시스템에 투명하게 다시 연결되므로 네트워크 복구 이벤트 후 다시 연결할 때 중단 없는 가용성을 유지할 수 있습니다.
**중요**  
재연결 또는 네트워크 복구 이벤트 후에도 EFS 파일 시스템의 가용성이 중단되지 않도록 하려면 `noresvport` 탑재 옵션을 사용하는 것이 좋습니다.  
[EFS 탑재 도우미](mounting-fs.md)를 사용하여 파일 시스템을 탑재하는 것을 고려해 보세요. EFS 탑재 도우미는 Amazon EFS 파일 시스템에 최적화된 NFS 탑재 옵션을 사용합니다.
+ `rsize=1048576` – NFS 클라이언트가 각 네트워크 READ 요청에 대해 수신할 수 있는 최대 데이터 바이트 수를 설정합니다. 이 값은 EFS 파일 시스템의 파일에서 데이터를 읽을 때 적용됩니다. 성능이 저하되지 않도록 최대한 큰 크기(최대 `1048576`)를 사용하는 것이 좋습니다.
+ `wsize=1048576` – NFS 클라이언트가 각 네트워크 WRITE 요청에 대해 전송할 수 있는 최대 데이터 바이트 수를 설정합니다. 이 값은 EFS 파일 시스템의 파일에 데이터를 쓸 때 적용됩니다. 성능이 저하되지 않도록 최대한 큰 크기(최대 `1048576`)를 사용하는 것이 좋습니다.
+ `hard` – NFS 요청 시간이 초과된 후에는 NFS 클라이언트의 복구 동작을 설정하여 서버가 응답할 때까지 NFS 요청을 무기한 재시도합니다. 데이터 무결성을 위하여 하드 탑재 옵션(`hard`)을 사용하는 것이 좋습니다. 그러나 `soft` 탑재를 사용하는 경우 `timeo` 파라미터를 `150`데시초(15초) 이상으로 설정해야 합니다. 이렇게 하면 소프트 탑재에 고유한 데이터 손상 위험을 최소화하는 데 도움이 됩니다.
+ `timeo=600` – NFS 클라이언트가 600데시초(60초) 후에 재시도하기 전에 NFS 클라이언트가 응답을 기다리는 데 사용하는 시간 초과 값을 설정합니다. 시간 제한 파라미터(`timeo`)를 변경해야 하는 경우 15초에 해당하는 `150` 이상의 값을 사용하는 것이 좋습니다. 이렇게 하면 원하지 않는 성능 저하를 방지할 수 있습니다.
+ `retrans=2` – NFS 클라이언트가 추가 복구 작업을 시도하기 전에 요청을 재시도하는 횟수를 2로 설정합니다.
+ `_netdev` – `/etc/fstab`에서 네트워크가 활성화될 때까지 클라이언트가 EFS 파일 시스템을 탑재하는 것을 방지합니다.
+ `nofail` – 탑재된 EFS 파일 시스템의 상태와 관계없이 EC2 인스턴스를 시작해야 하는 경우, `/etc/fstab` 파일의 파일 시스템 항목에 `nofail` 옵션을 추가합니다.

위의 기본값을 사용하지 않는 경우 다음 사항에 유의하세요.
+ 일반적으로 기본값과 다른 탑재 옵션을 설정하지 마세요. 성능 저하 및 기타 문제가 발생할 수 있습니다. 예를 들어, 읽기 또는 쓰기 버퍼 크기를 변경하거나 속성 캐싱을 비활성화하면 성능이 저하될 수 있습니다.
+ Amazon EFS는 소스 포트를 무시합니다. Amazon EFS 소스 포트를 변경하더라도 어떠한 영향도 미치지 않습니다.
+ Amazon EFS는 `nconnect` 탑재 옵션을 지원하지 않습니다.
+ Amazon EFS는 Kerberos 보안 변형을 지원하지 않습니다. 예를 들어 다음 탑재 명령은 실패합니다.

  ```
   $ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/ 
  ```
+ DNS 이름을 사용하여 파일 시스템을 탑재하는 것이 좋습니다. 이 이름은 Amazon EC2 인스턴스와 동일한 가용 영역에서 Amazon EFS 탑재 대상의 IP 주소로 해석됩니다. Amazon EC2 인스턴스와 다른 가용 영역에 있는 탑재 대상을 사용하면 가용 영역을 통해 전송된 데이터에 대한 표준 EC2 요금이 부과됩니다. 또한 파일 시스템 작업의 대기 시간이 늘어날 수 있습니다.
+ 추가 탑재 옵션과 기본값에 대한 자세한 설명은 Linux 설명서를 참조하세요.

# DNS 이름을 사용하여 Amazon EC2에 탑재
<a name="mounting-fs-mount-cmd-dns-name"></a>

**참고**  
파일 시스템을 탑재하기 전에, EC2 보안 그룹에서 포트 2049를 통한 인바운드 NFS 접근을 허용하는 규칙을 탑재 대상 보안 그룹에 추가해야 합니다. 자세한 내용은 [VPC 보안 그룹 사용](network-access.md) 단원을 참조하십시오.
+ **파일 시스템 DNS 이름** - 파일 시스템의 DNS 이름을 사용하는 것은 가장 간단한 탑재 옵션입니다. 파일 시스템 DNS 이름은 연결 중인 Amazon EC2 인스턴스의 가용 영역에서 탑재 대상의 IP 주소를 자동으로 확인합니다. DNS 이름은 콘솔에서 확인할 수 있으며, 파일 시스템 ID가 있는 경우에는 다음 규칙에 따라 파일 시스템 ID를 구성할 수 있습니다.

  ```
  file-system-id.efs.aws-region.amazonaws.com
  ```
**참고**  
 파일 시스템 DNS 이름을 위한 DNS 확인의 경우 클라이언트 인스턴스와 동일한 가용 영역에 있는 탑재 대상이 Amazon EFS 파일 시스템에 있어야 합니다.
  + 파일 시스템 DNS 이름을 사용하면 다음 명령으로 Amazon EC2 Linux 인스턴스에 파일 시스템을 탑재할 수 있습니다.

    ```
    sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ /efs-mount-point
    ```
  + 파일 시스템 DNS 이름을 사용하면 다음 명령으로 지원되는 macOS 버전(Big Sur, Monterey, Ventura)을 실행하는 Amazon EC2 Mac 인스턴스에 파일 시스템을 탑재할 수 있습니다.

    ```
    sudo mount -t nfs -o nfsvers=4.0,rsize=65536,wsize=65536,hard,timeo=600,retrans=2,noresvport,mountport=2049 file-system-id.efs.aws-region.amazonaws.com:/ /efs
    ```
**중요**  
지원되는 macOS 버전을 실행하는 EC2 Mac 인스턴스에 마운트할 때 EFS 파일 시스템에 성공적으로 연결하려면 `mountport=2049`를 사용해야 합니다.
+ **탑재 대상 DNS 이름** - 2016년 12월에 파일 시스템 DNS 이름을 도입했습니다. 이전 버전과의 호환성을 위해 각 가용 영역 탑재 대상에 대한 DNS 이름을 계속해서 제공하고 있습니다. 탑재 대상 DNS 이름의 일반 형식은 다음과 같습니다.

  ```
  availability-zone.file-system-id.efs.aws-region.amazonaws.com
  ```
**참고**  
가용 영역 전반의 탑재 대상 DNS 이름 확인이 지원됩니다.

  일부 경우, 탑재 대상을 삭제한 후 동일한 가용 영역에 새 탑재 대상을 생성할 수 있습니다. 이 경우, 가용 영역에 새로 만든 탑재 대상의 DNS 이름은 기존 탑재 대상의 DNS 이름과 동일합니다.

**연결** 대화 상자에서 파일 시스템을 탑재하기 위한 정확한 명령을 보고 복사할 수 있습니다.

**파일 시스템의 마운트 명령을 보려면**

1. Amazon EFS 콘솔에서 탑재하려는 파일 시스템을 선택하여 세부 정보 페이지를 표시합니다.

1. 이 파일 시스템에 사용할 탑재 명령을 표시하려면 오른쪽 상단에서 **연결**을 선택합니다.

   **연결** 화면에는 파일 시스템을 탑재하는 데 사용할 정확한 명령이 표시됩니다.

1. 기본 **DNS를 통한 탑재** 보기에는 EFS 탑재 도우미 또는 NFS 클라이언트를 사용하여 탑재할 때 파일 시스템의 DNS 이름을 사용하여 파일 시스템을 탑재하는 명령이 표시됩니다.

Amazon EFS를 지원하는 목록은 AWS 리전의 [Amazon Elastic File System](https://docs.aws.amazon.com/general/latest/gr/rande.html#elasticfilesystem-region)을 참조하세요 AWS 일반 참조.

`mount` 명령에서 DNS 이름을 사용할 수 있으려면 다음에 해당해야 합니다.
+ 연결 중인 EC2 인스턴스가 VPC 내에 있어야 하고, Amazon에서 제공하는 DNS 서버를 사용하도록 구성되어 있어야 합니다. Amazon DNS 서버에 대한 자세한 정보는 *Amazon VPC 사용 설명서*에서 [Amazon VPC의 DHCP 옵션 세트](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)를 참조하세요.
+ 연결 중인 EC2 인스턴스의 VPC에는 **DNS 확인** 및 **DNS 호스트 이름**이 활성화되어 있어야 합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC에 대한 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-viewing)을 참조하세요.
+ 연결 중인 EC2 인스턴스는 EFS 파일 시스템과 동일한 VPC 내에 있어야 합니다. 다른 위치 또는 다른 VPC에서 파일 시스템에 액세스하고 탑재하는 방법에 대한 자세한 내용은 [사전 조건](mounting-fs-mount-helper-direct.md#efs-onpremises) 및 [자습서: 다른 VPC에서 파일 시스템 탑재하기](efs-different-vpc.md) 섹션을 참조하세요.

**참고**  
탑재 대상을 만든 후 파일 시스템을 탑재하기 전에 90초 가량 기다리는 것이 좋습니다. 이 대기를 통해 DNS 레코드가 파일 시스템이 AWS 리전 있는에 완전히 전파됩니다.

# IP 주소를 사용하여 탑재
<a name="mounting-fs-mount-cmd-ip-addr"></a>

DNS 이름을 사용하여 Amazon EFS 파일 시스템을 탑재하는 방법의 대안으로 Amazon EC2 인스턴스에서 탑재 대상의 IP 주소를 사용하여 파일 시스템을 탑재할 수 있습니다. IP 주소를 통한 탑재는 DNS 호스트 이름이 비활성화된 VPC와 같이 DNS가 비활성화된 환경에서 작동합니다.

탑재 대상 IP 주소를 사용하여 파일 시스템 탑재는 기본적으로 DNS 이름을 사용하여 파일 시스템을 탑재하도록 구성된 애플리케이션의 폴백 옵션으로 구성할 수도 있습니다. 탑재 대상 IP 주소에 연결할 때 EC2 인스턴스는 연결 중인 인스턴스와 동일한 가용 영역에서 탑재 대상 IP 주소를 사용하여 탑재해야 합니다.

**연결** 대화 상자에서 파일 시스템을 탑재하기 위한 정확한 명령을 보고 복사할 수 있습니다.

**참고**  
파일 시스템을 탑재하기 전에, EC2 보안 그룹에서 포트 2049를 통한 인바운드 NFS 액세스를 허용하도록 탑재 대상 보안 그룹에 규칙을 추가해야 합니다. 자세한 내용은 [VPC 보안 그룹 사용](network-access.md) 단원을 참조하십시오.

**탑재 대상 IP 주소를 사용하여 EFS 파일 시스템을 탑재하기 위한 정확한 명령을 보고 복사하려면**

1. Amazon Elastic File System 콘솔([https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/))을 엽니다.

1. Amazon EFS 콘솔에서 탑재하려는 파일 시스템을 선택하여 세부 정보 페이지를 표시합니다.

1. 이 파일 시스템에 사용할 탑재 명령을 표시하려면 오른쪽 상단에서 **연결**을 선택합니다.

1. **연결** 화면에는 파일 시스템을 탑재하는 데 사용할 정확한 명령이 표시됩니다.

   선택한 가용 영역에 NFS 클라이언트가 있는 탑재 대상 IP 주소를 사용하여 파일 시스템을 탑재하는 명령을 표시하려면 **IP를 통한 탑재(Mount via IP)**를 선택합니다.
+ `mount` 명령에서 탑재 대상의 IP 주소를 사용하여 다음 명령으로 Amazon EC2 Linux 인스턴스에 파일 시스템을 탑재할 수 있습니다.

  ```
  sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/   /efs 
  ```
+ `mount` 명령에서 탑재 대상의 IP 주소를 사용하여 다음 명령으로 macOS Big Sur를 실행하는 Amazon EC2 Mac 인스턴스에 파일 시스템을 탑재할 수 있습니다.

  ```
  sudo mount -t nfs -o nfsvers=4.0,rsize=65536,wsize=65536,hard,timeo=600,retrans=2,noresvport,mountport=2049 mount-target-IP:/ /efs
  ```
**중요**  
macOS Big Sur를 실행하는 EC2 Mac 인스턴스에 마운트할 때 EFS 파일 시스템에 성공적으로 연결하려면 `mountport=2049`를 사용해야 합니다.

## 에서 IP 주소를 사용하여 탑재 AWS CloudFormation
<a name="mount-fs-ip-addr-cloudformation"></a>

 CloudFormation 템플릿의 IP 주소를 사용하여 파일 시스템을 탑재할 수도 있습니다. 자세한 내용은 GitHub의 커뮤니티 제공 구성 파일에 대한 **awsdocs/elastic-beanstalk-samples 리포지토리**의 [storage-efs-mountfilesystem-ip-addr.config](https://github.com/awsdocs/elastic-beanstalk-samples/blob/master/configuration-files/community-provided/instance-configuration/storage-efs-mountfilesystem-ip-addr.config)를 참조하세요.