Amazon EFS: 작동 방식 - Amazon Elastic File System

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

Amazon EFS: 작동 방식

아래에는 Amazon EFS 사용 방법에 대한 설명, 구현 세부 정보 및 보안 고려 사항이 나와 있습니다.

개요

Amazon Elastic File System은 단순하고 set-and-forget 탄력적인 서버리스 파일 시스템을 제공합니다. Amazon EFS를 사용하면 파일 시스템을 생성하고, Amazon EC2 인스턴스 에 파일 시스템을 탑재한 후, 파일 시스템에 데이터를 작성하거나 파일 시스템에서 데이터를 읽을 수 있습니다. Network File System 버전 4.0 및 버전 4.1 프로토콜(NFSv4)을 통해 Virtual Private Cloud(VPC)에 Amazon EFS 파일 시스템을 탑재할 수 있습니다. 최신 Amazon Linux, Amazon Linux 2, Red Hat, Ubuntu 및 macOS Big Sur AMI 등에 있는 최신 세대의 Linux NFSv4.1 클라이언트를 Amazon EFS 탑재 도우미와 함께 사용하는 것이 좋습니다. 지침은 amazon-efs-utils 도구 사용을(를) 참조하세요.

이 프로토콜을 지원하는 Amazon EC2 Linux 및 macOS Amazon Machine Image(AMI) 목록은 NFS 지원 섹션을 참조하세요. 일부 AMI의 경우 Amazon EC2 인스턴스에 파일 시스템을 탑재하려면 NFS 클라이언트를 설치해야 합니다. 지침은 NFS 클라이언트 설치을(를) 참조하세요.

여러 NFS 클라이언트에서 동시에 Amazon EFS 파일 시스템에 액세스할 수 있으므로 단일 연결 이상으로 확장되는 애플리케이션에서도 파일 시스템에 액세스할 수 있습니다. Amazon EC2 및 동일한 AWS 리전 내 여러 가용 영역에서 실행되는 기타 AWS 컴퓨팅 인스턴스는 파일 시스템에 액세스할 수 있으므로 많은 사용자가 공통 데이터 소스에 액세스하고 공유할 수 있습니다.

Amazon EFS 파일 시스템을 만들 수 있는 AWS 리전 목록은 Amazon Web Services 일반 참조 섹션을 참조하세요.

VPC에서 Amazon EFS 파일 시스템에 액세스하려면 VPC에서 탑재 대상을 하나 이상 만듭니다.

  • Regional 파일 시스템의 경우, AWS 리전의 각 가용 영역에 탑재 대상을 생성할 수 있습니다.

  • One Zone 파일 시스템의 경우 파일 시스템과 동일한 가용 영역에 있는 단일 탑재 대상만 생성합니다.

자세한 설명은 EFS 스토리지 클래스 섹션을 참조하세요.

탑재 대상은 Amazon EFS 파일 시스템을 탑재할 수 있는 NFSv4 엔드포인트의 IP 주소를 제공합니다. EC2 인스턴스와 동일한 가용 영역에 있는 EFS 탑재 대상의 IP 주소로 해석되는 DNS(Domain Name Service) 이름을 사용하여 파일 시스템을 탑재합니다. AWS 리전의 각 가용 영역에 탑재 대상을 하나씩 만들 수 있습니다. VPC의 가용 영역에 서브넷이 여러 개 있는 경우 여러 서브넷 중 하나에만 탑재 대상을 만듭니다. 이렇게 하면 해당 가용 영역의 모든 EC2 인스턴스가 탑재 대상을 공유할 수 있습니다.

참고

Amazon EFS 파일 시스템은 한 번에 하나의 VPC에 있는 탑재 대상만 가질 수 있습니다.

탑재 대상 자체는 가용성이 매우 뛰어나게 설계되어 있습니다. 고가용성 및 다른 가용 영역으로의 장애 조치를 설계하는 경우 각 가용 영역에 있는 탑재 대상의 IP 주소와 DNS는 정적이며 여러 리소스가 지원하는 중복 구성 요소입니다.

DNS 이름을 사용하여 파일 시스템을 탑재하면 이 파일 시스템을 다른 POSIX 호환 파일 시스템처럼 사용할 수 있습니다. NFS 수준 권한 및 관련 고려 사항에 대한 자세한 내용은 네트워크 파일 시스템(NFS) 수준에서 사용자, 그룹 및 권한 사용 단원을 참조하십시오.

