Elastic Beanstalk 환경의 인스턴스에 Amazon EFS 볼륨을 탑재하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 6월 15일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 Amazon Elastic File System(Amazon EFS) 볼륨을 탑재하려고 합니다. 이 인스턴스는 내 AWS Elastic Beanstalk 환경에 있습니다.

간략한 설명

Elastic Beanstalk 환경에서는 Amazon EFS를 사용하여 애플리케이션 사용자가 업로드하거나 수정한 파일을 저장하는 공유 디렉터리를 만들 수 있습니다. 애플리케이션은 탑재된 Amazon EFS 볼륨을 로컬 스토리지로 취급할 수 있습니다. 따라서 여러 인스턴스로 확장하기 위해 애플리케이션 코드를 변경할 필요가 없습니다.

Elastic Beanstalk 환경의 Amazon EC2 인스턴스에 Amazon EFS 볼륨을 탑재하려면 소스 코드에 구성 파일을 포함해야 합니다.

해결 방법

1.    Amazon EFS 파일 시스템을 생성한 후 Amazon EFS ID 및 보안 그룹 ID를 기록합니다.

2.    연결을 허용하려면 파일 시스템의 보안 그룹 규칙을 편집합니다. 이 규칙은 Elastic Beanstalk 환경 내 인스턴스의 보안 그룹으로부터의 포트 2049(네트워크 파일 시스템 또는 NFS) 인바운드 연결을 허용해야 합니다.

3.    포트 2049에서 Amazon EFS 보안 그룹에 대한 아웃바운드 연결을 허용하도록 인스턴스 보안 그룹을 업데이트합니다.

참고: Amazon EFS 보안 그룹은 사용자가 한 서브넷의 탑재 대상을 다른 서브넷의 환경에 탑재할 때 인바운드 연결을 허용해야 합니다. 즉 Amazon Virtual Private Cloud(Amazon VPC) CIDR에서 시작되는 포트 2049의 인바운드 연결입니다.

4.    애플리케이션 번들의 루트에서 .ebextensions라는 디렉터리를 생성합니다.

5.    형식이 지정된 구성 파일(YAML 또는 JSON)을 디렉터리에 추가합니다.

중요: 구성 파일에 파일 시스템 ID를 추가하세요. FILE_SYSTEM_ID: {"Ref" : "FileSystem"}FILE_SYSTEM_ID: fs-xxxxxxxx로 바꿉니다. 구성 파일에는 배포 중에 Amazon EFS 파일 시스템을 인스턴스에 탑재하는 스크립트가 포함되어 있습니다.

6.    5단계의 구성 파일이 포함된 소스 코드를 Elastic Beanstalk 애플리케이션에 배포합니다.

7.    Amazon EFS 볼륨이 지정된 탑재 경로의 인스턴스에 탑재되었는지 확인하려면 다음 명령을 실행합니다.

df -H

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요하세요?