

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

# EFS 파일 시스템 탑재
<a name="mounting-fs"></a>

EFS 파일 시스템을 탑재하려면 EFS 탑재 도우미를 사용하는 것이 좋습니다. EFS 탑재 도우미는 지원되는 배포판을 실행하는 EC2 Linux 및 Mac 인스턴스에 EFS 파일 시스템을 탑재할 수 있도록 도와줍니다. 탑재 도우미는 Amazon EFS 클라이언트(`amazon-efs-utils`)를 설치할 때 설치되는 오픈 소스 도구 모음의 일부입니다. Amazon EFS 클라이언트 및 지원되는 배포판에 대한 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 단원을 참조하세요.

또는 표준 Linux NFS 클라이언트를 사용하여 EFS 파일 시스템을 수동으로 탑재할 수 있습니다. Amazon EC2 인스턴스에 파일 시스템을 탑재하는 경우, Amazon EFS에서는 네트워크 파일 시스템 버전 4.0 및 4.1(NFSv4) 프로토콜을 지원합니다.

또한 EFS 탑재 도우미 또는 NFS를 사용하여 인스턴스가 시작될 때 자동으로 EFS 파일 시스템을 탑재하도록 EC2 인스턴스를 구성할 수 있습니다.

**Topics**
+ [Linux의 탑재 고려 사항](mounting-fs-mount-cmd-general.md)
+ [EFS 탑재 도우미를 사용하여 EFS 파일 시스템 탑재](efs-mount-helper.md)
+ [Network File System을 사용하여 EFS 파일 시스템 탑재](mounting-fs-old.md)
+ [EFS 파일 시스템 자동 탑재](mount-fs-auto-mount-onreboot.md)
+ [파일 시스템 탑재 해제](unmounting-fs.md)
+ [자습서:를 사용하여 EFS 파일 시스템을 생성하고 EC2 인스턴스에 탑재 AWS CLI](wt1-getting-started.md)
+ [자습서: 온프레미스 Linux 클라이언트로 탑재](mounting-fs-mount-helper-direct.md)
+ [자습서: 다른 VPC에서 파일 시스템 탑재하기](efs-different-vpc.md)
+ [탑재 문제 해결](troubleshooting-efs-mounting.md)

# Linux의 탑재 고려 사항
<a name="mounting-fs-mount-cmd-general"></a>