AWS Direct Connect 또는 AWS VPN을 통해 Amazon VPC에 연결할 때 Amazon EFS 파일 시스템을 온프레미스 데이터 센터 서버에 탑재할 수 있습니다. 온프레미스 서버에 EFS 파일 시스템을 탑재하여 데이터 세트를 EFS로 마이그레이션하거나 클라우드 버스팅 시나리오를 허용하거나 온프레미스 데이터를 Amazon EFS로 백업할 수 있습니다.

Amazon EFS가 Amazon EC2와 함께 작동하는 방식

이 섹션에서는 Amazon EFS Regional 및 One Zone 파일 시스템이 Amazon VPC의 EC2 인스턴스에 탑재되는 방법을 설명합니다.

Amazon EFS Regional 파일 시스템

다음 그림은 AWS 리전의 여러 가용 영역에서 Amazon EFS 파일 시스템에 액세스하는 여러 EC2 인스턴스를 보여줍니다.

EC2 인스턴스와 탑재 대상, 탑재된 EFS 파일 시스템을 포함하는 VPC의 가용 영역 세 개를 보여주는 다이어그램입니다.

이 그림에서 Virtual Private Cloud(VPC)에는 가용 영역이 세 개 있습니다. 파일 시스템이 Regional이므로 각 가용 영역에 탑재 대상이 생성되었습니다. 성능 및 비용의 이유로, 동일한 가용 영역 내의 탑재 대상에서 파일 시스템에 액세스하는 것이 좋습니다. 가용 영역 중 하나에는 서브넷이 두 개 있습니다. 그러나 탑재 대상은 두 서브넷 중 하나에서만 생성됩니다. 자세한 내용은 EFS 탑재 도우미를 사용하여 EFS 파일 시스템을 탑재합니다. EFS 탑재 도우미를 사용하여 Amazon EC2 Linux 인스턴스에 탑재하기 단원을 참조하세요.

Amazon EFS One Zone 파일 시스템

다음 그림은 단일 AWS 리전의 여러 가용 영역에서 One Zone 파일 시스템에 액세스하는 여러 EC2 인스턴스를 보여줍니다.

EC2 인스턴스, 단 하나의 탑재 대상, 탑재된 EFS One Zone 파일 시스템을 포함하는 VPC의 두 가용 영역을 보여주는 다이어그램입니다.

이 그림에서 VPC에는 각각 서브넷이 하나씩 있는 두 개의 가용 영역이 있습니다. 파일 시스템 유형이 One Zone이기 때문에 탑재 대상을 하나만 가질 수 있습니다. 성능과 비용을 높이려면 파일을 탑재하려는 EC2 인스턴스와 동일한 가용 영역에 있는 탑재 대상에서 파일 시스템에 액세스하는 것이 좋습니다.

이 예시에서는 us-west-2c 가용 영역의 EC2 인스턴스가 다른 가용 영역에 있는 탑재 대상에 액세스하는 데 대해 EC2 데이터 액세스 요금을 지불합니다. 자세한 설명은 One Zone 파일 시스템 탑재하기 섹션을 참조하세요.

Amazon EFS가 AWS Direct Connect 및 AWS 관리형 VPN과 작동하는 방식을 설명합니다.

온프레미스 서버에 탑재된 Amazon EFS 파일 시스템을 사용하여 Amazon EFS 파일 시스템에서 호스팅되는 AWS 클라우드로 온프레미스 데이터를 마이그레이션할 수 있습니다. 버스팅을 이용할 수도 있습니다. 즉, 온프레미스 서버의 데이터를 Amazon EFS로 이동하고 Amazon VPC의 Amazon EC2 인스턴스 플릿에서 데이터를 분석할 수 있습니다. 그런 다음 결과를 파일 시스템에 영구 저장하거나 결과를 온프레미스 서버로 다시 이동할 수 있습니다.

