RHEL에서 EFS 마운트 시 발생하는 Error: Unable to find a match: build/amazon-efs-utils*rpm 문제 해결

RHEL에서 EFS 마운트 시 발생하는 Error: Unable to find a match: build/amazon-efs-utils*rpm 문제를 해결하는 방법에 대해서 정리해 봤습니다.
2024.05.02

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 RHEL에서 EFS 마운트 시 발생하는 Error: Unable to find a match: build/amazon-efs-utils*rpm 문제를 해결하는 방법에 대해서 정리해 봤습니다.

문제 발생

이전 RHEL에서 EFS를 마운트하는 방법에 대해서 블로그를 작성했습니다. 하지만 2024년 4월 기준으로 해당 블로그에 기재되어 있는 명령어가 막힌다는 것을 확인했습니다.

또한 블로그를 작성한 2024년 5월 2일 기준으로 AWS 공식 문서에서 안내하는 명렁어로도 EFS 마운트에 실패하는 것을 확인했습니다.

RHEL에서 EFS를 마운트하려고 하면 아래와 같은 에러 메시지가 표시됩니다.

No match for argument: build/amazon-efs-utils*rpm Error: Unable to find a match: build/amazon-efs-utils*rpm

amazon-efs-utils를 설치하기 이전에 make rpm 명령어를 입력해 보면 아래와 같은 에러 메시지가 출력되는 것도 확인할 수 있습니다.

error: Failed build dependencies: openssl-devel is needed by amazon-efs-utils-2.0.1-1.el8.x86_64

또한 이러한 메시지를 무시하고 EFS 마운트를 실시해 보면 아래와 같은 에러 메시지가 표시됩니다.

mount: /mnt/efs/p: unknown filesystem type 'efs'.

문제 해결

마운트에 실패하는 이유는 amazon-efs-utils가 설치되어 있지 않기 때문에 마운트 시 unknown filesystem type ‘efs’. 라는 에러 메시지가 출력되는 것입니다.

그렇다면 amazon-efs-utils는 왜 설치가 되지 않는 걸까요?

Rust 또는 Cargo 패키지를 설치할 필요가 있기 때문에 현재 사용하고 있는 RHEL 서버에서 Rust 또는 Cargo 패키지를 제공하지 않거나 1.68보다 오래된 버전을 사용하고 있다면 amazon-efs-utils 또한 설치되지 않을 것입니다.

RHEL에서 amazon-efs-utils를 설치하는 명령어는 다음과 같습니다.

sudo yum -y install git rpm-build make rust cargo openssl-devel
git clone https://github.com/aws/efs-utils
cd efs-utils
make rpm
sudo yum -y install build/amazon-efs-utils*rpm

sudo mkdir test-efs
sudo mount -t efs -o tls efs-id:/ test-efs

efs-id에는 생성한 EFS의 ID를 입력합니다.

※ make rpm 과정에서 몇 분 정도의 시간이 소요될 수 있습니다.

상기 명령어로 amazon-efs-utils가 성공적으로 설치되는 것을 확인할 수 있습니다.

마지막으로 df -h 명령어를 입력해 보면, 성공적으로 EFS가 마운트된 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.