다음 Linux 탑재 옵션 값을 사용하는 것이 좋습니다.
+ `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로 설정합니다.
+ `noresvport` – 네트워크 연결이 다시 설정될 때 NFS 클라이언트가 새로운 권한이 없는 전송 제어 프로토콜(TCP) 소스 포트를 사용하도록 지시합니다. 이렇게 하면 네트워크 복구 이벤트 후에도 EFS 파일 시스템을 중단 없이 사용할 수 있습니다.
+ `_netdev` – `/etc/fstab`에서 네트워크가 활성화될 때까지 클라이언트가 EFS 파일 시스템을 탑재하는 것을 방지합니다.

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

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

**참고**  
탑재된 EFS 파일 시스템의 상태와 관계없이 EC2 인스턴스를 시작해야 하는 경우, `/etc/fstab` 파일의 파일 시스템 항목에 `nofail` 옵션을 추가합니다.

# EFS 탑재 도우미를 사용하여 EFS 파일 시스템 탑재
<a name="efs-mount-helper"></a>

Amazon EFS 클라이언트(`amazon-efs-utils`)를 설치한 후에는 EFS 탑재 도우미를 사용하여 [지원되는 배포판](using-amazon-efs-utils.md#efs-utils-supported-distros)을 실행하는 EC2 Linux 및 Mac 인스턴스에 EFS 파일 시스템을 탑재할 수 있습니다. Amazon EFS는 EC2 Windows 인스턴스에서의 탑재를 지원하지 않습니다.

**중요**  
성공적인 탑재를 위해 항상 최신 버전의 `amazon-efs-utils`를 사용하는 것이 좋습니다. 예를 들어 2.3 `amazon-efs-utils` 이전의 버전은 IPv6 주소를 사용한 탑재를 지원하지 않습니다.

파일 시스템을 탑재할 때 탑재 도우미는 Linux의 표준 `mount` 명령과 완전히 호환되는 `efs`라는 새로운 네트워크 파일 시스템 유형을 정의합니다. 또한 탑재 도우미는 EC2 Linux 인스턴스에 있는 `/etc/fstab` 구성 파일의 항목을 사용해 자동으로 인스턴스 부팅 시 인스턴스에 EFS 파일 시스템을 탑재하는 것을 지원합니다.

**주의**  
파일 시스템을 자동으로 마운트하는 경우 네트워크 파일 시스템 식별에 사용하는 `_netdev` 옵션을 사용합니다. `_netdev`이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다. 자세한 내용은 [자동 탑재 실패 및 인스턴스 무응답](troubleshooting-efs-mounting.md#automount-fails) 단원을 참조하십시오.

다음 속성 중 하나만 지정하여 파일 시스템을 탑재할 수 있습니다.
+ **파일 시스템 DNS 이름** - 파일 시스템 DNS 이름을 사용하고 있는데 탑재 도우미가 이름을 확인할 수 없는 경우(예: 다른 VPC에 파일 시스템을 마운트하는 경우) 탑재 대상 IP 주소를 대신 사용합니다. 자세한 내용은 [다른 AWS 계정 또는 VPC에서 EFS 파일 시스템 탑재](manage-fs-access-vpc-peering.md) 단원을 참조하십시오.
+ **파일 시스템 ID** - 파일 시스템 ID를 사용하는 경우 탑재 도우미는 외부 리소스를 직접 호출하지 않고 탑재 대상 탄력적 네트워크 인터페이스(ENI)의 로컬 IP 주소로 파일을 확인합니다.
+ **탑재 대상 IP 주소** - 파일 시스템 탑재 대상 중 하나의 IP 주소를 사용할 수 있습니다.

Amazon EFS 콘솔에서 이러한 모든 속성의 값을 찾을 수 있습니다. 파일 시스템 DNS 이름은 **연결** 화면에서 찾을 수 있습니다.

전송 중 데이터 암호화를 EFS 파일 시스템의 탑재 옵션으로 선언하면, 탑재 도우미가 클라이언트 `stunnel` 프로세스와 `amazon-efs-mount-watchdog`이라는 관리자 프로세스를 초기화합니다. 이 `amazon-efs-mount-watchdog` 프로세스는 TLS 탑재의 상태를 모니터링하며, EFS 파일 시스템이 TLS를 통해 처음 탑재될 때 자동으로 시작됩니다. 클라이언트가 Linux에서 실행되는 경우 이 프로세스는 해당 Linux 배포판에 따라 `upstart` 또는 `systemd`에 의해 관리됩니다. 지원되는 macOS에서 실행되는 클라이언트의 경우 `launchd`에서 관리합니다.

`Stunnel`은 다목적 오픈 소스 네트워크 릴레이입니다. 클라이언트 `stunnel` 프로세스는 로컬 포트에서 인바운드 트래픽을 수신 대기하고, 탑재 도우미는 NFS 클라이언트 트래픽을 이 로컬 포트로 리디렉션합니다.

탑재 도우미는 TLS 버전 1.2를 사용해 파일 시스템과 통신합니다. TLS를 사용하기 위해서는 인증서가 필요하며, 신뢰할 수 있는 Amazon 인증 기관이 서명한 인증서여야 합니다. 암호화 작동 방식에 대한 자세한 내용은 [Amazon EFS의 데이터 암호화](encryption.md) 섹션을 참조하세요.

**Topics**
+ [EFS 탑재 도우미에서 사용하는 탑재 설정](mount-helper-setting.md)
+ [지원 로그 얻기](mount-helper-logs.md)
+ [EFS 탑재 도우미를 사용하기 위한 사전 조건](mount-helper-prerequisites.md)
+ [EFS 탑재 도우미를 사용하여 EC2 Linux 인스턴스에 탑재](mounting-fs-mount-helper-ec2-linux.md)
+ [EFS 탑재 도우미를 사용하여 EC2 Mac 인스턴스에 탑재](mounting-fs-mount-helper-ec2-mac.md)
+ [다른에서 EFS 파일 시스템 탑재 AWS 리전](mount-different-region.md)
+ [One Zone 파일 시스템 탑재하기](mounting-one-zone.md)
+ [IAM 권한 부여를 통한 탑재](mounting-IAM-option.md)
+ [EFS 액세스 포인트를 사용한 탑재](mounting-access-points.md)
+ [여러 EC2 인스턴스에 EFS 탑재](mount-multiple-ec2-instances.md)
+ [다른 AWS 계정 또는 VPC에서 EFS 파일 시스템 탑재](manage-fs-access-vpc-peering.md)

# EFS 탑재 도우미에서 사용하는 탑재 설정
<a name="mount-helper-setting"></a>

Amazon EFS 탑재 도우미 클라이언트는 Amazon EFS에 최적화된 다음과 같은 탑재 옵션을 사용합니다.
+ `nfsvers=4.1` - EC2 Linux 인스턴스에 탑재할 때 사용됩니다.

  `nfsvers=4.0` - macOS Big Sur, Monterey, Ventura를 실행하는 지원되는 EC2 Mac 인스턴스에 마운트할 때 사용됩니다.
+ `rsize=1048576` – NFS 클라이언트가 원하지 않는 성능 저하를 방지하기 위해 가능한 가장 큰 1048576에 대한 각 네트워크 READ 요청에 대해 수신할 수 있는 최대 데이터 바이트 수를 설정합니다.
+ `wsize=1048576` – NFS 클라이언트가 원하지 않는 성능 저하를 방지하기 위해 가능한 가장 큰 `1048576`에 대한 각 네트워크 WRITE 요청에 대해 송신할 수 있는 최대 데이터 바이트 수를 설정합니다.
+ `hard` – NFS 요청 시간이 초과된 후에는 NFS 클라이언트의 복구 동작을 설정하여 데이터 무결성을 확인하기 위하여 서버가 응답할 때까지 NFS 요청을 무기한 재시도합니다.
+ `timeo=600` – NFS 클라이언트가 600데시초(60초) 후에 재시도하기 전에 데이터 무결성을 확인하기 위하여 NFS 클라이언트가 응답을 기다리는 데 사용하는 시간 초과 값을 설정합니다.
+ `retrans=2` – NFS 클라이언트가 추가 복구 작업을 시도하기 전에 요청을 재시도하는 횟수를 2로 설정합니다.
+ `noresvport` – 네트워크 연결이 다시 설정될 때 NFS 클라이언트가 새로운 권한이 없는 전송 제어 프로토콜(TCP) 소스 포트를 사용하도록 지시합니다. 이 `noresvport` 옵션을 사용하면 재연결 또는 네트워크 복구 이벤트 후에도 EFS 파일 시스템을 중단 없이 사용할 수 있습니다.
+ `mountport=2049` - macOS Big Sur, Monterey, Ventura를 실행하는 EC2 Mac 인스턴스에 마운트할 때만 사용됩니다.

# 지원 로그 얻기
<a name="mount-helper-logs"></a>

EFS 탑재 도우미에는 EFS 파일 시스템에 대한 로깅 기능이 내장되어 있습니다. 문제 해결을 위해 이러한 로그를 AWS Support와 공유할 수 있습니다. EFS 탑재 도우미를 사용하여 클라이언트의 `/var/log/amazon/efs`에 저장된 로그를 찾을 수 있습니다. EFS 탑재 도우미, stunnel 프로세스(기본값으로 비활성화됨), stunnel 프로세스를 모니터링하는 `amazon-efs-mount-watchdog` 프로세스용 로그입니다.

**참고**  
`amazon-efs-mount-watchdog` 프로세스는 각 탑재의 stunnel 프로세스를 실행시키고, EFS 파일 시스템의 탑재가 해제되었을 때 stunnel을 중단합니다. 어떤 이유로 stunnel 프로세스가 예기치 않게 종료된 경우, 이 감시 프로세스가 stunnel 프로세스를 다시 시작합니다.

`/etc/amazon/efs/efs-utils.conf`의 로그 구성을 변경할 수 있습니다. 로그 변경 내용을 적용하려면 EFS 탑재 도우미를 사용하여 파일 시스템을 탑재 해제했다가 다시 탑재해야 합니다. 탑재 도우미와 감시 로그의 로그 용량은 20MiB로 제한되어 있습니다. Stunnel 프로세스의 로그는 기본값으로 비활성화되어 있습니다.

**중요**  
Stunnel 프로세스 로그에 대한 로깅을 활성화 할 수 있습니다. 그러나 활성화된 stunnel 로그가 파일 시스템에서 상당한 공간을 사용할 수 있습니다.

# EFS 탑재 도우미를 사용하기 위한 사전 조건
<a name="mount-helper-prerequisites"></a>

Amazon EFS 탑재 도우미를 사용해 Amazon EC2 인스턴스에 EFS 파일 시스템을 탑재할 수 있습니다. 탑재 도우미를 사용하려면 다음 절차를 따라야 합니다.
+ **탑재할 파일 시스템의 파일 시스템 ID** - EFS 탑재 도우미는 외부 리소스를 직접 호출하지 않고 탑재 대상 탄력적 네트워크 인터페이스(ENI)의 로컬 IP 주소로 파일 시스템 ID를 확인합니다.
+ **EFS 탑재 대상** - 가상 프라이빗 클라우드(VPC)에 탑재 대상을 생성합니다. 서비스 권장 설정을 사용하여 콘솔에서 파일 시스템을 생성하는 경우 파일 시스템이 AWS 리전 있는의 각 가용 영역에 탑재 대상이 생성됩니다. 탑재 대상을 만드는 방법에 대한 지침은 [탑재 대상 생성](accessing-fs.md) 섹션을 참조하세요.
**참고**  
DNS를 통해 파일 시스템을 마운트하기 전에 새로 생성된 탑재 대상의 수명 주기 상태를 **사용할 수 있게** 된 후 60초 정도 기다리는 것이 좋습니다. 이 대기를 통해 DNS 레코드가 파일 시스템이 AWS 리전 있는에 완전히 전파됩니다.

  EC2 인스턴스와 다른 가용 영역에 있는 탑재 대상을 사용하면 가용 영역을 통해 전송된 데이터에 대한 표준 EC2 요금이 부과됩니다. 또한 파일 시스템 작업의 대기 시간이 늘어날 수 있습니다.
+ 다른 가용 영역의 One Zone 파일 시스템을 탑재하는 경우:
  + **파일 시스템의 가용 영역 이름** - EC2 인스턴스와 다른 가용 영역에 위치한 EFS One Zone 파일 시스템을 탑재하는 경우.
  + **탑재 대상 DNS 이름** - 또는 가용 영역 대신 탑재 대상의 DNS 이름을 지정할 수 있습니다.
+ **지원되는 Linux 또는 macOS 배포를 실행하는 EC2 인스턴스** - 탑재 도우미를 사용하여 파일 시스템을 탑재하기 위해 지원되는 배포판은 다음과 같습니다.
  + Amazon Linux 2
  + Amazon Linux 2023
  + Amazon Linux 2017.09 이상
  + macOS Big Sur
  + Red Hat Enterprise Linux(CentOS 같은 계열 시스템 포함) 버전 7 이상
  + Ubuntu 16.04 LTS 이상
**참고**  
macOS Big Sur를 실행하는 EC2 Mac 인스턴스는 NFS 4.0만 지원합니다.
+ **EFS 탑재 도우미가 EC2 인스턴스에 설치됨** - 탑재 도우미는 유틸리티 `amazon-efs-utils` 패키지의 도구입니다. `amazon-efs-utils`  설치에 대한 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 섹션을 참조하세요.
+ The EC2 인스턴스가 VPC에 있음**** – 연결 EC2 인스턴스는 Amazon VPC 서비스를 기반으로 하는 Virtual Private Cloud(VPC)에 있어야 합니다. 또한에서 제공하는 DNS 서버를 사용하도록 구성해야 합니다 AWS. Amazon DNS 서버에 대한 자세한 정보는 *Amazon VPC 사용 설명서*에서 [Amazon VPC의 DHCP 옵션 세트](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)를 참조하세요.
+ **VPC에 활성화된 DNS 호스트 이름이 있음** – 연결 중인 EC2 인스턴스의 VPC에 DNS 호스트 이름이 활성화되어 있어야 합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC에 대한 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-viewing)을 참조하세요.
+ **다른의 EC2 인스턴스 및 파일 시스템의 경우 AWS 리전** - 탑재하려는 EC2 인스턴스와 파일 시스템이 다른에 있는 경우 `efs-utils.conf` 파일에서 `region` 속성을 편집 AWS 리전해야 합니다. 자세한 내용은 [다른에서 EFS 파일 시스템 탑재 AWS 리전](mount-different-region.md) 단원을 참조하십시오.

# EFS 탑재 도우미를 사용하여 EC2 Linux 인스턴스에 탑재
<a name="mounting-fs-mount-helper-ec2-linux"></a>

이 절차에는 다음이 필요합니다.
+ Amazon EC2 인스턴스에 `amazon-efs-utils` 패키지를 설치해야 합니다. 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](installing-amazon-efs-utils.md) 단원을 참조하십시오.
+ 파일 시스템에 탑재 대상을 만들었습니다. 자세한 내용은 [탑재 대상 생성](accessing-fs.md) 단원을 참조하십시오.

**EC2 Linux 인스턴스에 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재하는 방법**

1. Secure Shell(SSH)를 통해 EC2 인스턴스의 터미널 창을 열고, 적절한 사용자 이름으로 로그인합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)을 참조하세요.

1. 다음 명령을 사용하여 파일 시스템 탑재 지점으로 사용할 디렉터리 `efs`를 생성합니다.

   ```
   sudo mkdir efs
   ```

1. 다음 명령 중 하나를 실행하여 파일 시스템을 탑재합니다.
**참고**  
탑재하려는 EC2 인스턴스와 파일 시스템이 다른 AWS 리전에 위치한 경우 `efs-utils.conf` 파일의 `region` 속성을 편집하려면 [다른에서 EFS 파일 시스템 탑재 AWS 리전](mount-different-region.md)을 참조하세요.
   + 파일 시스템 ID를 사용하여 탑재하려면:

     ```
     sudo mount -t efs file-system-id efs-mount-point/
     ```

     *efs-mount-point* 대신 `file-system-id` 및 `efs`의 위치에 탑재하려는 파일 시스템의 ID를 사용하세요.

     ```
     sudo mount -t efs fs-abcd123456789ef0 efs/
     ```

     또는 전송 중 데이터 암호화를 사용하려면 다음 명령을 사용하여 파일 시스템을 탑재할 수 있습니다.

     ```
     sudo mount -t efs -o tls fs-abcd123456789ef0:/ efs/
     ```
   + 파일 시스템 DNS 이름을 사용하여 탑재하려면:

     ```
     sudo mount -t efs -o tls file-system-dns-name efs-mount-point/
     ```

     ```
     sudo mount -t efs -o tls fs-abcd123456789ef0.efs.us-east-2.amazonaws.com efs/
     ```
   + 탑재 대상 IP 주소를 사용하여 탑재하려면:

     ```
     sudo mount -t efs -o tls,mounttargetip=mount-target-ip file-system-id efs-mount-point/
     ```

     ```
     sudo mount -t efs -o tls,mounttargetip=192.0.2.0 fs-abcd123456789ef0 efs/
     ```

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

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

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

      **연결** 화면에는 다음 방법들로 파일 시스템을 탑재하는 데 사용할 정확한 명령이 표시됩니다.
      + (**DNS를 통해 탑재**) EFS 탑재 도우미 또는 NFS 클라이언트에서 파일 시스템의 DNS 이름을 사용합니다.
      + (**IP를 통해 탑재**) 선택한 가용 영역의 탑재 대상 IP 주소를 NFS 클라이언트와 함께 사용합니다.

# EFS 탑재 도우미를 사용하여 EC2 Mac 인스턴스에 탑재
<a name="mounting-fs-mount-helper-ec2-mac"></a>

이 절차에는 다음이 필요합니다.
+ Amazon EC2 Mac 인스턴스에 `amazon-efs-utils` 패키지를 설치해야 합니다. 자세한 내용은 [macOS Big Sur, macOS Monterey 또는 macOS Ventura를 실행하는 EC2 Mac 인스턴스에 Amazon EFS 클라이언트 설치](installing-amazon-efs-utils.md#install-efs-utils-macOS) 단원을 참조하십시오.
+ 파일 시스템에 탑재 대상을 만들었습니다. 파일 시스템 생성 시 탑재 대상을 생성하여 기존 파일 시스템에 추가할 수 있습니다. 자세한 내용은 [탑재 대상 생성](accessing-fs.md) 단원을 참조하십시오.
+ macOS Big Sur, Monterey 또는 Ventura를 실행하는 EC2 Mac 인스턴스에 파일 시스템을 탑재하고 있습니다. 다른 macOS 버전은 지원되지 않습니다.

**참고**  
macOS Big Sur, Monterey, Ventura를 실행하는 EC2 Mac 인스턴스만 지원됩니다. 다른 macOS 버전은 Amazon EFS와 함께 사용할 수 없습니다.

**macOS Big Sur, Monterey, 또는 Ventura를 실행하는 EC2 Mac 인스턴스에 EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재하는 방법**

1. Secure Shell(SSH)를 통해 EC2 Mac 인스턴스의 터미널 창을 열고, 적절한 사용자 이름으로 로그인합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)을 참조하세요.

1. 다음 명령을 사용하여 파일 시스템 탑재 지점으로 사용할 디렉터리를 생성합니다.

   ```
   sudo mkdir efs
   ```

1. 다음 명령을 실행해 파일 시스템을 탑재합니다.
**참고**  
기본적으로 EFS 탑재 도우미는 탑재 명령의 `tls` 옵션 사용 여부에 관계없이 EC2 Mac 인스턴스에 탑재할 때 전송 중 암호화를 사용합니다.

   ```
   sudo mount -t efs file-system-id efs-mount-point/
   ```

   ```
   sudo mount -t efs fs-abcd123456789ef0 efs/
   ```

   탑재할 때도 `tls` 옵션을 사용할 수 있습니다.

   ```
   sudo mount -t efs -o tls fs-abcd123456789ef0:/ efs
   ```

   전송 중 암호화를 사용하지 않고 EC2 Mac 인스턴스에 파일 시스템을 탑재하려면 다음 명령에 표시된 대로 `notls` 옵션을 사용합니다.

   ```
   sudo mount -t efs -o notls file-system-id efs-mount-point/
   ```

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

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

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

      **연결** 화면에는 다음 방법들로 파일 시스템을 탑재하는 데 사용할 정확한 명령이 표시됩니다.
      + (**DNS를 통해 탑재**) EFS 탑재 도우미 또는 NFS 클라이언트에서 파일 시스템의 DNS 이름을 사용합니다.
      + (**IP를 통해 탑재**) 선택한 가용 영역의 탑재 대상 IP 주소를 NFS 클라이언트와 함께 사용합니다.

# 다른에서 EFS 파일 시스템 탑재 AWS 리전
<a name="mount-different-region"></a>

파일 시스템과 다른에 있는 EC2 인스턴스에서 EFS AWS 리전 파일 시스템을 탑재하려면 `efs-utils.conf` 파일에서 `region` 속성 값을 편집해야 합니다.

**`efs-utils.conf`에서 `region` 속성을 편집하려면**

1. Secure Shell(SSH)를 통해 EC2 인스턴스의 터미널에 액세스하고, 적절한 사용자 이름으로 로그인합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)을 참조하세요.

1. 선호하는 편집기를 사용하여 `/etc/amazon/efs/efs-utils.conf` 파일을 찾아서 엽니다.

1. 다음 줄을 찾습니다.

   ```
   #region = us-east-1
   ```

   1. 해당 줄의 주석 처리를 제거합니다.

   1. 파일 시스템이 `us-east-1` 리전에 없는 경우 `us-east-1`을 파일 시스템이 위치한 리전의 ID로 교체하세요.

   1. 변경 사항을 저장합니다.

1. 리전 간 탑재를 위한 호스트 항목을 추가합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 [3단계: 탑재 대상에 대한 호스트 항목 추가](efs-different-vpc.md#wt6-efs-utils-step3) 섹션을 참조하세요.

1. [Linux](mounting-fs-mount-helper-ec2-linux.md) 또는 [Mac](mounting-fs-mount-helper-ec2-mac.md) 인스턴스용 EFS 탑재 도우미를 사용하여 파일 시스템을 탑재합니다.

# One Zone 파일 시스템 탑재하기
<a name="mounting-one-zone"></a>

EFS One Zone 파일 시스템은 파일 시스템과 동일한 가용 영역에 있는 탑재 대상을 하나만 지원합니다. 탑재 대상을 더 추가할 수 없습니다. 이 섹션에서는 One Zone 파일 시스템을 탑재할 때 고려할 사항을 설명합니다.

파일 시스템의 탑재 대상과 동일한 가용 영역에 있는 Amazon EC2 컴퓨팅 인스턴스를 사용하여 EFS 파일 시스템에 액세스하면 가용 영역 간 데이터 전송 요금을 피하고 성능을 높일 수 있습니다.

이 섹션에는 다음 절차가 포함됩니다.
+ EC2 인스턴스에 `amazon-efs-utils package`를 설치했습니다. 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 단원을 참조하십시오.
+ 파일 시스템에 대한 탑재 대상을 만들었습니다. 자세한 내용은 [탑재 대상 생성](accessing-fs.md) 단원을 참조하십시오.

## EC2의 One Zone 파일 시스템을 다른 가용 영역에 탑재
<a name="mounting-one-zone-efs-util"></a>

다른 가용 영역에 위치한 Amazon EC2 인스턴스에 One Zone 파일 시스템을 탑재하는 경우 탑재 도우미 탑재 명령에서 파일 시스템의 가용 영역 이름 또는 파일 시스템 탑재 대상의 DNS 이름을 지정해야 합니다.

다음 명령을 사용하여 파일 시스템 탑재 지점으로 사용할 `efs`라는 디렉터리를 생성합니다.

```
sudo mkdir efs
```

EFS 탑재 도우미를 사용하여 파일 시스템을 탑재하려면 다음 명령을 사용합니다. 명령은 파일 시스템의 가용 영역 이름을 지정합니다.

```
sudo mount -t efs -o az=availability-zone-name,tls file-system-id mount-point/
```

다음은 샘플 값이 포함된 명령입니다.

```
sudo mount -t efs -o az=us-east-1a,tls fs-abcd1234567890ef efs/
```

다음 명령은 파일 시스템 탑재 대상의 DNS 이름을 지정하여 파일 시스템을 탑재합니다.

```
sudo mount -t efs -o tls mount-target-dns-name mount-point/
```

다음은 예제 탑재 대상 DNS 이름이 포함된 명령입니다.

```
sudo mount -t efs -o tls us-east-1a.fs-abcd1234567890ef9.efs.us-east-1.amazonaws.com efs/
```

### EFS 탑재 도우미를 사용하여 다른 가용 영역에 One Zone 파일 시스템을 자동으로 탑재합니다.
<a name="automount-one-zone-efs-utils"></a>

다른 가용 영역에 위치한 EC2 인스턴스에 One Zone 파일 시스템을 탑재하기 위하여 `/etc/fstab`를 사용하는 경우 `/etc/fstab` 항목에 파일 시스템의 가용 영역 이름 또는 파일 시스템 탑재 대상의 DNS 이름을 지정해야 합니다.

```
availability-zone-name.file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point efs defaults,_netdev,noresvport,tls 0 0
```

```
us-east-1a.fs-abc123def456a7890.efs.us-east-1.amazonaws.com:/ efs-one-zone efs defaults,_netdev,noresvport,tls 0 0
```

### NFS로 One Zone 파일 시스템을 자동으로 탑재합니다.
<a name="automnt-one-zone-nfs"></a>

다른 가용 영역에 위치한 EC2 인스턴스에 One Zone 스토리지를 사용하여 EFS 파일 시스템을 탑재하기 위하여 `/etc/fstab`을 사용하는 경우 `/etc/fstab` 항목에서 파일 시스템의 가용 영역 이름 또는 파일 시스템 탑재 대상의 DNS 이름을 지정해야 합니다.

```
availability-zone-name.file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
```

```
us-east-1a.fs-abc123def456a7890.efs.us-east-1.amazonaws.com:/ efs-one-zone nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
```

`/etc/fstab` 파일을 편집하는 방법 및 이 명령에 사용된 값에 대한 자세한 내용은 [EFS 파일 시스템 자동 탑재NFS를 사용하여 EC2 Linux 또는 Mac 인스턴스에서 자동 탑재 활성화](nfs-automount-efs.md) 섹션을 참조하세요.

## 다른 AWS 컴퓨팅 인스턴스에 One Zone 파일 시스템을 사용하여 파일 시스템 탑재
<a name="mounting-one-zone-other-compute-instances"></a>

Amazon Elastic Container Service, Amazon Elastic Kubernetes Service 또는와 함께 One Zone 파일 시스템을 사용하는 AWS Lambda경우 EFS 파일 시스템이 있는 동일한 가용 영역을 사용하도록 서비스를 구성해야 하며, 다음 섹션에 설명되어 있습니다.

![\[AWS EFS One Zone 파일 시스템에 연결하는 컴퓨팅 인스턴스.\]](http://docs.aws.amazon.com/ko_kr/efs/latest/ug/images/efs-mount-onezone.png)


### Amazon Elastic Container Service에서 연결
<a name="mount-one-zone-ecs"></a>

Amazon ECS에서 EFS 파일 시스템을 사용하여 컨테이너 인스턴스의 플릿 간에 파일 시스템 데이터를 공유할 수 있으므로 해당 작업이 차지한 인스턴스와 상관없이 동일한 영구 스토리지에 액세스할 수 있습니다. EFS One Zone 파일 시스템을 Amazon ECS와 함께 사용하려면 태스크를 시작할 때 파일 시스템과 동일한 가용 영역에 있는 서브넷만 선택해야 합니다. 자세한 내용을 알아보려면 Amazon Elastic Container Service 개발자 안내서**의 [Amazon EFS 볼륨](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html)을 참조하세요.

### Amazon Elastic Kubernetes 서비스에서 연결
<a name="mount-one-zone-eks"></a>

Amazon EKS의 One Zone 파일 시스템을 탑재하는 경우, EFS 액세스 포인트를 지원하는 Amazon EFS [컨테이너 스토리지 인터페이스](https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html)(CSI) 드라이버를 사용하여 Amazon EKS 또는 자체 관리형 Kubernetes 클러스터의 여러 포드 간에 파일 시스템을 공유할 수 있습니다. 아마존 EFS CSI 드라이버는 Fargate 스택에 설치됩니다. EFS One Zone 파일 시스템과 함께 Amazon EFS CSI 드라이버를 사용하는 경우, 포드를 시작할 때 `nodeSelector` 옵션을 사용하여 파일 시스템과 동일한 가용 영역 내에서 스케줄링되도록 할 수 있습니다.

### 에서 연결 AWS Lambda
<a name="mount-one-zone-lambda"></a>

와 함께 Amazon EFS AWS Lambda 를 사용하여 함수 호출 간에 데이터를 공유하고, 대규모 참조 데이터 파일을 읽고, 영구 및 공유 저장소에 함수 출력을 쓸 수 있습니다. Lambda는 함수 인스턴스를 동일한 가용 영역 및 서브넷에 있는 EFS 탑재 대상에 안전하게 연결합니다. One Zone 파일 시스템과 Lambda를 사용하는 경우, 파일 시스템과 동일한 가용 영역에 있는 서브넷에서만 간접 호출을 시작하도록 함수를 구성하십시오.

# IAM 권한 부여를 통한 탑재
<a name="mounting-IAM-option"></a>

 AWS Identity and Access Management (IAM) 권한 부여를 사용하여 Linux 인스턴스에 EFS 파일 시스템을 탑재하려면 EFS 탑재 도우미를 사용합니다. NFS 클라이언트에 대한 IAM 권한 부여에 대한 자세한 내용은 [IAM을 사용하여 파일 시스템에 대한 액세스 제어](iam-access-control-nfs-efs.md) 섹션을 참조하세요.

다음 단원에서 파일 시스템 탑재 지점으로 사용할 디렉터리를 생성해야 합니다. 다음 명령으로 탑재 지점 디렉터리 `efs`를 생성할 수 있습니다.

```
sudo mkdir efs
```

그런 다음 `efs-mount-point`의 인스턴스를 `efs`로 바꿀 수 있습니다.

## EC2 인스턴스 프로파일을 사용하여 IAM 을 통해 탑재
<a name="mount-iam-ec2-profile"></a>

인스턴스 프로파일이 있는 Amazon EC2 인스턴스에 IAM 권한 부여로 탑재하는 경우 다음과 같이 `tls` 및 `iam` 탑재 옵션을 사용합니다.

```
$ sudo mount -t efs -o tls,iam file-system-id efs-mount-point/
```

인스턴스 프로파일이 있는 EC2 인스턴스에 IAM 권한을 부여하여 자동으로 탑재하려면 EC2 인스턴스의 `/etc/fstab` 파일에 다음 줄을 추가합니다.

```
file-system-id:/ efs-mount-point efs _netdev,tls,iam 0 0
```

## 명명된 프로파일을 사용하여 IAM을 통해 탑재
<a name="mount-iam-creds-file"></a>

자격 증명 파일 `~/.aws/credentials`또는 AWS CLI 구성 파일에 있는 IAM AWS CLI 자격 증명을 사용하여 IAM 권한 부여를 통해 탑재할 수 있습니다`~/.aws/config`. `"awsprofile"`이 지정되어 있지 않으면 “기본” 프로파일이 사용됩니다.

보안 인증 파일을 사용하여 Linux 인스턴스에 IAM 권한을 부여하여 탑재하려면 다음과 같이 `tls`, `awsprofile` 및 `iam` 탑재 옵션을 사용합니다.

```
$ sudo mount -t efs -o tls,iam,awsprofile=namedprofile file-system-id efs-mount-point/
```

보안 인증 파일을 사용하여 Linux 인스턴스에 IAM 권한을 부여하여 자동으로 탑재하려면 EC2 인스턴스의 `/etc/fstab` 파일에 다음 줄을 추가합니다.

```
file-system-id:/ efs-mount-point efs _netdev,tls,iam,awsprofile=namedprofile 0 0
```

# EFS 액세스 포인트를 사용한 탑재
<a name="mounting-access-points"></a>

EFS 액세스 포인트만 사용하여 EFS 파일 시스템을 탑재하려면 EFS 탑재 도우미를 사용해야 합니다.

**참고**  
EFS 액세스 포인트를 사용하여 파일 시스템을 탑재할 때는 파일 시스템에 대한 탑재 대상을 하나 이상 구성해야 합니다.

액세스 포인트를 사용하여 파일 시스템을 탑재하는 경우 탑재 명령에 일반 탑재 옵션 외에 `access-point-id` 및 `tls` 탑재 옵션이 포함됩니다. 예를 들면 다음과 같습니다.

```
$ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id efs-mount-point
```

액세스 포인트를 사용하여 파일 시스템을 자동으로 탑재하려면 EC2 인스턴스의 `/etc/fstab` 파일에 다음 줄을 추가합니다.

```
file-system-id efs-mount-point efs _netdev,tls,accesspoint=access-point-id 0 0
```

EFS 액세스 포인트에 대한 자세한 내용은 [액세스 포인트 작업](efs-access-points.md) 섹션을 참조하세요.

# 여러 EC2 인스턴스에 EFS 탑재
<a name="mount-multiple-ec2-instances"></a>

 AWS Systems Manager 실행 명령을 사용하여 인스턴스에 로그인하지 않고도 EFS 파일 시스템을 여러 Amazon EC2 인스턴스에 원격으로 안전하게 탑재할 수 있습니다. AWS Systems Manager Run Command에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)를 참조하세요. 이 방법을 사용하여 EFS 파일 시스템을 탑재하려면 다음 사전 조건이 필요합니다.

1. EC2 인스턴스는 `AmazonElasticFileSystemsUtils` 권한 정책이 포함된 인스턴스 프로파일과 함께 시작됩니다. 자세한 내용은 [1단계: 필요한 권한으로 IAM 인스턴스 프로파일 구성](setting-up-aws-sys-mgr.md#configure-sys-mgr-iam-instance-profile) 단원을 참조하십시오.

1. Amazon EFS 클라이언트(amazon-efs-utils 패키지) 버전 1.28.1 이상이 EC2 인스턴스에 설치되어 있습니다. AWS Systems Manager를 사용하여 인스턴스에 패키지를 자동으로 설치할 수 있습니다. 자세한 내용은 [2단계: State Manager에서 사용하는 연결 구성](setting-up-aws-sys-mgr.md#config-sys-mgr-association) 단원을 참조하십시오.

**콘솔을 사용하여 여러 EFS 파일 시스템을 여러 EC2 인스턴스에 탑재하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **명령 실행**을 선택합니다.

1. **명령 실행**을 선택합니다.

1. **Commands** 검색 필드에 **AWS-RunShellScript**를 입력합니다.

1. **AWS-RunShellScript를** 선택합니다.

1. **명령 파라미터**에 탑재하려는 각 EFS 파일 시스템에 사용할 탑재 명령을 입력합니다. 예제:

   ```
   sudo mount -t efs -o tls fs-12345678:/ /mnt/efs
   sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs
   ```

   Amazon EFS 클라이언트를 사용하는 EFS 탑재 명령에 대한 자세한 내용은 [EFS 탑재 도우미를 사용하여 EC2 Linux 인스턴스에 탑재](mounting-fs-mount-helper-ec2-linux.md) 또는 [EFS 탑재 도우미를 사용하여 EC2 Mac 인스턴스에 탑재](mounting-fs-mount-helper-ec2-mac.md)를 참조하세요.

1. 명령을 실행할 대상 AWS Systems Manager 관리형 EC2 인스턴스를 선택합니다.

1. 기타 원하는 추가 설정을 지정하세요. 그런 다음 **실행**을 선택하여 명령을 실행하고 명령에 지정된 EFS 파일 시스템을 탑재합니다.

   명령을 실행하면 명령 기록에서 상태를 볼 수 있습니다.

# 다른 AWS 계정 또는 VPC에서 EFS 파일 시스템 탑재
<a name="manage-fs-access-vpc-peering"></a>

EFS 탑재 도우미를 사용하여 NFS 클라이언트 및 EFS 액세스 포인트에 대한 IAM 권한 부여를 사용하여 EFS 파일 시스템을 탑재할 수 있습니다. 기본적으로 EFS 탑재 도우미는 도메인 이름 서비스(DNS)를 사용하여 EFS 탑재 대상의 IP 주소를 확인합니다. 다른 계정이나 Virtual Private Cloud(VPC)에서 파일 시스템을 탑재하는 경우, EFS 탑재 대상을 수동으로 확인해야 합니다.

그런 다음, NFS 클라이언트에 사용할 올바른 EFS 탑재 대상 IP 주소를 결정하기 위한 지침을 찾을 수 있습니다. 또한 해당 IP 주소를 사용하여 EFS 파일 시스템을 탑재하도록 클라이언트를 구성하기 위한 지침을 찾을 수 있습니다.

**Topics**
+ [다른에서 EFS 파일 시스템 탑재 AWS 계정](mount-fs-diff-account-same-vpc.md)
+ [다른 VPC에서 EFS 파일 시스템 탑재](mount-fs-different-vpc.md)

# 다른에서 EFS 파일 시스템 탑재 AWS 계정
<a name="mount-fs-diff-account-same-vpc"></a>

공유 VPC를 사용하면 다른 AWS 계정에서 소유한 Amazon EC2 인스턴스의 한 AWS 계정 에서 소유한 EFS 파일 시스템을 탑재할 수 있습니다. 공유 VPC 설정에 대한 자세한 내용은 *Amazon VPC 피어링 설명서*에서 [다른 계정과 VPC 공유](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)를 참조하세요.

VPC 공유를 설정하면 EC2 인스턴스가 DNS(Domain Name System) 이름 확인 또는 EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재할 수 있습니다. EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재하는 것이 좋습니다.

# 다른 VPC에서 EFS 파일 시스템 탑재
<a name="mount-fs-different-vpc"></a>

VPC 피어링 연결 또는 전송 게이트웨이를 사용하여 VPC를 연결하면 VPC가 다른 계정에 속해 있더라도 하나의 VPC에 있는 Amazon EC2 인스턴스가 다른 VPC의 EFS 파일 시스템에 액세스할 수 있습니다.

다른 VPC에서 EFS 탑재 지점을 확인할 때는 DNS 이름을 사용할 수 없습니다. EFS 파일 시스템을 탑재하기 위해 해당 가용 영역에서 탑재 지점의 IP 주소를 사용합니다.

또는 DNS 서비스로 Amazon Route 53을 사용할 수도 있습니다. Route 53에서 프라이빗 호스팅 영역과 리소스 레코드 세트를 생성하여 다른 VPC에서 EFS 탑재 대상 IP 주소를 확인할 수 있습니다. 확인하는 방법에 대한 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [프라이빗 호스팅 영역 작업](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)을 참조하세요.

## 사전 조건
<a name="mount-fs-different-vpc-prerequisites"></a>

절차를 사용하기 전에 다음 단계를 수행하세요.
+ EFS 파일 시스템을 탑재하려는 컴퓨팅 인스턴스에 유틸리티 `amazon-efs-utils` 세트의 일부인 Amazon EFS 클라이언트를 설치합니다. `amazon-efs-utils`에 포함된 EFS 탑재 도우미를 사용하여 파일 시스템을 탑재합니다. `amazon-efs-utils`를 설치하는 방법에 대한 지침은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 섹션을 참조하세요.
+ 인스턴스에 연결한 IAM 역할에 대해 IAM 정책에서 `ec2:DescribeAvailabilityZones` 작업을 허용하세요. AWS 관리형 정책을 IAM 엔`AmazonElasticFileSystemsUtils`터티에 연결하여 엔터티에 필요한 권한을 제공하는 것이 좋습니다.
+ 다른에서 탑재할 때 파일 시스템 리소스 정책을 AWS 계정업데이트하여 다른의 보안 주체 ARN에 대한 `elasticfilesystem:DescribeMountTarget` 작업을 허용합니다 AWS 계정. 예제:

  ```
  {
      "Id": "access-point-example03",
      "Statement": [
          {
              "Sid": "access-point-statement-example03",
              "Effect": "Allow",
              "Principal": {"AWS": "arn:aws:iam::555555555555:root"},
              "Action": "elasticfilesystem:DescribeMountTargets",
              "Resource": "arn:aws:elasticfilesystem:us-east-2:111122223333:file-system/fs-12345678"
          }
      ]
  }
  ```

  시스템 리소스 정책에 대한 자세한 내용은 [Amazon EFS 내의 리소스 기반 정책](security_iam_service-with-iam.md#security_iam_service-with-iam-resource-based-policies) 섹션을 참조하세요.
+ botocore를 설치합니다. EFS 클라이언트는 다른 VPC에 파일 시스템을 탑재할 때 파일 시스템 DNS 이름을 확인할 수 없는 경우 botocore를 사용하여 탑재 대상 IP 주소를 검색합니다. 자세한 내용은 `amazon-efs-utils` README 파일에서 [botocore 설치](https://github.com/aws/efs-utils#Install-botocore)를 참조하세요.
+ VPC 피어링 연결 또는 VPC 전송 게이트웨이를 설정합니다.

  VPC 피어링 연결 또는 VPC 전송 게이트웨이를 사용하여 클라이언트의 VPC와 EFS 파일 시스템의 VPC를 연결합니다. VPC 피어링 연결 또는 전송 게이트웨이를 사용하여 VPC를 연결하면 VPC가 다른 계정에 속해 있더라도 하나의 VPC에 있는 Amazon EC2 인스턴스가 다른 VPC의 EFS 파일 시스템에 액세스할 수 있습니다.

  전송 게이트웨이**는 VPC와 온프레미스 네트워크를 상호 연결하는 데 사용할 수 있는 네트워크 전송 허브입니다. 자세한 내용은 Amazon VPC 전송 게이트웨이 가이드**의 [전송 게이트웨이 시작하기](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-getting-started.html)를 참조하세요.

  VPC 피어링 연결**은 두 VPC 간의 네트워킹 연결입니다. 이러한 유형의 연결을 사용하면 프라이빗 Internet Protocol version 4(IPv4) 또는 Internet Protocol version 6(IPv6) 주소를 사용하여 이들 간의 트래픽을 라우팅할 수 있습니다. VPC 피어링을 사용하여 동일하거나 AWS 리전 그 사이에 VPCs를 연결할 수 있습니다 AWS 리전. VPC 피어링에 대한 자세한 내용은 Amazon VPC 피어링 가이드**의 [VPC 피어링이란?](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)을 참조하세요.

파일 시스템의 고가용성을 보장하려면 항상 NFS 클라이언트와 동일한 가용 영역(AZ)에 있는 EFS 탑재 대상 IP 주소를 사용하는 것이 좋습니다. 다른 계정에 있는 EFS 파일 시스템을 탑재하는 경우, NFS 클라이언트와 EFS 탑재 대상이 동일한 가용 영역 ID에 있는지 확인하십시오. AZ 이름은 계정마다 다를 수 있으므로 이 요구 사항이 적용됩니다.

**IAM 또는 액세스 포인트를 사용하여 다른 VPC에 EFS 파일 시스템 탑재**

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

1. 다음 명령을 사용하여 파일 시스템을 탑재할 디렉터리를 생성합니다.

   ```
   $ sudo mkdir /mnt/efs
   ```

1. IAM 권한 부여를 사용하여 파일 시스템을 탑재하려면 다음 명령을 사용합니다.

   ```
   $ sudo mount -t efs -o tls,iam file-system-dns-name /mnt/efs/
   ```

   EFS에서 IAM 권한 부여를 사용하는 방법에 대한 자세한 내용은 [IAM을 사용하여 파일 시스템에 대한 액세스 제어](iam-access-control-nfs-efs.md) 섹션을 참조하세요.

   EFS 액세스 포인트를 사용하여 파일 시스템을 탑재하려면 다음 명령을 사용합니다.

   ```
   $ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-dns-name /mnt/efs/
   ```

   EFS 액세스 포인트에 대한 자세한 내용은 [액세스 포인트 작업](efs-access-points.md) 섹션을 참조하세요.

## 다른에서 EFS 파일 시스템 탑재 AWS 리전
<a name="mount-different-region-vpc"></a>

파일 시스템과 다른에 있는 다른 VPC에서 EFS AWS 리전 파일 시스템을 탑재하는 경우 `efs-utils.conf` 파일을 편집해야 합니다. `/dist/efs-utils.conf`에서 다음 줄을 찾습니다.

```
#region = us-east-1
```

해당 줄의 주석 처리를 제거하고 파일 시스템이 위치한 리전의 ID 값을 바꾸세요(`us-east-1`에 없는 경우).

# 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)를 참조하세요.

# EFS 파일 시스템 자동 탑재
<a name="mount-fs-auto-mount-onreboot"></a>

EFS 탑재 도우미 또는 NFS를 사용하여 인스턴스가 시작될 때 자동으로 EFS 파일 시스템을 탑재하도록 Amazon EC2 인스턴스를 구성할 수 있습니다.
+ EFS 탑재 도우미 사용:
  + EC2 런치 인스턴스 마법사를 사용하여 새 EC2 Linux 인스턴스를 생성할 때 EFS 파일 시스템을 연결합니다.
  + EFS 파일 시스템에 대한 항목으로 EC2 `/etc/fstab` 파일을 업데이트합니다.
+ EC2 Linux 및 Mac 인스턴스의 경우, [EFS 탑재 도우미 없이 NFS](https://docs.aws.amazon.com/efs/latest/ug/nfs-automount-efs.html)를 사용하여 EC2 `/etc/fstab` 파일을 업데이트합니다.

**참고**  
EFS 탑재 도우미는 macOS Big Sur 또는 Monterey를 실행하는 EC2 Mac 인스턴스에서의 자동 탑재를 지원하지 않습니다. 대신 [NFS를 사용하여 EC2 Mac 인스턴스의 /etc/fstab 파일을 구성](nfs-automount-efs.md)하여 EFS 파일 시스템을 자동으로 탑재할 수 있습니다.

**Topics**
+ [새 EC2 Linux 인스턴스에서 자동 탑재 활성화](mount-fs-auto-mount-on-creation.md)
+ [기존 EC2 Linux 인스턴스에서 자동 탑재 활성화](mount-fs-auto-mount-update-fstab.md)
+ [NFS를 사용하여 EC2 Linux 또는 Mac 인스턴스에서 자동 탑재 활성화](nfs-automount-efs.md)

# 새 EC2 Linux 인스턴스에서 자동 탑재 활성화
<a name="mount-fs-auto-mount-on-creation"></a>

Amazon EC2 인스턴스 시작 마법사를 사용하여 새 EC2 Linux 인스턴스를 생성할 때 Amazon EFS 파일 시스템을 자동으로 탑재하도록 구성할 수 있습니다. EC2 인스턴스는 인스턴스가 처음 시작될 때와 다시 시작될 때마다 파일 시스템을 자동으로 탑재합니다.

이 방법은 EFS 탑재 도우미를 사용하여 EC2 인스턴스에 파일 시스템 업데이트 /etc/fstab 파일을 탑재합니다. 탑재 도우미는 [`amazon-efs-utils`](using-amazon-efs-utils.md) 도구 세트의 일부입니다.

**참고**  
EFS 파일 시스템은 인스턴스 시작 시 macOS Big Sur 또는 Monterey를 실행하는 EC2 Mac 인스턴스에 탑재하는 것을 지원하지 않습니다.

**참고**  
Microsoft Windows 기반 EC2 인스턴스에는 Amazon EFS를 사용할 수 없습니다.

EC2 인스턴스를 시작하고 연결하려면 먼저 키 페어를 생성해야 합니다. 키 페어를 생성하는 방법에 대한 자세한 내용은 *Amazon EC2 사용 설명서*에서 [Amazon EC2 키 페어 및 Amazon EC2 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)를 참조하세요.

**EC2 인스턴스가 시작 시 자동으로 EFS 파일 시스템을 탑재하도록 구성**

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

1. **인스턴스 시작**을 선택합니다.

1. **1단계: Amazon Machine Image(AMI) 선택)**에서 목록 맨 위의 Amazon Linux AMI를 찾아 **선택**을 선택합니다.

1. **2단계: 인스턴스 유형 선택**에서 **다음: 인스턴스 세부 정보 구성**을 선택합니다.

1. **3단계: 인스턴스 세부 정보 구성**에서 다음 정보를 제공합니다.
   + **네트워크**의 경우 탑재하려는 EFS 파일 시스템과 동일한 VPC에 대한 항목을 선택합니다.
   + **서브넷**의 경우 모든 가용 영역의 기본 서브넷을 선택합니다.
   + **파일 시스템**의 경우 탑재하려는 EFS 파일 시스템을 선택합니다. 파일 시스템 ID 옆에 표시된 경로는 EC2 인스턴스가 사용하게 될 탑재 지점입니다. 이 경로는 사용자가 변경할 수 있습니다.
   + **고급 세부 정보**에서, **사용자 데이터**를 자동으로 생성할 수 있으며 **파일 시스템**에서 지정한 EFS 파일 시스템을 탑재하는 데 필요한 명령도 확인할 수 있습니다.

1. **다음: 스토리지 추가**를 선택합니다.

1. **다음: 태그 추가**를 선택합니다.

1. 인스턴스 이름을 지정한 후 **다음: 보안 그룹 구성**을 선택합니다.

1. **6단계: 보안 그룹 구성**에서 **보안 그룹 할당**을 **기존 보안 그룹 선택**으로 설정합니다. 기본 보안 그룹을 선택하고 EFS 파일 시스템에 액세스할 수 있는지 확인합니다.

   이 보안 그룹을 사용하여 Secure Shell(SSH)로 EC2 인스턴스에 액세스할 수 없습니다. SSH 액세스의 경우, 나중에 기본 보안을 편집하고 SSH를 허용하는 규칙을 추가하거나 SSH를 허용하는 새 보안 그룹을 추가할 수 있습니다. 다음 설정을 사용할 수 있습니다.
   + **유형:** SSH
   + **프로토콜**: TCP
   + **포트 범위:** 22
   + **소스:** 위치 무관 0.0.0.0/0

1. **검토 및 시작**을 선택합니다.

1. **시작**을 선택합니다.

1. 생성한 키 페어의 확인란을 선택한 다음 **인스턴스 시작**을 선택합니다.

이제 EC2 인스턴스가 시작될 때와 재부팅될 때마다 EFS 파일 시스템을 탑재하도록 구성되었습니다.

# 기존 EC2 Linux 인스턴스에서 자동 탑재 활성화
<a name="mount-fs-auto-mount-update-fstab"></a>

`/etc/fstab` 파일에는 파일 시스템에 대한 정보가 들어 있습니다. 인스턴스 시작 중에 실행되는 `mount -a` 명령은 `/etc/fstab`에 나열된 파일 시스템을 탑재합니다. 이 절차에서는 인스턴스가 다시 시작될 때 EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 자동으로 다시 탑재하도록 Amazon EC2 Linux 인스턴스에서 `/etc/fstab`를 수동으로 업데이트합니다.

**참고**  
EFS 파일 시스템은 macOS Big Sur 또는 Monterey를 실행하는 EC2 Mac 인스턴스에서 EFS 마운트 도우미와 함께 `/etc/fstab`을 사용하는 자동 탑재를 지원하지 않습니다. 대신 [NFS와 `/etc/fstab`](nfs-automount-efs.md)을 사용하여 macOS Big Sur 및 Monterey를 실행하는 EC2 Mac 인스턴스에 파일 시스템을 자동으로 탑재할 수 있습니다.

이 두 방법 모두 EFS 탑재 도우미를 사용하여 파일 시스템을 탑재합니다. 탑재 도우미는 `amazon-efs-utils` 도구 세트의 일부입니다.

`amazon-efs-utils` 도구는 Amazon Linux와 Amazon Linux 2 Amazon Machine Image(AMI)에 설치할 수 있습니다. `amazon-efs-utils`에 대한 자세한 정보는 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 섹션을 참조하세요. Red Hat Enterprise Linux(RHEL)와 같은 다른 Linux 배포판을 사용하는 경우, `amazon-efs-utils`를 수동으로 빌드하고 설치하세요. 자세한 내용은 [다른 Linux 배포판에 Amazon EFS 클라이언트 설치](installing-amazon-efs-utils.md#installing-other-distro) 단원을 참조하십시오.

## 사전 조건
<a name="mount-helper-fstab-prereqs"></a>

이 절차를 성공적으로 구현하려면 다음 요구 사항을 충족해야 합니다.
+ 자동으로 다시 탑재하려는 EFS 파일 시스템을 이미 생성했습니다. 자세한 내용은 [콘솔을 사용하여 빠른 생성](creating-using-create-fs.md#gs-step-two-create-efs-resources) 단원을 참조하십시오.
+ EFS 파일 시스템을 자동으로 다시 탑재하도록 구성하려는 EC2 Linux 인스턴스를 이미 생성했습니다.
+ EFS 탑재 도우미는 EC2 Linux 인스턴스에 설치됩니다. 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 단원을 참조하십시오.

## /etc/fstab 파일 업데이트
<a name="update-fstab-file"></a>

인스턴스가 다시 시작될 때 인스턴스가 EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 자동으로 다시 탑재하도록 EC2 Linux 인스턴스에서 /etc/fstab을 수동으로 업데이트하려면 다음 단계를 수행합니다.

**EC2 인스턴스의 /etc/fstab 파일 업데이트**

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

1. 편집기에서 `/etc/fstab` 파일을 엽니다.

1. IAM 권한 부여 또는 EFS 액세스 포인트를 사용하여 자동으로 탑재하려면:
   + 인스턴스 프로파일이 있는 EC2 인스턴스에 IAM 권한을 부여하여 자동으로 탑재하려면 `/etc/fstab` 파일에 다음 줄을 추가합니다.

     ```
     file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam 0 0
     ```
   + 보안 인증 파일을 사용하여 Linux 인스턴스에 IAM 권한을 부여하여 자동으로 탑재하려면 `/etc/fstab` 파일에 다음 줄을 추가합니다.

     ```
     file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam,awsprofile=namedprofile 0 0
     ```
   + EFS 액세스 포인트를 사용하여 파일 시스템을 자동으로 탑재하려면 `/etc/fstab` 파일에 다음 줄을 추가합니다.

     ```
     file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,accesspoint=access-point-id 0 0
     ```
**주의**  
파일 시스템을 자동으로 마운트하는 경우 네트워크 파일 시스템 식별에 사용하는 `_netdev` 옵션을 사용합니다. `_netdev`이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다. 자세한 내용은 [자동 탑재 실패 및 인스턴스 무응답](troubleshooting-efs-mounting.md#automount-fails) 단원을 참조하십시오.

   자세한 내용은 [IAM 권한 부여를 통한 탑재](mounting-IAM-option.md) 및 [EFS 액세스 포인트를 사용한 탑재](mounting-access-points.md) 섹션을 참조하세요.

1. 파일에 대한 변경 사항을 저장합니다.

**참고**  
경우에 따라 탑재된 EC2 파일 시스템의 상태에 관계없이 EC2 인스턴스를 시작해야 할 수 있습니다. 이 경우 `/etc/fstab` 파일의 파일 시스템 항목에 `nofail` 옵션을 추가하세요.

`/etc/fstab` 파일에 추가한 코드 줄은 다음 작업을 수행합니다.


| 필드 | 설명 | 
| --- | --- | 
|  `file-system-id:/`  |  EFS 파일 시스템의 ID. 콘솔에서 또는 CLI 또는 AWS SDK에서 프로그래밍 방식으로이 ID를 가져올 수 있습니다.  | 
|  `efs-mount-point`  |  EC2 인스턴스의 EFS 파일 시스템 탑재 지점  | 
|  `efs`  |  파일 시스템의 유형 탑재 도우미를 사용하는 경우 이 유형은 항상 `efs`입니다.  | 
|  `mount options`  |  파일 시스템의 탑재 옵션 다음 옵션의 쉼표로 구분된 목록입니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/efs/latest/ug/mount-fs-auto-mount-update-fstab.html)  | 
|  `0`  |  0이 아닌 값은 파일 시스템을 `dump`로 백업해야 함을 나타냅니다. EFS의 경우 이 값은 `0`이어야 합니다.  | 
|  `0`  |  부팅 시 `fsck`가 파일 시스템을 검사하는 순서입니다. EFS 파일 시스템의 경우 이 값을 `0`으로 하여 시작 시 `fsck`가 실행되지 않도록 해야 합니다.  | 

# NFS를 사용하여 EC2 Linux 또는 Mac 인스턴스에서 자동 탑재 활성화
<a name="nfs-automount-efs"></a>

EC2 Linux 및 Mac 인스턴스의 경우, EFS 탑재 도우미 없이 NFS를 사용하여 Amazon EC2 `/etc/fstab` 파일을 업데이트합니다.

**EC2 인스턴스의 `/etc/fstab` 파일을 업데이트하려면**

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

1. 편집기에서 `/etc/fstab` 파일을 엽니다.

1. EFS 탑재 도우미 대신 NFS를 사용하여 파일 시스템을 자동으로 탑재하려면 `/etc/fstab` 파일에 다음 줄을 추가합니다.
   + *file\$1system\$1id*를 탑재하려는 파일 시스템의 ID로 바꾸세요.
   + *aws-region*을와 같이 파일 시스템이 AWS 리전 있는 로 바꿉니다`us-east-1`.
   + *mount\$1point를* 파일 시스템의 탑재 지점으로 바꾸세요.

   ```
   file_system_id.efs.aws-region.amazonaws.com:/ mount_point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
   ```

`/etc/fstab` 파일에 추가한 코드 줄은 다음 작업을 수행합니다.


| 필드 | 설명 | 
| --- | --- | 
|  `file-system-id:/`  |  EFS 파일 시스템의 ID. 콘솔에서 또는 CLI 또는 AWS SDK에서 프로그래밍 방식으로이 ID를 가져올 수 있습니다.  | 
|  `efs-mount-point`  |  EC2 인스턴스의 EFS 파일 시스템 탑재 지점  | 
|  `nfs4`  |  파일 시스템 유형을 지정합니다.  | 
|  `mount options`  |  파일 시스템에 대한 탑재 옵션을 쉼표로 구분한 목록입니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/efs/latest/ug/nfs-automount-efs.html)  | 
|  `0`  |  `dump` 값을 지정합니다. `0`은 `dump` 유틸리티에 파일 시스템을 백업하지 않도록 지시합니다.  | 
|  `0`  |  시작 시 `fsck` 유틸리티를 실행하지 않도록 지시합니다.  | 

# 파일 시스템 탑재 해제
<a name="unmounting-fs"></a>

파일 시스템을 삭제하기 전에 파일 시스템이 연결된 모든 Amazon EC2 인스턴스에서 파일 시스템을 탑재 해제하는 것이 좋습니다. 인스턴스 자체에서 `umount` 명령을 실행하여 Amazon EC2 인스턴스에서 파일 시스템의 탑재를 해제할 수 있습니다. AWS CLI, AWS Management Console또는 AWS SDKs를 통해 EFS 파일 시스템의 탑재를 해제할 수 없습니다. Linux를 실행하는 EC2 인스턴스에 연결된 EFS 파일 시스템을 탑재 해제하려면 다음과 같이 `umount` 명령을 사용하십시오.

```
umount /mnt/efs 
```

다른 `umount` 옵션은 지정하지 않는 것이 좋습니다. 기본값과 다른 그 밖의 `umount` 옵션은 설정하지 않는 것이 좋습니다.

`df` 명령을 실행하여 EFS 파일 시스템이 탑재 해제되었는지 확인할 수 있습니다. 이 명령은 Linux 기반 Amazon EC2 인스턴스에 현재 탑재된 파일 시스템에 대한 디스크 사용량 통계를 표시합니다. 탑재 해제하려는 EFS 파일 시스템이 `df` 명령 출력에 나열되어 있지 않으면 그 파일 시스템은 탑재 해제된 것입니다.

**Example – EFS 파일 시스템의 탑재 상태 식별 및 탑재 해제**  

```
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on 
/dev/sda1 ext4 8123812 1138920 6884644 15% / 
availability-zone.file-system-id.efs.aws-region.amazonaws.com :/ nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs
```

```
$ umount /mnt/efs
```

```
$ df -T 
```

```
Filesystem Type 1K-blocks Used Available Use% Mounted on 
/dev/sda1 ext4 8123812 1138920 6884644 15% /
```

# 자습서:를 사용하여 EFS 파일 시스템을 생성하고 EC2 인스턴스에 탑재 AWS CLI
<a name="wt1-getting-started"></a>

암호화된 EFS 파일 시스템을 생성하고 VPC의 EC2 인스턴스에 탑재한 다음 AWS CLI를 사용하여 설정을 테스트합니다.

**참고**  
[시작하기](getting-started.md) 자습서에서는 콘솔을 사용하여 Amazon EC2 및 EFS 리소스를 생성합니다. 이 자습서에서는 AWS CLI 를 사용하여 동일한 작업을 수행합니다. 주로 Amazon EFS API에 익숙해집니다.

이 자습서에서는 계정에 다음 AWS 리소스를 생성합니다.
+ Amazon EC2 리소스:
  + 보안 그룹 2개(EC2 인스턴스 및 EFS 파일 시스템용)

    적절한 인바운드/아웃바운드 액세스를 승인하는 규칙을 이러한 보안 그룹에 추가합니다. 이렇게 하면 표준 NFSv4.1 TCP 포트를 사용하여 탑재 대상을 통해 EC2 인스턴스를 파일 시스템에 연결할 수 있습니다.
  + VPC의 EC2 인스턴스 
+ Amazon EFS 리소스:
  + 파일 시스템.
  + 파일 시스템의 탑재 대상입니다.

    EC2 인스턴스에 파일 시스템을 탑재하려면 VPC에서 탑재 대상을 만들어야 합니다. VPC의 각 가용 영역에 탑재 대상을 하나씩 만들 수 있습니다. 자세한 내용은 [Amazon EFS 작동 방식](how-it-works.md) 단원을 참조하십시오.

그런 다음 EC2 인스턴스에서 파일 시스템을 테스트합니다. 자습서의 마지막에 나오는 정리 단계에서는 이러한 리소스를 제거하는 방법을 설명합니다.

이 자습서에서는 이러한 모든 리소스를 미국 서부(오리건) 리전(`us-west-2`)에 생성합니다. 어떤 방법을 사용 AWS 리전 하든 일관되게 사용해야 합니다. VPC, EC2 리소스, EFS 리소스 등 모든 리소스가 동일한 AWS 리전에 있어야 합니다.

**Topics**
+ [사전 조건](#wt1-prepare)
+ [설정 AWS CLI](#wt1-setup-awscli)
+ [1단계: EC2 리소스 생성](#wt1-create-ec2-resources)
+ [2단계: EFS 리소스 생성](#wt1-create-efs-resources)
+ [3단계: EC2 인스턴스에 파일 시스템 탑재 및 테스트](#wt1-test)
+ [4단계: 정리](#wt1-clean-up)

## 사전 조건
<a name="wt1-prepare"></a>
+ 의 루트 자격 증명을 사용하여 콘솔에 로그인하고 시작하기 연습을 시도 AWS 계정 할 수 있습니다. 그러나 AWS Identity and Access Management (IAM)에서는의 루트 자격 증명을 사용하지 않을 것을 권장합니다 AWS 계정. 대신 계정에서 관리자 사용자를 만들어 해당 보안 인증을 사용하여 계정에서 리소스를 관리합니다. 자세한 내용은 *AWS IAM Identity Center 사용 설명서*의 [ IAM Identity Center 사용자에 대한 AWS 계정 액세스 할당](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-assign-account-access-user.html)을 참조하세요.
+ 자신의 계정에서 만든 기본 VPC 또는 사용자 지정 VPC를 사용할 수 있습니다. 이 연습에서는 기본 VPC 구성을 사용합니다. 단, 사용자 지정 VPC를 사용하는 경우 다음을 확인하세요.
  + DNS 호스트 이름이 사용됩니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서**의 [VPC의 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)을 참조하세요.
  + 인터넷 게이트웨이가 VPC에 연결되어 있습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [인터넷 게이트웨이를 사용한 인터넷 연결](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)을 참조하세요.
  + VPC 서브넷이 VPC 서브넷에서 시작된 인스턴스의 퍼블릭 IP 주소를 요청하도록 구성되어 있습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 및 서브넷의 IP 주소 지정](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html)을 참조하세요.
  + VPC 라우팅 테이블에 모든 인터넷 바인딩된 트래픽을 인터넷 게이트웨이로 보내는 규칙이 포함되어 있습니다.
+ 를 설정하고 관리자 프로필을 AWS CLI 추가해야 합니다.

## 설정 AWS CLI
<a name="wt1-setup-awscli"></a>

다음 지침에 따라 AWS CLI 및 사용자 프로필을 설정합니다.

**를 설정하려면 AWS CLI**

1.  AWS CLI를 다운로드하고 구성합니다. 지침은 *AWS Command Line Interface 사용 설명서*의 [AWS CLI시작하기](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)를 참조하세요.

1. 프로필을 설정합니다.

   사용자 자격 증명을 AWS CLI `config` 파일에 저장합니다. 이 자습서의 예제 CLI 명령은 adminuser 프로필을 지정합니다. `config` 파일에 adminuser 프로필을 생성합니다. 또 다음과 같이 `config` 파일에 관리자 사용자 프로필을 기본값으로 설정할 수도 있습니다.

   ```
   [profile adminuser]
   aws_access_key_id = admin user access key ID
   aws_secret_access_key = admin user secret access key
   region = us-west-2
   
   [default]
   aws_access_key_id = admin user access key ID
   aws_secret_access_key = admin user secret access key
   region = us-west-2
   ```

   앞의 프로필은 기본값도 설정합니다 AWS 리전. CLI 명령에서 리전을 지정하지 않으면 us-west-2 리전으로 간주됩니다.

1. 명령 프롬프트에 다음 명령을 입력하여 설정을 확인합니다. 이들 명령은 명시적으로 보안 인증을 제공하지 않으므로 기본 프로필의 자격 증명이 사용됩니다.
   + help 명령 사용해 보기

     또 `--profile` 파라미터를 사용하여 명시적으로 사용자 프로필을 지정할 수 있습니다.

     ```
     aws help
     ```

     ```
     aws help \
     --profile adminuser
     ```

## 1단계: EC2 리소스 생성
<a name="wt1-create-ec2-resources"></a>

이 단계에서는 다음 작업을 수행합니다.
+ 보안 그룹 2개를 만듭니다.
+ 추가 액세스를 승인하는 규칙을 보안 그룹에 추가합니다.
+ EC2 인스턴스를 시작합니다. 다음 단계에서는 이 인스턴스에 EFS 파일 시스템을 생성하여 탑재합니다.

### 1.1단계: 보안 그룹 2개 만들기
<a name="wt1-create-sg"></a>

이 단원에서는 EC2 인스턴스 및 EFS 탑재 대상의 VPC에 보안 그룹을 생성합니다. 이 자습서의 후반부에서는 이러한 보안 그룹을 EC2 인스턴스 및 EFS 탑재 대상에 할당합니다. 보안 그룹에 대한 자세한 내용은 [Linux 인스턴스에 대한 Amazon EC2 보안 그룹](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html#vpc-security-groups)을 참조하세요.

**보안 그룹 생성**

1. `create-security-group` CLI 명령을 사용해 두 개의 보안 그룹을 생성합니다.

   1. EC2 인스턴스에 대한 보안 그룹(`efs-walkthrough1-ec2-sg`)을 생성하고 VPC ID를 제공합니다.

      ```
      $ aws ec2 create-security-group \
      --region us-west-2 \
      --group-name efs-walkthrough1-ec2-sg \
      --description "Amazon EFS walkthrough 1, SG for EC2 instance" \
      --vpc-id vpc-id-in-us-west-2 \
      --profile adminuser
      ```

      보안 그룹 ID를 기록합니다. 다음은 응답의 예입니다.

      ```
      {
          "GroupId": "sg-aexample"
      }
      ```

      다음 명령을 사용하여 VPC ID를 찾을 수 있습니다.

      ```
      $ aws  ec2 describe-vpcs    
      ```

      

   1. EFS 탑재 대상에 대한 보안 그룹(`efs-walkthrough1-mt-sg`)을 생성합니다. VPC ID를 제공해야 합니다.

      ```
      $ aws ec2 create-security-group \
      --region us-west-2 \
      --group-name efs-walkthrough1-mt-sg \
      --description "Amazon EFS walkthrough 1, SG for mount target" \
      --vpc-id vpc-id-in-us-west-2 \
      --profile adminuser
      ```

      보안 그룹 ID를 기록합니다. 다음은 응답의 예입니다.

      ```
      {
          "GroupId": "sg-aexample"
      }
      ```

1. 보안 그룹을 확인합니다.

   ```
   aws ec2 describe-security-groups \
   --group-ids list of security group IDs separated by space \
   --profile adminuser \
   --region us-west-2
   ```

   두 보안 그룹에는 모든 트래픽이 나가도록 허용하는 아웃바운드 규칙 하나를 갖고 있습니다.

   다음 섹션에서 다음 사항을 활성화하는 추가 액세스 권한을 승인합니다.
   + EC2 인스턴스에 연결되도록 활성화합니다.
   + EC2 인스턴스와 EFS 탑재 대상 간 트래픽을 활성화합니다(이 자습서의 후반부에서 이 보안 그룹을 연결함).

### 1.2단계: 인바운드/아웃바운드 액세스를 승인하는 규칙을 보안 그룹에 추가
<a name="wt1-update-sg"></a>

이 단계에서는 인바운드/아웃바운드 액세스를 승인하는 규칙을 보안 그룹에 추가합니다.

**규칙 추가**

1. 모든 호스트에서 SSH를 사용해 EC2 인스턴스에 연결할 수 있도록 EC2 인스턴스(`efs-walkthrough1-ec2-sg`)의 보안 그룹에 대해 수신 Secure Shell(SSH) 연결을 승인합니다.

   ```
   $ aws ec2 authorize-security-group-ingress \
   --group-id id of the security group created for EC2 instance \
   --protocol tcp \
   --port 22 \
   --cidr 0.0.0.0/0 \
   --profile adminuser \
   --region us-west-2
   ```

   보안 그룹에 추가한 인바운드 및 아웃바운드 규칙이 있는지 확인합니다.

   ```
   aws ec2 describe-security-groups \
   --region us-west-2 \
   --profile adminuser \
   --group-id security-group-id
   ```

1. EFS 탑재 대상(`efs-walkthrough1-mt-sg`)의 보안 그룹에 대해 인바운드 액세스 권한을 승인합니다.

   명령 프롬프트에서 관리자 프로파일을 사용하여 다음 AWS CLI `authorize-security-group-ingress` 명령을 실행하여 인바운드 규칙을 추가합니다.

   ```
   $ aws ec2 authorize-security-group-ingress \
   --group-id ID of the security group created for Amazon EFS mount target \
   --protocol tcp \
   --port 2049 \
   --source-group ID of the security group created for EC2 instance \
   --profile adminuser \
   --region us-west-2
   ```

1. 이제 두 보안 그룹이 인바운드 액세스를 승인하는지 확인합니다.

   ```
   aws ec2 describe-security-groups \
   --group-names efs-walkthrough1-ec2-sg   efs-walkthrough1-mt-sg \
   --profile adminuser \
   --region us-west-2
   ```

### 1.3단계: EC2 인스턴스 시작
<a name="wt1-create-ec2-instance"></a>

이 단계에서는 EC2 인스턴스를 시작합니다.

**EC2 인스턴스 시작**

1. EC2 인스턴스 시작 시 제공해야 하는 다음 정보를 수집합니다.
   + 키 페어 이름. 키 페어 생성 지침은 *Amazon EC2 사용 설명서*의 [Amazon EC2 인스턴스에 대한 키 페어 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)을 참조하세요.
   + 시작하려는 Amazon Machine Image(AMI)의 ID입니다.

     EC2 인스턴스를 시작하는 데 사용하는 AWS CLI 명령에는 파라미터로 배포하려는 Amazon Machine Image(AMI)의 ID가 필요합니다. 이 연습에서는 Amazon Linux HVM AMI를 사용합니다.
**참고**  
대부분의 범용 Linux 기반 AMI를 사용할 수 있습니다. 다른 Linux AMI를 사용하는 경우, 배포의 패키지 관리자를 사용하여 인스턴스에 NFS 클라이언트를 설치해야 합니다. 또한 필요할 때 소프트웨어 패키지를 추가해야 할 수도 있습니다.

     Amazon Linux HVM AMI의 경우 [Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/)에서 최신 ID를 찾을 수 있습니다. 다음과 같이 Amazon Linux AMI ID 테이블에서 ID 값을 선택합니다.
     + **US West Oregon(미국 서부 오레곤)** 리전을 선택합니다. 이 연습은 미국 서부(오레곤) 리전(us-west-2)에 모든 리소스를 생성했다고 가정합니다.
     + **EBS 지원 HVM 64비트** 유형을 선택합니다(CLI 명령에서 인스턴스 스토어를 지원하지 않는 `t2.micro` 인스턴스 유형을 지정하기 때문).

     
   + EC2 인스턴스에 생성한 보안 그룹 ID.
   + AWS 리전. 이 연습에서는 us-west-2 리전을 사용합니다.
   + 인스턴스를 시작하려는 VPC 서브넷 ID. `describe-subnets` 명령을 사용해 서브넷 목록을 가져올 수 있습니다.

     ```
     $ aws ec2 describe-subnets \
     --region us-west-2 \
     --filters "Name=vpc-id,Values=vpc-id" \
     --profile adminuser
     ```

     서브넷 ID를 선택한 후 `describe-subnets` 결과의 다음 값을 기록합니다.
     + **서브넷 ID** – 탑재 대상 생성 때 이 값이 필요합니다. 이 연습에서는 EC2 인스턴스를 시작한 동일한 서브넷에 탑재 대상을 생성합니다.
     + **서브넷 가용 영역** – 이 값은 EC2 인스턴스에 파일 시스템을 탑재할 때 사용하는 탑재 대상의 DNS 이름을 구성하기 위해 필요합니다.

1. 다음 AWS CLI `run-instances` 명령을 실행하여 EC2 인스턴스를 시작합니다.

   ```
   $ aws ec2 run-instances \
   --image-id AMI ID \
   --count 1 \
   --instance-type t2.micro \
   --associate-public-ip-address \
   --key-name key-pair-name \
   --security-group-ids ID of the security group created for EC2 instance \
   --subnet-id VPC subnet ID \
   --region us-west-2 \
   --profile adminuser
   ```

1. `run-instances` 명령이 반환한 인스턴스 ID를 기록합니다.

1. 생성한 EC2 인스턴스에 EC2 인스턴스 연결과 파일 시스템 탑재에 사용할 퍼블릭 DNS 이름이 있어야 합니다. 퍼블릭 DNS 이름은 다음 형식을 갖고 있습니다.

   ```
   ec2-xx-xx-xx-xxx.compute-1.amazonaws.com
   ```

   다음 CLI 명령을 실행하고 퍼블릭 DNS 이름을 기록합니다.

   ```
   aws ec2 describe-instances \
   --instance-ids EC2 instance ID \
   --region us-west-2 \ 
   --profile adminuser
   ```

   퍼블릭 DNS 이름을 찾지 못하는 경우 EC2 인스턴스를 시작한 VPC 구성을 확인합니다. 자세한 내용은 [사전 조건](#wt1-prepare) 단원을 참조하십시오.

1. (선택 사항)생성한 EC2 인스턴스에 이름을 할당합니다. 이렇게 하려면 키 이름과 인스턴스에 할당하려는 이름으로 설정된 값으로 태그를 추가합니다. 다음 AWS CLI `create-tags` 명령을 실행하여이 작업을 수행합니다.

   ```
   $  aws ec2 create-tags \
   --resources  EC2-instance-ID \
   --tags Key=Name,Value=Provide-instance-name  \
   --region us-west-2 \
   --profile adminuser
   ```

## 2단계: EFS 리소스 생성
<a name="wt1-create-efs-resources"></a>

이 단계에서는 다음 작업을 수행합니다.
+ 암호화된 EFS 파일 시스템 생성 
+ 수명 주기 관리를 활성화
+ EFS 인스턴스를 시작한 가용 영역에 탑재 대상 생성

### 2.1단계: EFS 파일 시스템 생성
<a name="wt1-create-file-system"></a>

이 단계에서는 EFS 파일 시스템을 생성합니다. `FileSystemId`를 적어 두고 다음 단계에서 파일 시스템의 탑재 대상을 생성할 때 사용합니다.

**파일 시스템을 만들려면**
+ 파일 시스템을 생성하고, 필요한 경우 `Name` 태그를 추가합니다.

  1. 명령 프롬프트에서 다음 AWS CLI `create-file-system` 명령을 실행합니다.

     ```
     $  aws efs create-file-system \
     --encrypted \
     --creation-token FileSystemForWalkthrough1 \
     --tags Key=Name,Value=SomeExampleNameValue \
     --region us-west-2 \
     --profile adminuser
     ```

     응답은 다음과 같습니다.

     ```
     {
         "OwnerId": "111122223333",
         "CreationToken": "FileSystemForWalkthrough1",
         "FileSystemId": "fs-c657c8bf",
         "CreationTime": 1548950706.0,
         "LifeCycleState": "creating",
         "NumberOfMountTargets": 0,
         "SizeInBytes": {
             "Value": 0,
             "ValueInIA": 0,
             "ValueInStandard": 0
         },
         "PerformanceMode": "generalPurpose",
         "Encrypted": true,
         "KmsKeyId": "arn:aws:kms:us-west-2:111122223333:a5c11222-7a99-43c8-9dcc-abcdef123456",
         "ThroughputMode": "bursting",
         "Tags": [
             {
                 "Key": "Name",
                 "Value": "SomeExampleNameValue"
             }
         ]
     }
     ```

  1. `FileSystemId` 값을 기록해 둡니다. 이 값은 [2.3 단계: 탑재 대상 만들기](#wt1-create-mount-target) 단원에서 이 파일 시스템에 대한 탑재 대상을 생성할 때 필요합니다.

### 2.2단계: 수명 주기 관리 활성화
<a name="wt1-lifecycle-management"></a>

이 단계에서는 EFS Infrequent Access(IA) 스토리지 클래스를 사용하기 위해 파일 시스템에서 수명 주기 관리를 활성화합니다. 자세한 내용은 [스토리지 수명 주기 관리](lifecycle-management-efs.md) 및 [EFS 스토리지 클래스](features.md#storage-classes) 섹션을 참조하세요.

**수명 주기 관리 활성화**
+ 명령 프롬프트에서 다음 AWS CLI `put-lifecycle-configuration` 명령을 실행합니다.

  ```
  $  aws efs put-lifecycle-configuration \
  --file-system-id fs-c657c8bf \
  --lifecycle-policies TransitionToIA=AFTER_30_DAYS \
  --region us-west-2 \
  --profile adminuser
  ```

  응답은 다음과 같습니다.

  ```
  {
    "LifecyclePolicies": [
      {
          "TransitionToIA": "AFTER_30_DAYS"
      }
    ]
  }
  ```

### 2.3 단계: 탑재 대상 만들기
<a name="wt1-create-mount-target"></a>

이 단계에서는 EC2 인스턴스에서 시작한 가용 영역에서 파일 시스템의 탑재 대상을 만듭니다.

1. 다음 정보가 있는지 확인합니다.
   + 탑재 대상을 생성하려는 파일 시스템의 ID(예: `fs-example`).
   + [1단계: EC2 리소스 생성](#wt1-create-ec2-resources)단계에서 EC2 인스턴스를 시작한 VPC 서브넷 ID.

     이 자습서에서는 EC2 인스턴스를 시작한 동일한 서브넷에 탑재 대상을 생성하기 때문에 서브넷 ID(예: `subnet-example`)가 필요합니다.
   + 이전 단계에서 탑재 대상에 대해 생성한 보안 그룹의 ID.

1. 명령 프롬프트에서 다음 AWS CLI `create-mount-target` 명령을 실행합니다.

   ```
   $ aws efs create-mount-target \
   --file-system-id file-system-id \
   --subnet-id  subnet-id \
   --security-group ID-of-the security-group-created-for-mount-target \
   --region us-west-2 \
   --profile adminuser
   ```

   응답은 다음과 같습니다.

   ```
   {
       "MountTargetId": "fsmt-example",
       "NetworkInterfaceId": "eni-example",
       "FileSystemId": "fs-example",
       "PerformanceMode" : "generalPurpose",
       "LifeCycleState": "available",
       "SubnetId": "fs-subnet-example",
       "OwnerId": "account-id",
       "IpAddress": "xxx.xx.xx.xxx"
   }
   ```

1. 또 `describe-mount-targets` 명령을 사용해 파일 시스템에 생성한 탑재 대상에 대한 설명을 가져올 수 있습니다.

   ```
   $ aws efs describe-mount-targets \
   --file-system-id file-system-id \
   --region us-west-2 \
   --profile adminuser
   ```

## 3단계: EC2 인스턴스에 파일 시스템 탑재 및 테스트
<a name="wt1-test"></a>

이 단계에서는 다음 작업을 수행합니다.
+ 필수 정보 수집
+ EC2 인스턴스에 NFS 클라이언트를 설치합니다.
+ EC2 인스턴스에 파일 시스템을 탑재하고 테스트합니다.

**Topics**
+ [3.1단계: 정보 수집](#wt1-connect-test-gather-info)
+ [3.2단계: EC2 인스턴스에 NFS 클라이언트 설치](#wt1-connect-install-nfs-client)
+ [3.3단계: EC2 인스턴스에 파일 시스템 탑재 및 테스트](#wt1-mount-fs-and-test)

### 3.1단계: 정보 수집
<a name="wt1-connect-test-gather-info"></a>

이 단원의 단계를 수행하면서 다음 정보가 있는지 확인합니다.
+ 다음 형식으로 된 EC2 인스턴스의 퍼블릭 DNS 이름: 

  ```
  ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com 
  ```
+ 파일 시스템의 DNS 이름. 다음 일반 형식을 사용하여 DNS 이름을 구성할 수 있습니다.

  ```
  file-system-id.efs.aws-region.amazonaws.com
  ```

  탑재 대상을 사용하여 파일 시스템을 탑재한 EC2 인스턴스에서는 탑재 대상의 IP 주소에 대해 파일 시스템의 DNS 이름을 확인합니다.

**참고**  
Amazon EFS에서는 EC2 인스턴스에 퍼블릭 IP 주소 또는 퍼블릭 DNS 이름이 없어도 됩니다. 앞에 나열된 사항은 이 연습 예제에서 SSH를 사용하여 VPC 외부에서 인스턴스에 연결할 수 있도록 하기 위한 요구 사항입니다.

### 3.2단계: EC2 인스턴스에 NFS 클라이언트 설치
<a name="wt1-connect-install-nfs-client"></a>

Windows에서 또는 Linux, macOS X나 기타 Unix 변형을 실행하는 컴퓨터에서 EC2 인스턴스에 연결할 수 있습니다.

**NFS 클라이언트 설치**

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

1. SSH 세션을 사용해 EC2 인스턴스에서 다음 명령을 실행합니다.

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

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

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

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

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

### 3.3단계: EC2 인스턴스에 파일 시스템 탑재 및 테스트
<a name="wt1-mount-fs-and-test"></a>

이제 EC2 인스턴스에 파일 시스템을 탑재합니다.

1. 디렉터리("efs-mount-point")를 만듭니다.

   ```
   $ mkdir ~/efs-mount-point 
   ```

1. 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  
   ```

   EC2 인스턴스는 IP 주소에 대해 탑재 대상의 DNS 이름을 확인할 수 있습니다. 직접 탑재 대상의 IP 주소를 지정할 수도 있습니다.

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