온프레미스 서버에서 Amazon EFS를 사용할 때는 다음 사항에 주의하세요.

  • 온프레미스 서버에는 Linux 기반 운영 체제가 필요합니다. Linux 커널 버전 4.0 이상을 사용하는 것이 좋습니다.

  • 간소화를 위해 DNS 이름 대신 탑재 대상 IP 주소를 사용하여 온프레미스 서버에서 Amazon EFS 파일 시스템을 탑재하는 것이 좋습니다.

Amazon EFS 파일 시스템에 대한 온프레미스 액세스에는 추가 비용이 들지 않습니다. AWS Direct Connect를 Amazon VPC에 연결하려면 요금이 청구됩니다. 자세한 내용은 AWS Direct Connect 요금을 참조하십시오.

다음 그림은 온프레미스(온프레미스 서버에는 탑재된 파일 시스템이 있음)에서 Amazon EFS 파일 시스템에 액세스하는 방법의 예가 나와 있습니다.

Amazon EFS가 AWS Direct Connect를 사용하여 EFS 파일 시스템을 온프레미스 서버에 탑재하는 작업을 보여주는 다이어그램입니다.

온프레미스 서버와 VPC 간의 AWS Direct Connect 연결을 사용하여 탑재 대상의 서브넷에 도달할 수 있으면 VPC에서 모든 탑재 대상을 사용할 수 있습니다. 온프레미스 서버에서 Amazon EFS에 액세스하려면 온프레미스 서버의 NFS 포트(2049)에 대한 인바운드 트래픽을 허용하는 규칙을 탑재 대상 보안 그룹에 추가합니다. 세부 절차를 포함한 자세한 내용은 안내: VPN을 사용하여 온프레미스에서 파일 시스템 생성 및 탑재 AWS Direct Connect를 참조하세요.

아마존 EFS가 AWS Backup과 작동하는 방식

파일 시스템에 대한 포괄적인 백업을 구현하는 경우 AWS Backup과 함께 Amazon EFS를 사용할 수 있습니다. AWS Backup은 클라우드에서뿐만 아니라 온프레미스에서도 AWS 서비스 전반에 걸친 데이터 백업을 쉽게 중앙 집중화하고 자동화할 수 있는 종합 관리형 백업 서비스입니다. AWS Backup를 사용하여 중앙에서 백업 정책을 구성하고 AWS 리소스의 백업 활동을 모니터링할 수 있습니다. Amazon EFS는 항상 백업 작업보다 파일 시스템 작업을 우선시합니다. AWS Backup을 사용하여 EFS 파일 시스템을 백업하는 방법에 대한 자세한 내용은 Amazon EFS 파일 시스템 백업 섹션을 참조하세요.

구현 요약

Amazon EFS에서는 파일 시스템이 기본 리소스입니다. 각 파일 시스템에는 ID, 생성 토큰, 생성 시간, 파일 시스템 크기(바이트), 파일 시스템에 대해 생성된 탑재 대상 수 및 파일 시스템 수명 주기 상태와 같은 속성이 있습니다. 자세한 설명은 CreateFileSystem 섹션을 참조하세요.

또한 Amazon EFS는 다른 리소스에서 기본 리소스를 구성하도록 지원합니다. 여기에는 탑재 대상 및 액세스 포인트가 포함됩니다.

  • 탑재 대상 – 파일 시스템에 액세스하려면 VPC 내에서 탑재 대상을 만들어야 합니다. 각 탑재 대상에는 탑재 대상 ID, 탑재 대상이 생성된 서브넷 ID, 탑재 대상이 생성된 파일 시스템 ID, 파일 시스템을 탑재할 수 있는 IP 주소, VPC 보안 그룹 및 탑재 대상 상태와 같은 속성이 있습니다. mount 명령에 IP 주소 또는 DNS 이름을 사용할 수 있습니다.

    각 파일 시스템에는 다음과 같은 형식의 DNS 이름이 있습니다.

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

    mount 명령에 이 DNS 이름을 지정하여 Amazon EFS 파일 시스템을 탑재할 수 있습니다. EC2 인스턴스 또는 온프레미스 서버의 홈 디렉터리에서 efs-mount-point 하위 디렉터리를 만든다고 가정해 보세요. 그런 다음 탑재 명령을 실행하여 파일 시스템을 탑재합니다. 예를 들어 Amazon Linux AMI에서는 다음 mount 명령을 사용할 수 있습니다.

    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-DNS-name:/ ~/efs-mount-point

    자세한 설명은 탑재 대상 및 보안 그룹 생성 및 관리 섹션을 참조하세요. 먼저, EC2 인스턴스에 NFS 클라이언트를 설치해야 합니다. 시작하기연습에서는 step-by-step 지침을 제공합니다.

  • 액세스 포인트 – 액세스 포인트는 액세스 포인트를 사용하여 이루어진 모든 파일 시스템 요청에 운영 체제 사용자, 그룹 및 파일 시스템 경로를 적용합니다. 액세스 포인트의 운영 체제 사용자 및 그룹은 NFS 클라이언트에서 제공하는 모든 자격 증명 정보를 재정의합니다. 파일 시스템 경로는 액세스 포인트의 루트 디렉터리로 클라이언트에 노출됩니다. 이렇게 하면 공유 파일 기반 데이터 세트에 액세스할 때 각 애플리케이션이 항상 올바른 운영 체제 자격 증명과 올바른 디렉터리를 사용할 수 있습니다. 액세스 포인트를 사용하는 애플리케이션은 자체 디렉터리 및 해당 하위 디렉터리의 데이터에만 액세스할 수 있습니다. 자세한 설명은 Amazon EFS 액세스 포인트를 사용하는 섹션을 참조하세요.