1. EC2 인스턴스에 EFS 파일 시스템을 탑재했으므로 이제 파일을 생성할 수 있습니다.

   1. 디렉터리를 변경합니다.

      ```
      $ cd ~/efs-mount-point  
      ```

   1. 디렉터리 내용을 나열합니다.

      ```
      $ ls -al
      ```

      비어 있어야 합니다.

      ```
      drwxr-xr-x 2 root     root     4096 Dec 29 22:33 .
      drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
      ```

      

   1. 생성 시 파일 시스템의 루트 디렉터리는 루트 사용자가 소유하며 루트 사용자의 쓰기가 가능합니다. 따라서 파일을 추가할 수 있도록 권한을 변경해야 합니다.

      ```
      $ sudo chmod go+rw .
      ```

      `ls -al` 명령을 사용하면 권한이 변경된 것을 확인할 수 있습니다.

      ```
      drwxrwxrwx 2 root     root     4096 Dec 29 22:33 .
      drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
      ```

   1. 텍스트 파일을 생성합니다.

      ```
      $ touch test-file.txt 
      ```

   1. 디렉터리 내용을 나열합니다.

      ```
      $ ls -l
      ```

이제 VPC의 EC2 인스턴스에 EFS 파일 시스템을 성공적으로 생성하고 탑재했습니다.

탑재한 파일 시스템은 재부팅하면 탑재가 해제됩니다. 디렉터리를 자동으로 다시 탑재하려면 `fstab` 파일을 사용합니다. Auto Scaling 그룹을 사용하여 EC2 인스턴스를 시작하는 경우 시작 구성에서 스크립트를 설정할 수도 있습니다.

## 4단계: 정리
<a name="wt1-clean-up"></a>

만든 리소스가 더 이상 필요 없는 경우 제거해야 합니다. CLI를 사용하여 제거할 수 있습니다.
+ EC2 리소스(EC2 인스턴스 및 두 보안 그룹)를 제거합니다. 탑재 대상을 삭제하면 Amazon EFS는 네트워크 인터페이스를 삭제합니다.
+ EFS 리소스(파일 시스템, 탑재 대상)를 제거합니다.

**이 연습에서 생성된 AWS 리소스를 삭제하려면**

1. 이 자습서를 위해 생성한 EC2 인스턴스를 종료합니다.

   ```
   $ aws ec2 terminate-instances \
   --instance-ids instance-id \
   --profile adminuser
   ```

   콘솔을 사용해 EC2 리소스 또한 삭제할 수 있습니다. 지침은 [인스턴스 종료](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console) 섹션을 참조하세요.

1. 탑재 대상을 삭제합니다.

   파일 시스템을 삭제하기 전에 파일 시스템에 생성한 탑재 대상을 삭제해야 합니다. `describe-mount-targets` CLI 명령을 사용해 탑재 대상 목록을 가져올 수 있습니다.

   ```
   $  aws efs describe-mount-targets \
   --file-system-id file-system-ID \
   --profile adminuser \
   --region aws-region
   ```

   그런 다음 `delete-mount-target` CLI 명령을 사용해 탑재 대상을 삭제합니다.

   ```
   $ aws efs delete-mount-target \
   --mount-target-id ID-of-mount-target-to-delete \
   --profile adminuser \
   --region aws-region
   ```