탑재 대상 및 태그는 파일 시스템과 연관된 하위 리소스입니다. 기존 파일 시스템의 컨텍스트 내에만 생성할 수 있습니다.

Amazon EFS에서는 이러한 리소스를 만들고 관리할 수 있는 API 작업을 제공합니다. 각 리소스에 대한 생성 및 삭제 작업 외에 Amazon EFS에서는 리소스 정보를 검색하기 위한 설명 작업도 가능합니다. 이러한 리소스의 생성 및 관리 옵션은 다음과 같습니다.

  • Amazon EFS 콘솔 사용 – 시작하기에서 예제를 참조하세요.

  • Amazon EFS 명령줄 인터페이스(CLI) 사용 – 연습: Amazon EFS 파일 시스템을 생성하여AWS CLI에서 예제를 참조하세요.

  • 또한 다음과 같이 프로그래밍 방식으로 리소스를 관리할 수도 있습니다.

    • AWS SDK 사용 – AWS SDK는 기본 Amazon EFS API를 래핑하여 프로그래밍 태스크를 단순화합니다. 또한 SDK 클라이언트는 사용자가 제공한 액세스 키를 사용하여 요청을 인증합니다. 자세한 내용은 샘플 코드 및 라이브러리 섹션을 참조하세요.

    • 애플리케이션에서 직접 Amazon EFS API 호출 – 어떤 이유로 인해 SDK를 사용할 수 없는 경우, 애플리케이션에서 직접 Amazon EFS API 직접 호출을 할 수 있습니다. 그러나 이 옵션을 사용하는 경우 요청을 인증하려면 필수 코드를 작성해야 합니다. Amazon EFS API에 대한 자세한 내용은 Amazon EFS 섹션을 참조하세요.

인증 및 액세스 제어

Amazon EFS API 요청(예: 파일 시스템 만들기)을 만들려면 유효한 보안 인증이 있어야 합니다. 또한 리소스를 만들거나 리소스에 액세스할 수 있는 권한이 있어야 합니다.

AWS Identity and Access Management(IAM) 계정에서 만든 모든 사용자 및 역할에는 리소스를 만들거나 리소스에 액세스할 수 있는 권한을 부여해야 합니다. 권한에 대한 자세한 내용은 Amazon Elastic File System용 자격 증명 및 액세스 관리 섹션을 참조하세요.

NFS(Network File System) 클라이언트에 대한 IAM 권한 부여는 Amazon EFS의 추가 보안 옵션으로, IAM을 사용하여 NFS 클라이언트에 대한 대규모 액세스 관리를 간소화합니다. NFS 클라이언트에 대한 IAM 권한 부여를 사용하면 IAM을 사용하여 기본적으로 확장 가능한 방식으로 EFS 파일 시스템에 대한 액세스를 관리할 수 있습니다. NFS 클라이언트에 대한 IAM 권한 부여는 클라우드 환경에도 최적화되어 있습니다. NFS 클라이언트에 대한 IAM 권한 부여 사용에 대한 자세한 내용은 IAM을 사용하여 파일 시스템 데이터 액세스 제어 섹션을 참조하세요.