1. (선택 사항)생성한 두 개 보안 그룹을 삭제합니다. 보안 그룹 생성은 무료입니다.

   먼저 탑재 대상의 보안 그룹을 생성한 후 EC2 인스턴스의 보안 그룹을 삭제해야 합니다. 탑재 대상의 보안 그룹에 EC2 보안 그룹을 참조하는 규칙이 있기 때문입니다. 따라서 EC2 인스턴스의 보안 그룹을 먼저 삭제할 수 없습니다.

   자세한 내용은 *Amazon EC2 사용 설명서*의 [보안 그룹 삭제](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2-sg.html#deleting-a-security-group)를 참조하세요.

1. `delete-file-system` CLI 명령을 사용해 파일 시스템을 삭제합니다. `describe-file-systems` CLI 명령을 사용해 파일 시스템 목록을 가져올 수 있습니다. 이 응답에서 파일 시스템 ID를 얻을 수 있습니다.

   ```
   aws efs describe-file-systems \
   --profile adminuser \
   --region aws-region
   ```

   파일 시스템 ID를 제공해 파일 시스템을 삭제합니다.

   ```
   $ aws efs delete-file-system \
   --file-system-id ID-of-file-system-to-delete \
   --region aws-region \
   --profile adminuser
   ```

# 자습서: 온프레미스 Linux 클라이언트로 탑재
<a name="mounting-fs-mount-helper-direct"></a>

 Direct Connect 또는 VPN을 사용하여 Amazon VPC에 연결할 때 온프레미스 데이터 센터 서버에 EFS 파일 시스템을 탑재할 수 있습니다. 다음 그림은 온프레미스에서 EFS 파일 시스템을 탑재하는 데 AWS 서비스 필요한의 개략적인 개략도를 보여줍니다.

![\[Direct Connect를 사용할 경우 온프레미스 클라이언트에 EFS 파일 시스템을 탑재합니다.\]](http://docs.aws.amazon.com/ko_kr/efs/latest/ug/images/efs-directconnect-how-it-works.png)


**참고**  
Microsoft Windows 기반 클라이언트에서 Amazon EFS를 사용하는 것은 지원되지 않습니다.

**Topics**
+ [사전 조건](#efs-onpremises)
+ [1단계: EFS 리소스 생성](#wt5-step1-efs)
+ [2단계: NFS 클라이언트 설치](#wt5-step4-install-nfs)
+ [3단계: 온프레미스 클라이언트에 EFS 파일 시스템 탑재](#wt5-step3-connect)
+ [4단계: 리소스 정리 및 AWS 계정 보호](#wt5-step4-cleanup)
+ [선택 사항: 전송 중 데이터 암호화](#wt5-step2-get-efs-utils)

## 사전 조건
<a name="efs-onpremises"></a>

 Direct Connect 또는 VPN 연결이 이미 있는지 확인합니다. Direct Connect에 대한 자세한 내용은 [Direct Connect 사용 설명서](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)를 참조하세요. VPN 연결 설정에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [AWS Virtual Private Network를 사용하여 VPC를 원격 네트워크에 연결](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)을 참조하세요.

 Direct Connect 또는 VPN 연결이 완료되면 Amazon VPC에서 EFS 파일 시스템과 탑재 대상을 생성합니다. 이후 amazon-efs utils 도구를 다운로드 및 설치합니다. 그런 다음 온프레미스 클라이언트에서 파일 시스템을 테스트합니다. 이 연습 마지막의 정리 단계에서는 이러한 리소스를 제거하는 방법을 설명합니다.

이 연습에서는 미국 서부(오레곤) 리전(`us-west-2`)에 이러한 리소스를 모두 만듭니다. 어떤 방법을 사용 AWS 리전 하든 일관되게 사용해야 합니다. 다음 다이어그램과 AWS 리전같이 VPC, 탑재 대상, EFS 파일 시스템 등 모든 리소스가 동일해야 합니다.

![\[Direct Connect를 사용할 경우 온프레미스 클라이언트에 EFS 파일 시스템을 탑재합니다.\]](http://docs.aws.amazon.com/ko_kr/efs/latest/ug/images/efs-directconnect-how-it-works.png)


**참고**  
경우에 따라 로컬 애플리케이션이 EFS 파일 시스템을 사용할 수 있는지 알아야 할 수도 있습니다. 이러한 경우 첫 번째 탑재 지점을 일시적으로 사용할 수 없게 되더라도 애플리케이션이 다른 탑재 지점 IP 주소를 가리킬 수 있어야 합니다. 이 시나리오에서는 가용성을 높이기 위해 두 개의 온프레미스 클라이언트를 서로 다른 가용 영역을 통해 파일 시스템에 연결하는 것이 좋습니다.

의 루트 자격 증명을 사용하여 콘솔에 로그인하고이 연습을 시도 AWS 계정 할 수 있습니다. 그러나 AWS Identity and Access Management (IAM) 모범 사례에서는의 루트 자격 증명을 사용하지 않는 것이 좋습니다 AWS 계정. 대신 계정에서 관리자 사용자를 만들어 해당 보안 인증을 사용하여 계정에서 리소스를 관리합니다. 자세한 내용은 *AWS IAM Identity Center 사용 설명서*의 [AWS 계정에 대한 Single Sign-on 액세스](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html)를 참조하세요.

자신의 계정에서 만든 기본 VPC 또는 사용자 지정 VPC를 사용할 수 있습니다. 이 연습에서는 기본 VPC 구성을 사용합니다. 단, 사용자 지정 VPC를 사용하는 경우 다음을 확인하세요.
+ 인터넷 게이트웨이가 VPC에 연결되어 있습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [인터넷 게이트웨이를 사용하여 VPC에 대한 인터넷 액세스 활성화](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)를 참조하세요.
+ VPC 라우팅 테이블에 모든 인터넷 바인딩된 트래픽을 인터넷 게이트웨이로 보내는 규칙이 포함되어 있습니다.

## 1단계: EFS 리소스 생성
<a name="wt5-step1-efs"></a>

이 단계에서는 EFS 파일 시스템 및 탑재 대상을 생성합니다.

**EFS 파일 시스템을 생성하려면**

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

1. **파일 시스템 생성**을 선택합니다.

1. **VPC** 목록에서 기본 VPC를 선택합니다.

1. 모든 가용 영역이 확인란을 선택합니다. 모두 기본 서브넷, 자동 IP 주소, 기본 보안 그룹이 선택되어 있어야 합니다. 이것이 탑재 대상입니다. 자세한 내용은 [탑재 대상 생성](accessing-fs.md) 단원을 참조하십시오.

1. **다음 단계**를 선택합니다.

1. 파일 시스템의 이름을 지정하고 **범용**을 기본 성능 모드로 선택한 후 **다음 단계**를 선택합니다.

1. **파일 시스템 생성**을 선택합니다.

1. 목록에서 파일 시스템을 선택하고 **보안 그룹** 값을 기록해 둡니다. 다음 단계에서 이 값을 사용합니다.

방금 생성한 파일 시스템에는 탑재 대상이 있습니다. 각 탑재 대상에는 연결된 보안 그룹이 있습니다. 보안 그룹은 네트워크 트래픽을 제어하는 가상 방화벽의 역할을 수행합니다. 탑재 대상을 만들 때 보안 그룹을 제공하지 않으면 Amazon EFS에서는 VPC의 기본 보안 그룹을 탑재 대상과 연결합니다. 이전 단계를 정확히 따랐다면 탑재 대상은 기본 보안 그룹을 사용하고 있는 것입니다.

다음으로 탑재 대상의 보안 그룹에 네트워크 파일 시스템(NFS) 포트(2049)로의 인바운드 트래픽을 허용하는 규칙을 추가합니다. AWS Management Console 를 사용하여 VPC에서 탑재 대상의 보안 그룹에 규칙을 추가할 수 있습니다.

**NFS 포트로의 인바운드 트래픽을 허용하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

1. **네트워크 및 보안**에서 **보안 그룹**을 선택합니다.

1. 파일 시스템과 연결된 보안 그룹을 선택합니다. [1단계: EFS 리소스 생성](#wt5-step1-efs)의 마지막 부분에서 이 값을 기록해 두었습니다.

1. 보안 그룹 목록 아래에 나타나는 탭 창에서 **인바운드** 탭을 선택합니다.

1. **편집**을 선택합니다.

1. **규칙 추가**를 선택하고 다음 유형의 규칙을 선택합니다.
   + **유형** - **NFS**
   + **출처** – **모든 소스**

   **모든 소스**는 테스트용으로만 사용하는 것이 좋습니다. 온프레미스 클라이언트의 IP 주소로 사용자 지정 소스 세트를 만들거나 클라이언트 자체의 콘솔을 사용하고 **내 IP**를 선택할 수 있습니다.
**참고**  
기본 아웃바운드 규칙이 모든 트래픽이 나가도록 허용하고 있기 때문에 아웃바운드 규칙을 추가할 필요는 없습니다. 이 기본 아웃바운드 규칙이 없는 경우, NFS 포트 2049에서 TCP 연결을 열어 탑재 대상 보안 그룹을 대상으로 식별하는 아웃바운드 규칙을 추가해야 합니다.

## 2단계: NFS 클라이언트 설치
<a name="wt5-step4-install-nfs"></a>

이 단계에서는 NFS 클라이언트를 설치합니다.

**온프레미스 서버에 NFS 클라이언트를 설치하려면**
**참고**  
전송 중에 데이터를 암호화해야 하는 경우 NFS 클라이언트 대신 Amazon EFS 탑재 도우미 `amazon-efs-utils`를 사용하세요. amazon-efs-utils 설치에 대한 자세한 내용은 선택 사항: 전송 중 데이터 암호화** 섹션을 참조하세요.

1. 온프레미스 클라이언트용 터미널에 액세스하세요.

1. NFS를 설치합니다.

   Red Hat Linux를 사용하는 경우 다음 명령으로 NFS를 설치합니다.

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

   Ubuntu를 사용하는 경우 다음 명령으로 NFS를 설치합니다.

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

## 3단계: 온프레미스 클라이언트에 EFS 파일 시스템 탑재
<a name="wt5-step3-connect"></a>

**탑재 디렉터리를 생성하려면**

1.  다음 명령으로 마운트 지점에 대한 디렉터리를 만듭니다.  
**Example**  

   ```
   mkdir ~/efs
   ```

1. 가용 영역에서 탑재 대상의 선호하는 IP 주소를 선택합니다. 온프레미스 Linux 클라이언트에서 지연 시간을 측정할 수 있습니다. 그러려면 여러 가용 영역에 있는 EC2 인스턴스의 IP 주소를 기준으로 `ping` 같은 터미널 기반 도구를 사용하여 지연 시간이 가장 낮은 인스턴스를 찾으세요.
+ 탑재 명령을 실행하여 탑재 대상의 IP 주소를 사용하여 파일 시스템을 탑재합니다.

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

EFS 파일 시스템을 탑재했으므로 다음 절차에 따라 테스트할 수 있습니다.

**EFS 파일 시스템 연결을 테스트하려면**

1. 만든 디렉터리를 다음 명령을 사용하여 새 디렉터리로 변경합니다.

   ```
   $ cd ~/efs
   ```

1. 하위 디렉터리를 만들고 해당 하위 디렉터리의 소유권을 EC2 인스턴스 사용자로 변경합니다. 그런 다음 아래 명령을 사용하여 새 디렉터리로 이동합니다.

   ```
   $ sudo mkdir getting-started
   $ sudo chown ec2-user getting-started
   $ cd getting-started
   ```

1. 다음 명령을 사용하여 텍스트 파일을 만듭니다.

   ```
   $ touch test-file.txt
   ```

1. 다음 명령을 사용하여 디렉터리 콘텐츠를 나열합니다.

   ```
   $ ls -al
   ```

따라서 다음 파일이 생성됩니다.

```
-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt
```

**주의**  
파일 시스템을 자동으로 마운트하는 경우 네트워크 파일 시스템 식별에 사용하는 `_netdev` 옵션을 사용합니다. `_netdev`이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다. 자세한 내용은 [자동 탑재 실패 및 인스턴스 무응답](troubleshooting-efs-mounting.md#automount-fails) 단원을 참조하십시오.

## 4단계: 리소스 정리 및 AWS 계정 보호
<a name="wt5-step4-cleanup"></a>

연습을 마친 뒤에, 또는 연습을 건너뛰고 다음 단계에 따라 리소스를 정리해 AWS 계정을 보호해야 합니다.

**리소스를 정리하고를 보호하려면 AWS 계정**

1. 다음 명령을 사용하여 EFS 파일 시스템 탑재를 해제합니다.

   ```
   $ sudo umount ~/efs
   ```

1. [Amazon EFS 콘솔](https://console.aws.amazon.com/efs/)에서 Amazon EKS 콘솔을 엽니다.

1. 파일 시스템 목록에서 삭제하려는 EFS 파일 시스템을 선택합니다.

1. **작업**에서 **파일 시스템 삭제**를 선택합니다.

1. **영구적으로 파일 시스템 삭제** 대화 상자에서 삭제하려는 EFS 파일 시스템에 대한 파일 시스템 ID를 입력한 다음 **파일 시스템 삭제**를 선택합니다.

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

1. 탐색 창에서 **보안 그룹**을 선택합니다.

1. 이 연습에서 규칙을 추가했던 보안 그룹의 이름을 선택합니다.
**주의**  
VPC에 대한 기본 보안 그룹은 삭제할 수 없습니다.

1. **작업**에서 **인바운드 규칙**을 선택합니다.

1. 추가한 인바운드 규칙 마지막 부분의 X를 선택한 다음 **저장**을 선택합니다.

## 선택 사항: 전송 중 데이터 암호화
<a name="wt5-step2-get-efs-utils"></a>

전송 중 데이터를 암호화하려면 NFS 클라이언트 대신 Amazon EFS 탑재 도우미인 amazon-efs-utils를 사용하세요.

amazon-efs-utils** 패키지는 오픈 소스 Amazon EFS 도구 모음입니다. amazon-efs-utils 컬렉션에는 Amazon EFS에서 전송 중 데이터를 쉽게 암호화할 수 있는 도구와 탑재 도우미가 함께 제공됩니다. 이 패키지에 대한 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 섹션을 참조하세요. 이 패키지는 GitHub에서 무료로 다운로드할 수 있으며, 패키지 저장소를 복제하여 다운로드할 수 있습니다.

**GitHub에서 amazon-efs-utils 복제**

1. 온프레미스 클라이언트용 터미널에 액세스하세요.

1. 터미널에서 GitHub로부터 선택한 디렉터리로 다음 명령을 사용해 amazon-efs-utils 도구를 복제합니다.

   ```
   git clone https://github.com/aws/efs-utils
   ```

이제 패키지가 준비되었으니 설치할 수 있습니다. 이 설치는 온프레미스 클라이언트의 Linux 배포판에 따라 다르게 처리됩니다. 다음 배포판이 지원됩니다.
+ Amazon Linux 2
+ Amazon Linux
+ Red Hat Enterprise Linux(및 CentOS와 같은 파생 버전) 버전 8 이상
+ Ubuntu 16.04 LTS 이상

**amazon-efs-utils를 RPM 패키지로 빌드 및 설치**

1. 클라이언트 터미널을 열어 GitHub에서 복제한 amazon-efs-utils 패키지가 위치한 디렉터리를 찾습니다.

1. 다음 명령을 사용하여 패키지를 빌드합니다.

   ```
   make rpm
   ```
**참고**  
빌드하지 않은 경우 다음 명령을 사용해 rpm-builder 패키지를 설치합니다.  

   ```
   sudo yum -y install rpm-build
   ```

1. 다음 명령을 사용하여 패키지를 설치합니다.

   ```
   sudo yum -y install build/amazon-efs-utils*rpm
   ```

**amazon-efs-utils를 DEB 패키지로 빌드 및 설치**

1. 클라이언트 터미널을 열어 GitHub에서 복제한 amazon-efs-utils 패키지가 위치한 디렉터리를 찾습니다.

1. 다음 명령을 사용하여 패키지를 빌드합니다.

   ```
   ./build-deb.sh
   ```

1. 다음 명령을 사용하여 패키지를 설치합니다.

   ```
   sudo apt-get install build/amazon-efs-utils*deb
   ```

패키지를 설치한 후 Direct Connect 또는 VPN과 AWS 리전 함께에서 사용할 수 있도록 amazon-efs-utils 구성합니다.

**에서 사용할 amazon-efs-utils를 구성하려면 AWS 리전**

1. Secure Shell(SSH)를 통해 EC2 인스턴스의 터미널에 액세스하고, 적절한 사용자 이름으로 로그인합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)을 참조하세요.

1. 선택한 텍스트 편집기를 사용해 `/etc/amazon/efs/efs-utils.conf` 파일을 엽니다.

1. `“dns_name_format = {fs_id}.efs.{region}.amazonaws.com”` 라인을 찾습니다.

1. `{region}`을 해당 AWS 리전의 ID로 변경하세요(예: `us-west-2`).

온프레미스 클라이언트에 EFS 파일 시스템을 탑재하려면 먼저 온프레미스 Linux 클라이언트에서 터미널을 여세요. 시스템을 탑재하려면 파일 시스템 ID, 탑재 대상 중 하나의 탑재 대상 IP 주소 및 파일 시스템의 AWS 리전이 필요합니다. 파일 시스템에 탑재 대상을 여러 개 만든 경우 이 중 하나를 선택할 수 있습니다.

해당 정보가 있으면 다음 세 단계로 파일 시스템을 탑재할 수 있습니다.

**탑재 디렉터리를 생성하려면**

1.  다음 명령으로 마운트 지점에 대한 디렉터리를 만듭니다.  
**Example**  

   ```
   mkdir ~/efs
   ```

1. 가용 영역에서 탑재 대상의 선호하는 IP 주소를 선택합니다. 온프레미스 Linux 클라이언트에서 지연 시간을 측정할 수 있습니다. 그러려면 여러 가용 영역에 있는 EC2 인스턴스의 IP 주소를 기준으로 `ping` 같은 터미널 기반 도구를 사용하여 지연 시간이 가장 낮은 인스턴스를 찾으세요.

**`/etc/hosts`를 업데이트하려면**
+ 파일 시스템 ID 및 탑재 대상 IP 주소를 포함하는 로컬 `/etc/hosts` 파일에 다음 형식으로 항목을 추가합니다.

  ```
  mount-target-IP-Address file-system-ID.efs.region.amazonaws.com
  ```  
**Example**  

  ```
  192.0.2.0 fs-12345678.efs.us-west-2.amazonaws.com
  ```

**탑재 디렉터리를 생성하려면**

1.  다음 명령으로 마운트 지점에 대한 디렉터리를 만듭니다.  
**Example**  

   ```
   mkdir ~/efs
   ```

1. 그런 다음 탑재 명령을 실행하여 파일 시스템을 탑재합니다.  
**Example**  

   ```
   sudo mount -t efs fs-12345678 ~/efs
   ```

   전송 중 데이터의 암호화를 사용하려는 경우 탑재 명령은 다음과 같습니다.  
**Example**  

   ```
   sudo mount -t efs -o tls fs-12345678 ~/efs
   ```

# 자습서: 다른 VPC에서 파일 시스템 탑재하기
<a name="efs-different-vpc"></a>

이 자습서에서는 다른 가상 프라이빗 클라우드(VPC)에 있는 EFS 파일 시스템을 탑재하도록 EC2 인스턴스를 설정합니다. 이 작업은 EFS 탑재 도우미를 사용하여 수행할 수 있습니다. 탑재 도우미는 `amazon-efs-utils` 도구 세트의 일부입니다. `amazon-efs-utils`에 대한 자세한 정보는 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 섹션을 참조하세요.

클라이언트의 VPC와 EFS 파일 시스템의 VPC는 VPC 피어링 연결 또는 VPC 전송 게이트웨이를 사용하여 연결되어야 합니다. VPC 피어링 연결 또는 전송 게이트웨이를 사용하여 VPC를 연결하면 VPC가 다른 계정에 속해 있더라도 하나의 VPC에 있는 EC2 인스턴스가 다른 VPC의 EFS 파일 시스템에 액세스할 수 있습니다.

**참고**  
Microsoft Windows 기반 클라이언트에서 Amazon EFS를 사용하는 것은 지원되지 않습니다.

**Topics**
+ [사전 조건](#wt6-prepare)
+ [1단계: EFS 탑재 대상의 가용 영역 ID 확인](#wt6-efs-utils-step1)
+ [2단계: 탑재 대상 IP 주소 확인](#wt6-efs-utils-step2)
+ [3단계: 탑재 대상에 대한 호스트 항목 추가](#wt6-efs-utils-step3)
+ [4단계: EFS 탑재 도우미를 사용하여 파일 시스템 탑재](#wt6-efs-utils-step4)
+ [5단계: 리소스 정리 및 보호 AWS 계정](#wt6-step5-cleanup)

## 사전 조건
<a name="wt6-prepare"></a>

이 자습서를 완료하려면 다음과 같은 사전 조건이 필요합니다.
+ `amazon-efs-utils` 도구 세트는 이 절차를 사용하기 전에 EC2 인스턴스에 설치됩니다. `amazon-efs-utils`를 설치하는 방법에 대한 지침은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 단원을 참조하세요.
+ 다음 중 하나입니다.
  + EFS 파일 시스템이 있는 VPC와 EC2 인스턴스가 있는 VPC 간의 VPC 피어링 연결. VPC 피어링 연결**은 두 VPC 간의 네트워킹 연결입니다. 이러한 유형의 연결을 사용하면 프라이빗 Internet Protocol version 4(IPv4) 또는 Internet Protocol version 6(IPv6) 주소를 사용하여 이들 간의 트래픽을 라우팅할 수 있습니다. VPC 피어링을 사용하여 동일하거나 AWS 리전 그 사이에 VPCs를 연결할 수 있습니다 AWS 리전. 자세한 정보는 Amazon VPC 피어링 가이드**의 [Amazon VPC 피어링 연결 생성 및 수락](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html)을 참조하세요.
  + EFS 파일 시스템이 있는 VPC와 EC2 인스턴스가 있는 VPC를 연결하는 전송 게이트웨이. 전송 게이트웨이**는 VPC와 온프레미스 네트워크를 상호 연결하는 데 사용할 수 있는 네트워크 전송 허브입니다. 자세한 내용은 *Amazon VPC Transit Gateways 설명서*의 [Amazon VPC Transit Gateways를 사용하여 시작하기](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-getting-started.html)를 참조하세요.

## 1단계: EFS 탑재 대상의 가용 영역 ID 확인
<a name="wt6-efs-utils-step1"></a>

파일 시스템의 고가용성을 보장하려면 항상 NFS 클라이언트와 동일한 가용 영역에 있는 EC2 탑재 대상 IP 주소를 사용하는 것이 좋습니다. 다른 계정에 있는 EFS 파일 시스템을 탑재하는 경우, NFS 클라이언트와 EFS 탑재 대상이 동일한 가용 영역 ID에 있는지 확인하세요. 가용 영역 이름은 계정마다 다를 수 있으므로 이 요구 사항이 적용됩니다.

**EC2 인스턴스의 가용 영역 ID를 확인하려면**

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

1. 다음과 같이 `describe-availability-zones` CLI 명령을 사용하여 EC2 인스턴스가 있는 가용 영역 ID를 확인합니다.

   ```
   [ec2-user@ip-10.0.0.1] $ aws ec2 describe-availability-zones --zone-name
   {
       "AvailabilityZones": [
           {
               "State": "available", 
               "ZoneName": "us-east-2b", 
               "Messages": [], 
               "ZoneId": "use2-az2", 
               "RegionName": "us-east-2"
           }
       ]
   }
   ```

   가용 영역 ID는 `ZoneId` 속성인 `use2-az2`에 반환됩니다.

## 2단계: 탑재 대상 IP 주소 확인
<a name="wt6-efs-utils-step2"></a>

이제 EC2 인스턴스의 가용 영역 ID를 알았으므로 동일한 가용 영역 ID에 있는 탑재 대상의 IP 주소를 검색할 수 있습니다.

**동일한 가용 영역 ID에서 탑재 대상 IP 주소 확인**
+ 다음과 같이 `describe-mount-targets` CLI 명령을 사용하여 `use2-az2` AZ ID에서 파일 시스템의 탑재 대상 IP 주소를 검색합니다.

  ```
  $ aws efs describe-mount-targets --file-system-id file_system_id
  {
      "MountTargets": [
          {
              "OwnerId": "111122223333",
              "MountTargetId": "fsmt-11223344", 
    =====>    "AvailabilityZoneId": "use2-az2",
              "NetworkInterfaceId": "eni-048c09a306023eeec", 
              "AvailabilityZoneName": "us-east-2b", 
              "FileSystemId": "fs-01234567", 
              "LifeCycleState": "available", 
              "SubnetId": "subnet-06eb0da37ee82a64f", 
              "OwnerId": "958322738406", 
    =====>    "IpAddress": "10.0.2.153"
          }, 
  ...
          {
              "OwnerId": "111122223333",
              "MountTargetId": "fsmt-667788aa", 
              "AvailabilityZoneId": "use2-az3", 
              "NetworkInterfaceId": "eni-0edb579d21ed39261", 
              "AvailabilityZoneName": "us-east-2c", 
              "FileSystemId": "fs-01234567", 
              "LifeCycleState": "available", 
              "SubnetId": "subnet-0ee85556822c441af", 
              "OwnerId": "958322738406", 
              "IpAddress": "10.0.3.107"
          }
      ]
  }
  ```

  `use2-az2` 가용 영역 ID에 있는 탑재 대상의 IP 주소는 10.0.2.153입니다.

## 3단계: 탑재 대상에 대한 호스트 항목 추가
<a name="wt6-efs-utils-step3"></a>

이제 탑재 대상 IP 주소를 EFS 파일 시스템의 호스트 이름에 매핑하는 EC2 인스턴스의 `/etc/hosts` 파일에 입력할 수 있습니다.

**탑재 대상에 대한 호스트 항목 추가**

1. EC2 인스턴스의 `/etc/hosts` 파일에 탑재 대상 IP 주소에 대한 줄을 추가합니다. 사용되는 항목 형식은 `mount-target-IP-Address file-system-ID.efs.region.amazonaws.com`입니다. 다음 명령을 사용하여 파일에 줄을 추가합니다.

   ```
   echo "10.0.2.153 fs-01234567.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts
   ```

1. EC2 인스턴스 및 탑재 대상의 VPC 보안 그룹에 필요에 따라 EFS 파일 시스템에 대한 액세스를 허용하는 규칙이 있는지 확인합니다. 자세한 내용은 [VPC 보안 그룹 사용](network-access.md) 단원을 참조하십시오.

## 4단계: EFS 탑재 도우미를 사용하여 파일 시스템 탑재
<a name="wt6-efs-utils-step4"></a>

EFS 파일 시스템을 탑재하려면 먼저 EC2 인스턴스에 탑재 디렉터리를 생성합니다. 그런 다음 EFS 탑재 도우미를 사용하여 AWS Identity and Access Management (IAM) 권한 부여 또는 EFS 액세스 포인트로 파일 시스템을 탑재할 수 있습니다. 자세한 내용은 [IAM을 사용하여 파일 시스템에 대한 액세스 제어](iam-access-control-nfs-efs.md) 및 [액세스 포인트 작업](efs-access-points.md) 섹션을 참조하세요.

**탑재 디렉터리를 생성하려면**
+ 다음 명령을 사용하여 파일 시스템을 탑재할 디렉터리를 생성합니다.

  ```
  $ sudo mkdir /mnt/efs/
  ```

**IAM 권한 부여를 사용하여 파일 시스템 탑재**
+ 다음 명령을 사용하여 IAM 권한 부여를 통해 파일 시스템을 탑재합니다.

  ```
  $ sudo mount -t efs -o tls,iam file-system-id /mnt/efs/
  ```

**EFS 액세스 포인트를 사용하여 파일 시스템 탑재**
+ EFS 액세스 포인트를 사용하여 파일 시스템을 탑재하려면 다음 명령을 사용합니다.

  ```
  $ sudo mount -t efs -o tls,accesspoint=access-point-id file-system-id /mnt/efs/
  ```

EFS 파일 시스템을 탑재했으므로 다음 절차에 따라 테스트할 수 있습니다.

**EFS 파일 시스템 연결을 테스트하려면**

1. 만든 디렉터리를 다음 명령을 사용하여 새 디렉터리로 변경합니다.

   ```
   $ cd ~/mnt/efs
   ```

1. 하위 디렉터리를 만들고 해당 하위 디렉터리의 소유권을 EC2 인스턴스 사용자로 변경합니다. 그런 다음 아래 명령을 사용하여 새 디렉터리로 이동합니다.

   ```
   $ sudo mkdir getting-started
   $ sudo chown ec2-user getting-started
   $ cd getting-started
   ```

1. 다음 명령을 사용하여 텍스트 파일을 만듭니다.

   ```
   $ touch test-file.txt
   ```

1. 다음 명령을 사용하여 디렉터리 콘텐츠를 나열합니다.

   ```
   $ ls -al
   ```

따라서 다음 파일이 생성됩니다.

```
-rw-rw-r-- 1 username username 0 Nov 15 15:32 test-file.txt
```

`/etc/fstab` 파일에 항목을 추가하는 방법으로 자동으로 파일 시스템을 탑재할 수도 있습니다. 자세한 내용은 [기존 EC2 Linux 인스턴스에서 자동 탑재 활성화](mount-fs-auto-mount-update-fstab.md) 단원을 참조하십시오.

**주의**  
파일 시스템을 자동으로 마운트하는 경우 네트워크 파일 시스템 식별에 사용하는 `_netdev` 옵션을 사용합니다. `_netdev`이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다. 자세한 내용은 [자동 탑재 실패 및 인스턴스 무응답](troubleshooting-efs-mounting.md#automount-fails) 단원을 참조하십시오.

## 5단계: 리소스 정리 및 보호 AWS 계정
<a name="wt6-step5-cleanup"></a>

이 자습서를 완료한 후에는 다음 단계를 수행하여 리소스를 정리하고 AWS 계정을 보호합니다.

**리소스를 정리하고를 보호하려면 AWS 계정**

1. 다음 명령을 사용하여 EFS 파일 시스템 탑재를 해제합니다.

   ```
   $ sudo umount ~/efs
   ```

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

1. 파일 시스템 목록에서 삭제하려는 EFS 파일 시스템을 선택합니다.

1. **작업**에서 **파일 시스템 삭제**를 선택합니다.

1. **영구적으로 파일 시스템 삭제** 대화 상자에서 삭제하려는 EFS 파일 시스템에 대한 파일 시스템 ID를 입력한 다음 **파일 시스템 삭제**를 선택합니다.

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

1. 탐색 창에서 **보안 그룹**을 선택합니다.

1. 이 자습서에 사용할 규칙을 추가한 보안 그룹의 이름을 선택합니다.
**주의**  
VPC에 대한 기본 보안 그룹은 삭제할 수 없습니다.

1. **작업**에서 **인바운드 규칙**을 선택합니다.

1. 추가한 인바운드 규칙 마지막 부분의 X를 선택한 다음 **저장**을 선택합니다.

# 탑재 문제 해결
<a name="troubleshooting-efs-mounting"></a>

아래에서 EFS 파일 시스템 탑재 문제 해결에 대한 정보를 확인할 수 있습니다.

## Windows 인스턴스에서 파일 시스템 탑재에 실패
<a name="mount-windows-instance-fails"></a>

Microsoft Windows의 Amazon EC2 인스턴스에서 파일 시스템 탑재에 실패.

**취할 조치**  
Windows EC2 인스턴스에 Amazon EFS를 사용하지 않습니다. 지원하지 않기 때문입니다.

## 서버에 의한 액세스 거부
<a name="mount-fail-access-denied-by-server"></a>

파일 시스템 탑재가 실패하고 다음 메시지가 표시됩니다.

```
/efs mount.nfs4: access denied by server while mounting 127.0.0.1:/
```

NFS 클라이언트에 파일 시스템을 탑재할 권한이 없는 경우 이 문제가 발생할 수 있습니다.

**취할 조치**  
IAM을 사용하여 파일 시스템을 탑재하려는 경우 탑재 명령에서 `-o iam` 또는 -o tls옵션을 사용해야 합니다. 그러면 보안 인증을 EFS 탑재 대상에 전달하도록 EFS 탑재 도우미에 지시합니다. 여전히 액세스 권한이 없는 경우 파일 시스템 정책과 자격 증명 정책을 확인하여 연결에 적용되는 DENY 절이 없는지, 연결에 적용되는 ALLOW 절이 하나 이상 있는지 확인합니다. 자세한 내용은 [IAM을 사용하여 파일 시스템에 대한 액세스 제어](iam-access-control-nfs-efs.md) 및 [파일 시스템 정책 생성](create-file-system-policy.md) 섹션을 참조하세요.

## 자동 탑재 실패 및 인스턴스 무응답
<a name="automount-fails"></a>

`_netdev` 옵션을 선언하지 않은 상태에서 파일 시스템을 인스턴스에 자동 탑재하는 경우에 발생할 수 있는 문제입니다. `_netdev`이 빠진 경우 EC2 인스턴스가 응답을 중지합니다. 컴퓨팅 인스턴스가 네트워킹을 시작한 후 네트워크 파일 시스템의 초기화를 완료해야 하기 때문입니다.

**취할 조치**  
이 문제가 발생하면 AWS Support에 문의하십시오.

## /etc/fstab에 여러 Amazon EFS 파일 시스템을 탑재하는 데 실패
<a name="automount-fix-multiple-fs"></a>

`/etc/fstab`에 2개 이상의 Amazon EFS 항목이 있는 systemd init system을 사용하는 인스턴스의 경우, 항목 일부 또는 전체가 탑재되지 않는 경우가 있을 수 있습니다. 이 경우, `dmesg` 출력에 다음과 유사하게 한 줄 이상의 줄이 표시됩니다.

```
NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO
```

**취할 조치**  
이 경우 `/etc/systemd/system/mount-nfs-sequentially.service`에 새 systemd service 파일을 생성하는 것이 좋습니다. 파일에 포함할 코드는 파일 시스템을 수동으로 탑재하는지 아니면 Amazon EFS 탑재 도우미를 사용하는지에 따라 달라집니다.
+ 파일 시스템을 수동으로 탑재하는 경우 `ExecStart` 명령이 네트워크 파일 시스템(NFS4)을 가리켜야 합니다. 파일에 다음 코드를 붙여넣습니다.

  ```
  [Unit]
  Description=Workaround for mounting NFS file systems sequentially at boot time
  After=remote-fs.target
  
  [Service]
  Type=oneshot
  ExecStart=/bin/mount -avt nfs4
  RemainAfterExit=yes
  
  [Install]
  WantedBy=multi-user.target
  ```
+ Amazon EFS 탑재 도우미를 사용하는 경우 전송 계층 보안(TLS)을 사용하려면 `ExecStart` 명령이 NFS4 대신 EFS를 가리켜야 합니다. 파일에 다음 코드를 붙여넣습니다.

  ```
  [Unit]
  Description=Workaround for mounting NFS file systems sequentially at boot time
  After=remote-fs.target
  
  [Service]
  Type=oneshot
  ExecStart=/bin/mount -avt efs
  RemainAfterExit=yes
  
  [Install]
  WantedBy=multi-user.target
  ```

파일 생성 후 다음 두 명령을 실행합니다.

1. `sudo systemctl daemon-reload`

1. `sudo systemctl enable mount-nfs-sequentially.service`

그리고 Amazon EC2 인스턴스를 다시 시작합니다. 통상 1초 이내에 요청대로 파일 시스템이 탑재됩니다.

## 탑재 명령에 실패하고 "잘못된 fs 유형" 오류 메시지가 표시됨
<a name="mount-error-wrong-fs"></a>

탑재 명령에 실패하고 다음 오류 메시지가 표시됩니다.

```
mount: wrong fs type, bad option, bad superblock on 10.1.25.30:/, 
missing codepage or helper program, or other error (for several filesystems 
(e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try dmesg | tail or so.
```

**취할 조치**  
이 메시지를 수신한 경우 `nfs-utils`(또는 Ubuntu의 경우 `nfs-common`) 패키지를 설치합니다. 자세한 내용은 [NFS 클라이언트 설치](mounting-fs-install-nfsclient.md) 단원을 참조하십시오.

## 탑재 명령에 실패하고 "잘못된 탑재 옵션" 오류 메시지가 표시됨
<a name="mount-error-incorrect-mount"></a>

탑재 명령에 실패하고 다음 오류 메시지가 표시됩니다.

```
mount.nfs: an incorrect mount option was specified
```

**취할 조치**  
이 오류 메시지는 주로 사용 중인 Linux 배포판이 Network File System 버전 4.0 및 4.1(NFSv4)을 지원하지 않음을 의미합니다. 이러한 경우에 해당하는지 확인하려면 다음 명령을 실행합니다.

```
$ grep CONFIG_NFS_V4_1 /boot/config*
```

앞선 명령에서 `# CONFIG_NFS_V4_1 is not set`이 반환되면 사용 중인 Linux 배포판에서 NFSv4.1이 지원되지 않는 것입니다. NFSv4.1을 지원하는 Amazon Elastic Compute Cloud(Amazon EC2)용 Amazon Machine Image(AMI) 목록은 [NFS 지원](mounting-fs-old.md#mounting-fs-nfs-info) 섹션을 참조하세요.

## 액세스 포인트를 사용한 탑재 실패
<a name="mount-error-no-such-file"></a>

액세스 포인트로 탑재할 때 탑재 명령이 실패하고 다음 오류 메시지가 표시됩니다.

```
mount.nfs4: mounting access_point failed, reason given by server: No such file or directory
```

**취할 조치**  
이 오류 메시지는 지정된 EFS 경로가 존재하지 않는 것을 나타냅니다. 액세스 포인트 루트 디렉터리에 대한 소유권과 권한을 제공해야 합니다. EFS는 이 정보를 사용하여 디렉터리를 생성합니다. 자세한 내용은 [액세스 포인트 작업](efs-access-points.md) 단원을 참조하십시오.

루트 디렉터리 소유권 및 권한을 지정하지 않고 루트 디렉터리가 아직 없는 경우 EFS는 루트 디렉터리를 생성하지 않습니다. 이 경우 액세스 포인트를 사용하여 파일 시스템을 탑재하려는 시도가 실패합니다.

## 파일 시스템 생성 직후 파일 시스템 탑재에 실패함
<a name="mount-fails-propegation"></a>

탑재 대상 생성 후 DNS(Domain Name Service) 레코드가 AWS 리전내에 완전히 전파되는 데 최대 90초까지 걸릴 수 있습니다.

**취할 조치**  
예를 들어 CloudFormation 템플릿을 사용하여 프로그래밍 방식으로 파일 시스템을 생성하고 탑재하는 경우 대기 조건을 구현하는 것이 좋습니다.

## 파일 시스템 탑재가 중단된 후 실패하고 제한 시간 초과 오류가 표시됨
<a name="mount-hangs-fails-timeout"></a>

파일 시스템 탑재 명령이 1\$12분 동안 중단된 후 실패하고 제한 시간 초과 오류가 표시됩니다. 다음 코드에 예가 나와 있습니다.

```
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt

[2+ minute wait here]
mount.nfs: Connection timed out
$Â 
```

**취할 조치**

이 오류는 Amazon EC2 인스턴스 또는 탑재 대상 보안 그룹이 제대로 구성되지 않았기 때문에 발생할 수 있습니다. 탑재 대상 보안 그룹에 EC2 보안 그룹에서 포트 2049를 통한 NFS 액세스를 허용하는 인바운드 규칙이 있는지 확인합니다. 자세한 내용은 [VPC 보안 그룹 사용](network-access.md) 단원을 참조하십시오.

지정한 탑재 대상 IP 주소가 올바른지 확인합니다. 잘못된 IP 주소를 지정했고 해당 IP 주소에는 탑재를 거부할 다른 이유가 없는 경우 이 문제가 발생할 수 있습니다.

## DNS 이름을 사용한 파일 시스템 탑재에 실패
<a name="mount-fails-dns-name"></a>

`amazon-efs-utils` 클라이언트를 사용하지 않고 NFS 클라이언트를 사용하여 파일 시스템의 DNS 이름을 사용하여 파일 시스템을 탑재하려고 하면 다음 예와 같이 실패합니다.

```
$ 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:/ mnt   
mount.nfs: Failed to resolve server file-system-id.efs.aws-region.amazonaws.com: 
  Name or service not known.   

$ 
```

**취할 조치**

VPC 구성을 확인합니다. 사용자 지정 VPC를 사용하는 경우, DNS 설정이 활성화되어 있는지 확인합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서**의 [VPC에 대한 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)을 참조하세요. 또한 파일 시스템 및 탑재 대상 DNS 이름은 존재하는 VPC 외부에서 확인할 수 없습니다.

`mount` 명령에서 DNS 이름을 사용하여 파일 시스템을 탑재하려면 먼저 다음과 같이 해야 합니다.
+ Amazon EFS 탑재 대상이 Amazon EC2 인스턴스와 동일한 가용 영역에 있는지 확인합니다.
+ Amazon EC2 인스턴스와 동일한 VPC에 탑재 대상이 있는지 확인합니다. 그렇지 않으면 다른 VPC에 있는 EFS 탑재 대상에 대해 DNS 이름 확인을 사용할 수 없습니다. 자세한 내용은 [다른 AWS 계정 또는 VPC에서 EFS 파일 시스템 탑재](manage-fs-access-vpc-peering.md) 단원을 참조하십시오.
+ Amazon에서 제공하는 DNS 서버를 사용하도록 구성된 Amazon VPC 내에서 Amazon EC2 인스턴스를 연결합니다. 자세한 정보는 Amazon VPC 사용 설명서**의 [Amazon VPC 내의 DHCP 옵션 세트](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)를 참조하세요.
+ 연결 중인 Amazon EC2 인스턴스의 Amazon VPC에 DNS 호스트 이름이 활성화되어 있는지 확인합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서**의 [VPC의 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)을 참조하세요.

## 파일 시스템 탑재에 실패하고 "nfs 응답 없음" 오류가 표시됨
<a name="tcp-reconnect-nfs-not-responding"></a>

`"nfs: server_name still not responding"`와 TCP(Transmission Control Protocol) 다시 연결 이벤트 시 메시지와 함께 Amazon EFS 파일 시스템 탑재에 실패한 경우.

**취할 조치**

네트워크 연결이 다시 구현될 때 NFS 클라이언트가 새로운 TCP 소스 포트를 사용하도록 `noresvport` 탑재 옵션을 사용하세요. 이렇게 하면 네트워크 복구 이벤트 후 네트워크를 중단 없이 사용할 수 있습니다.

## 탑재 대상 수명 주기가 특정 상태에서 멈춤
<a name="mount-target-lifecycle-stuck"></a>

탑재 대상 수명 주기 상태가 **creating** 또는 **deleting** 상태에서 멈췄습니다.

**취할 조치**  
`CreateMountTarget` 또는 `DeleteMountTarget` 호출을 다시 시도해 보세요.

## 탑재 대상 수명 주기 상태에 오류가 표시됨
<a name="mount-target-dns-error"></a>

탑재 대상 수명 주기 상태가 **오류**로 표시됩니다.

**취할 조치**

 Virtual Private Cloud(VPC)의 호스팅 영역이 충돌하는 경우 Amazon EFS는 새 파일 시스템 탑재 대상에 필요한 도메인 이름 시스템(DNS) 레코드를 생성할 수 없습니다. Amazon EFS는 고객 소유 호스팅 영역 내에 새 레코드를 생성할 수 없습니다. `efs.<region>.amazonaws.com` DNS 범위가 충돌하는 호스팅 영역을 유지 관리해야 하는 경우 별도의 VPC에 호스팅 영역을 생성하세요. VPC의 DNS 고려 사항에 대한 자세한 내용은 [VPC의 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)을 참조하세요.

이 문제를 해결하려면 VPC에서 충돌하는 `efs.<region>.amazonaws.com` 호스트를 삭제하고 탑재 대상을 다시 생성하세요. 탑재 대상 삭제에 대한 자세한 내용은 [탑재 대상 생성](accessing-fs.md) 섹션을 참조하세요.

## 탑재가 응답하지 않음
<a name="mount-unresponsive"></a>

Amazon EFS 탑재가 응답하지 않는 것으로 나타납니다. 예를 들어 `ls`와 같은 명령이 중단됩니다.

**취할 조치**

이 오류는 다른 애플리케이션이 대량의 데이터를 파일 시스템에 쓰는 경우 발생할 수 있습니다. 기록 중인 파일에 대한 액세스를 작업이 완료될 때까지 차단할 수 있습니다. 일반적으로, 기록 중인 파일에 액세스하려고 하는 모든 명령 또는 애플리케이션은 중단 상태로 보일 수 있습니다. 예를 들어, `ls` 명령이 기록 중인 파일에 접근하려고 하면 이 명령이 중단될 수 있습니다. 일부 Linux 배포판에서 `ls` 명령에 별칭을 지정해서 이 명령이 디렉터리 내용을 나열하는 것 외에 파일 속성까지 검색하도록 했기 때문입니다.

이 문제를 해결하려면 다음 예에서처럼 다른 애플리케이션이 Amazon EFS 탑재에 파일을 쓰고 있으며 `Uninterruptible sleep`(`D`) 상태인지 확인합니다.

```
$ ps aux | grep large_io.py 
root 33253 0.5 0.0 126652 5020 pts/3 D+ 18:22 0:00 python large_io.py /efs/large_file
```

여기에 해당하는 사례임이 확인되면 다른 쓰기 작업이 완료될 때까지 기다리거나 차선책을 실행해 문제를 해결할 수 있습니다. `ls` 예제에서는 별칭 대신 `/bin/ls` 명령을 직접 사용할 수 있습니다. 이렇게 하면 파일 쓰기를 중단하지 않고 명령을 처리할 수 있습니다. 일반적으로, 데이터를 쓰는 애플리케이션이 `fsync(2)` 등을 사용하여 정기적으로 데이터 플러시를 강행하면 다른 응용 프로그램에 대한 파일 시스템의 응답성이 개선될 수 있습니다. 그러나 이렇게 하면 해당 애플리케이션이 데이터를 쓸 때는 성능이 저하될 수 있습니다.

## 탑재된 클라이언트의 연결이 끊깁니다.
<a name="client-disconnected"></a>

Amazon EFS 파일 시스템에 탑재된 클라이언트는 여러 가지 원인으로 인해 연결이 끊길 수 있습니다. NFS 클라이언트는 중단 시 자동으로 다시 연결되도록 설계되어 일상적인 연결 끊김이 애플리케이션 성능 및 가용성에 미치는 영향을 최소화합니다. 대부분의 경우 클라이언트는 몇 초 내에 투명하게 다시 연결됩니다.

그러나 이전 버전의 Linux 커널(버전 v5.4 이하)에 포함된 NFS 클라이언트 소프트웨어에는 연결이 끊긴 경우 NFS 클라이언트가 동일한 TCP 소스 포트에서 재연결을 시도하도록 하는 동작이 포함되어 있습니다. 이 동작은 TCP RFC를 준수하지 않으므로 이러한 클라이언트가 NFS 서버(이 경우 EFS 파일 시스템)에 대한 연결을 빠르게 다시 설정하지 못할 수 있습니다.

이 문제를 해결하려면 Amazon EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재하는 것이 좋습니다. EFS 탑재 도우미는 Amazon EFS 파일 시스템에 최적화된 탑재 설정을 사용합니다. EFS 클라이언트 및 탑재 도우미에 대한 자세한 내용은 [Amazon EFS 클라이언트 수동 설치](using-amazon-efs-utils.md) 섹션을 참조하세요.

EFS 탑재 도우미를 사용할 수 없는 경우 이 문제를 방지하려면 NFS 클라이언트가 새 TCP 소스 포트를 사용하여 연결을 다시 설정하도록 지시하는 `noresvport` NFS 탑재 옵션을 사용하는 것이 좋습니다. 자세한 내용은 [권장 NFS 탑재 설정](mounting-fs-nfs-mount-settings.md) 단원을 참조하십시오.

## 새로 탑재한 파일 시스템에 대한 작업이 "잘못된 파일 핸들" 오류를 반환함
<a name="operations-return-bad-file-handle"></a>

새로 탑재한 파일 시스템에 대해 수행한 작업이 `bad file handle` 오류를 반환합니다.

Amazon EC2 인스턴스가 지정된 IP 주소를 사용하여 파일 시스템 하나와 탑재 대상 하나에 연결되어 있는데 파일 시스템 및 탑재 대상이 삭제된 경우 이 오류가 발생할 수 있습니다. 새 파일 시스템 및 탑재 대상을 만들어 동일한 탑재 대상 IP 주소를 사용하는 Amazon EC2 인스턴스에 연결하면 이 문제가 발생할 수 있습니다.

**취할 조치**  
이 문제를 파일 시스템을 탑재 해제한 다음 Amazon EC2 인스턴스에 파일 시스템을 다시 탑재하여 해결할 수 있습니다. Amazon EFS 파일 시스템 탑재 해제에 대한 자세한 내용은 [파일 시스템 탑재 해제](unmounting-fs.md) 섹션을 참조하세요.

## 파일 시스템 탑재 해제 실패
<a name="troubleshooting-unmounting"></a>

파일 시스템이 사용 중인 경우 탑재를 해제할 수 없습니다.

**취할 조치**  
다음 방법을 통해 이 문제를 해결할 수 있습니다.
+ 지연 탑재 해제를 사용하면 실행 시 파일 시스템 계층 구조에서 파일 시스템을 분리한 **umount -l**가 더 이상 사용량이 많지 않은 파일 시스템에 대한 모든 참조를 즉시 정리합니다.
+ 읽기 및 쓰기 작업이 완료되기 기다린 후 다시 **umount** 명령을 실행합니다.
+ **umount -f** 명령을 사용하여 강제로 탑재 해제합니다.
**주의**  
탑재 해제를 강제 적용하면 현재 파일 시스템에서 수행되고 있는 데이터 읽기 및 쓰기 작업이 중단됩니다. 이 옵션을 사용하는 방법에 대한 자세한 내용 및 지침은 [umount 매뉴얼 페이지](https://man7.org/linux/man-pages/man8/umount.8.html)를 참조하세요.