Amazon EFS 데이터 일관성

Amazon EFS는 애플리케이션이 NFS에서 기대하는 close-to-open 일관성 시맨틱스를 제공합니다.

Amazon EFS에서는 다음과 같은 경우 Regional 파일 시스템의 쓰기 작업이 가용 영역 전체에서 영구적으로 저장됩니다.

  • 애플리케이션이 동기식 쓰기 작업을 수행하는 경우(예: O_DIRECT 플래그가 지정된 open Linux 명령 또는 fsync Linux 명령 사용)

  • 애플리케이션이 파일을 닫는 경우

액세스 패턴에 따라 Amazon EFS는 close-to-open 시맨틱보다 더 강력한 일관성을 보장할 수 있습니다. 동기식 데이터 액세스를 수행하고 비추가 쓰기를 수행하는 애플리케이션은 데이터 액세스에 대한 일관성을 유지합니다. read-after-write

파일 잠금

NFS 클라이언트 애플리케이션은 Amazon EFS 파일의 읽기 및 쓰기 작업에 NFS 버전 4 파일 잠금(바이트 범위 잠금 포함)을 사용할 수 있습니다.

Amazon EFS가 파일을 잠그는 방법에 대한 다음 사항을 기억하세요.

  • Amazon EFS는 권고 잠금만 지원하므로 읽기/쓰기 작업은 실행 전에 충돌하는 잠금을 확인하지 않습니다. 예를 들어 원자 연산으로 인한 파일 동기화 문제를 방지하려면 애플리케이션이 NFS 시맨틱 (예: 일관성) 을 인식해야 합니다. close-to-open

  • 연결된 모든 인스턴스와 파일에 액세스하는 사용자에 걸쳐 특정 파일 하나에 최대 512개의 잠금이 있을 수 있습니다.

EFS 스토리지 클래스

Amazon EFS는 다양한 데이터 스토리지 요구 사항에 맞는 다양한 스토리지 클래스를 제공합니다. Standard는 데이터가 기록되는 첫 번째 스토리지 클래스이며 자주 액세스하는 데이터를 위한 스토리지 클래스입니다. 액세스 빈도가 낮은 파일의 경우 Amazon EFS는 EFS Infrequent Access(IA) 및 EFS Archive 스토리지 클래스를 제공합니다. IA 스토리지 클래스는 분기마다 몇 번 액세스하는 데이터의 비용을 최적화하고 Archive 스토리지 클래스는 매년 몇 번 또는 그 이하로 액세스하는 데이터의 비용을 최적화합니다. EFS 스토리지 클래스에 대한 자세한 내용은 EFS 스토리지 클래스 섹션을 참조하세요.

수명 주기 관리

수명 주기 전반에 걸쳐 비용 효율적으로 저장되도록 파일 시스템을 관리하려면 수명 주기 관리를 사용하십시오. 수명 주기 관리는 파일 시스템에 정의된 수명 주기 구성에 따라 스토리지 클래스 간에 데이터를 자동으로 전환합니다. 수명 주기 구성은 파일 시스템 데이터를 다른 스토리지 클래스로 전환할 시기를 정의하는 일련의 수명 주기 정책입니다.

자세한 설명은 파일 시스템 스토리지 관리 섹션을 참조하세요.

EFS 복제

복제를 사용하여 원하는 대로 Amazon EFS 파일 시스템의 복제본을 생성할 수 있습니다. 복제는 EFS 파일 시스템의 데이터와 메타데이터를 사용자가 선택한 시스템에서 생성된 새 대상 EFS 파일 시스템에 자동으로 투명하게 복제합니다. AWS 리전 AWS 리전

복제본을 이용하여 Amazon EFS는 소스 및 대상 파일 시스템을 자동으로 동기화된 상태로 유지합니다. Replication은 지속적이며 Recovery Point Objective(RPO) 및 Recovery Time Objective(RTO)를 제공하도록 설계되었습니다. 이러한 기능은 규정 준수 및 비즈니스 연속성 목표를 달성하는 데 도움이 됩니다. 자세한 내용은 파일 시스템 복제을(를) 참조하세요.