[AWS Cloud 이론] Storage (1) EFS

이지IT
|2023. 5. 24. 10:31
반응형
 

EFS(Elastic File System)

AWS EFS(Elastic File System)는 Amazon Web Services(AWS)에서 제공하는 확장 가능하고 완전하게 관리되는 파일 스토리지 서비스입니다. Amazon EC2(Elastic Compute Cloud) 인스턴스 및 기타 AWS 서비스와 함께 사용할 수 있는 공유 파일 스토리지를 제공합니다.

주요 기능

 

  1. 확장성
    EFS는 사실상 무제한의 저장 용량을 제공하여 임의의 수의 파일과 디렉터리를 저장하고 검색할 수 있습니다. 파일을 추가하거나 제거할 때 자동으로 확장되므로 수동 개입 없이도 필요한 용량을 확보할 수 있습니다.

  2. 공유 파일 스토리지
    EFS를 사용하면 여러 EC2 인스턴스가 동시에 동일한 파일 시스템에 액세스하고 공유할 수 있습니다. 따라서 여러 인스턴스 간에 협업과 데이터 공유가 가능하므로 콘텐츠 관리, 웹 서비스, 빅 데이터 분석과 같은 사용 사례에 적합합니다.

  3. POSIX 호환 파일 시스템
    EFS는 POSIX(휴대용 운영 체제 인터페이스) 표준과 호환되도록 설계되었으므로 기존 파일 시스템 시맨틱을 기대하는 애플리케이션 및 도구와 함께 사용할 수 있습니다. 따라서 코드를 변경하지 않고도 기존 애플리케이션을 EFS로 쉽게 마이그레이션할 수 있습니다.

  4. 성능
    EFS는 파일 작업을 위한 저지연 성능과 높은 처리량을 제공합니다. 소규모 파일 작업부터 대규모 데이터 집약적 애플리케이션에 이르기까지 광범위한 워크로드를 처리하도록 설계되었습니다.

  5. 탄력성
    EFS는 파일 시스템이 성장함에 따라 처리량을 자동으로 확장하므로 수동 조정 없이도 원하는 수준의 성능을 달성할 수 있습니다. 따라서 유연성과 적응성이 필요한 동적 워크로드에 적합합니다.

  6. 지역 및 AZ 간 가용성
    EFS 파일 시스템은 AWS 리전 내의 여러 가용 영역에서 액세스할 수 있으므로 높은 가용성과 내구성을 제공합니다. 따라서 가용 영역이 사용할 수 없게 되더라도 데이터를 복제하고 액세스할 수 있습니다.

  7. 보안 및 액세스 제어
    EFS는 AWS IAM(Identity and Access Management)과 통합되어 파일 시스템 및 파일에 대한 액세스를 제어합니다. IAM 역할과 정책을 사용하여 세분화된 권한을 정의하여 사용자 역할과 그룹에 따라 액세스를 제한할 수 있습니다.

  8. 백업 및 복원
    EFS는 AWS 백업을 통해 기본 제공 백업 및 복원 기능을 제공합니다. 파일 시스템의 예약 백업을 생성하고 필요할 때 쉽게 복원할 수 있어 우발적인 데이터 손실을 방지할 수 있습니다.

  9. 비용 효율적
    EFS는 사용한 스토리지와 처리량에 대해서만 비용을 지불하는 종량제 요금 모델을 제공합니다. 선불 비용이나 최소 약정이 없으므로 다양한 워크로드에 비용 효율적으로 사용할 수 있습니다.

  10. 다른 AWS 서비스와의 통합
    EFS는 Amazon ECS(Elastic Container Service), AWS Lambda, Amazon EKS(Elastic Kubernetes Service)와 같은 다양한 AWS 서비스와 원활하게 통합됩니다. 따라서 컨테이너화된 애플리케이션과 서버리스 기능을 위한 공유 스토리지로 EFS를 사용할 수 있습니다.

AWS EFS는 콘텐츠 관리, 웹 서비스, 데이터 공유, 애플리케이션 스토리지 등 다양한 사용 사례에 사용할 수 있는 다용도 확장형 파일 스토리지 솔루션입니다. 유연성, 성능, 사용 편의성 덕분에 AWS 클라우드에서 파일 기반 워크로드를 관리하는 데 널리 사용됩니다.

 

목차로 이동

 

EFS Access Point

AWS EFS 액세스 포인트는 파일 시스템에 대한 세분화된 액세스 제어를 제공할 수 있는 Amazon EFS(Elastic File System)의 기능입니다. 액세스 포인트는 클라이언트가 EFS 파일 시스템 내의 특정 디렉터리에 액세스할 수 있는 고유한 진입점 역할을 하므로 보다 세분화된 수준에서 액세스를 관리할 수 있습니다. 

주요 특징

 

  1. 디렉터리 수준 액세스 제어
    EFS 액세스 포인트를 사용하면 파일 시스템 내의 디렉터리 수준에서 권한을 설정할 수 있습니다. 즉, 요구 사항에 따라 여러 디렉터리에 서로 다른 수준의 액세스 권한을 부여할 수 있습니다.

  2. 격리 및 보안
    각 액세스 포인트에는 고유한 보안 구성과 네트워크 파일 시스템(NFS) 내보내기 옵션이 있습니다. 이를 통해 데이터를 격리 및 분리하여 파일 시스템 내의 여러 디렉터리에 대해 서로 다른 보안 정책과 액세스 제어를 적용할 수 있습니다.

  3. 간소화된 클라이언트 구성
    액세스 포인트를 사용하면 클라이언트에 고유한 액세스 포인트 식별자를 제공하여 클라이언트 구성을 간소화할 수 있습니다. 그러면 클라이언트는 전체 파일 시스템 경로를 지정할 필요 없이 액세스 포인트를 직접 마운트할 수 있습니다.

  4. POSIX 권한
    액세스 포인트는 POSIX 권한을 지원하므로 표준 UNIX 스타일 권한을 사용하여 디렉터리 및 파일에 대한 액세스를 제어할 수 있습니다. 읽기, 쓰기 및 실행 권한을 포함하여 소유자, 그룹 및 기타 사용자에 대한 권한을 설정할 수 있습니다.

  5. IAM 및 AWS 조직과 통합
    액세스 포인트는 AWS IAM(신원 및 액세스 관리)과 통합되므로 IAM 정책을 사용하여 EFS 파일 시스템에 대한 액세스를 관리할 수 있습니다. 또한 AWS 조직을 사용하여 여러 계정에 걸쳐 액세스 제어 정책을 관리하고 적용할 수 있습니다.

  6. POSIX 사용자 및 그룹 ID로 세분화된 액세스
    액세스 포인트를 사용하면 POSIX 사용자 및 그룹 ID를 사용하여 액세스를 제어할 수 있습니다. 이를 통해 액세스 포인트 내에서 특정 사용자 및 그룹 권한을 매핑하고 적용하여 보다 세분화된 액세스 제어를 제공할 수 있습니다.

  7. 보안 및 규정 준수 개선
    액세스 포인트를 사용하면 특정 디렉터리에 대한 액세스를 제한하고, 최소 권한 액세스를 구현하고, 파일 시스템 전체에 일관된 액세스 제어를 적용하여 보안 및 규정 준수를 강화할 수 있습니다.

  8. 간소화된 데이터 관리
    액세스 포인트는 EFS 파일 시스템 내에서 데이터를 구성하고 관리하는 데 사용할 수 있습니다. 서로 다른 애플리케이션, 팀 또는 프로젝트를 나타내는 여러 액세스 포인트를 생성하여 특정 데이터 세트에 대한 액세스를 더 쉽게 관리하고 제어할 수 있습니다.

  9. 기존 애플리케이션과의 호환성
    액세스 포인트는 표준 NFS 프로토콜을 사용하는 기존 애플리케이션과 호환되므로 코드를 변경하지 않고도 기존 워크플로우에 원활하게 통합할 수 있습니다.

EFS 액세스 포인트는 디렉터리 수준에서 EFS 파일 시스템에 대한 액세스를 유연하고 안전하게 관리할 수 있는 방법을 제공합니다. 향상된 보안, 간소화된 클라이언트 구성, 데이터 액세스에 대한 더 나은 제어를 제공하므로 AWS에서 파일 기반 워크로드를 관리하기 위한 강력한 기능입니다.

 

목차로 이동

 

EFS 사용 시 염두해야할 것들

AWS EFS(Elastic File System)를 사용할 때, 최적의 성능, 비용 효율성 및 데이터 무결성을 보장하기 위해 염두에 두어야 할 몇 가지 고려 사항에 대해 이야기 해보도록 하겠습니다.

  1. 네트워크 지연 시간
    EFS 성능은 네트워크 지연 시간의 영향을 받으므로, 지연 시간을 최소화하려면 EFS 파일 시스템과 관련 리소스(예: EC2 인스턴스)를 동일한 AWS 리전에 배포하는 것이 중요합니다.

  2. 처리량 모드
    EFS는 두 가지 처리량 모드를 제공합니다.
    • 버스팅 모드: 파일 시스템 크기에 따라 처리량을 자동으로 확장하므로 대부분의 워크로드에 적합합니다.
    • 프로비저닝 모드: 예측 가능한 고처리량 워크로드에 권장되지만 수동 구성이 필요하고 추가 비용이 발생합니다.

  3. 파일 시스템 버스팅
    버스팅 처리량 모드에서 EFS는 버스트 크레딧을 사용하여 기준선보다 높은 처리량을 제공합니다. 지속적인 성능을 보장하려면 버스트 크레딧을 모니터링하고 관리하는 것이 중요합니다. 버스트 크레딧을 소진하면 크레딧이 보충될 때까지 성능이 제한될 수 있습니다.

  4. 초당 파일 작업 수(IOPS)
    EFS는 많은 수의 파일 작업을 처리하도록 설계되었지만, I/O 워크로드가 매우 많으면 성능 제한이 발생할 수 있습니다. 애플리케이션에 매우 높은 IOPS가 필요한 경우 워크로드를 최적화하거나 여러 EFS 파일 시스템에 분산하는 것을 고려하세요.

  5. 암호화
    EFS는 AWS 키 관리 서비스(KMS)를 사용하여 미사용 시 암호화를 지원합니다. 암호화를 활성화하면 데이터의 기밀성과 무결성이 보장됩니다. 하지만 암호화로 인해 추가적인 오버헤드가 발생할 수 있으므로 성능에 미치는 영향을 고려하여 적절한 KMS 키 구성을 선택해야 합니다.

  6. 수명 주기 관리
    수명 주기 정책을 구현하여 스토리지 클래스 간에 파일을 자동으로 전환하세요. 이렇게 하면 액세스 빈도가 낮은 데이터를 EFS IA(자주 액세스하지 않는 데이터)와 같은 더 저렴한 스토리지 계층으로 이동하여 비용을 최적화할 수 있습니다.

  7. 모니터링 및 알람
    CloudWatch 알람을 설정하여 EFS 파일 시스템의 성능, 버스트 크레딧 사용률 및 기타 지표를 모니터링하세요. 이를 통해 잠재적인 문제를 사전에 식별하고 최적의 성능을 유지하기 위해 필요한 조치를 취할 수 있습니다.

  8. 동시 파일 수정
    EFS는 세분화된 파일 잠금 메커니즘을 제공하지 않으므로 여러 클라이언트가 동일한 파일을 동시에 수정하면 충돌이 발생할 수 있습니다. 데이터 손상을 방지하기 위해 애플리케이션이 동시 액세스를 적절하게 처리하는지 확인하세요.

  9. 권한 및 보안
    권한 및 보안 그룹을 적절히 구성하여 EFS 파일 시스템에 대한 액세스를 제어하세요. EFS 액세스 포인트 및 IAM 정책을 활용하여 세분화된 액세스 제어를 구현하고 특정 디렉터리 또는 클라이언트에 대한 액세스를 제한하세요.

  10. 백업 및 복구
    EFS는 가용성과 내구성이 뛰어나도록 설계되었지만 백업 및 복구 전략을 구현하는 것이 여전히 중요합니다. AWS 백업과 같은 도구를 사용하여 중요한 데이터를 정기적으로 백업하고, 복원 프로세스를 테스트하여 데이터 무결성을 보장하세요.

이러한 점을 고려하면 성능을 효과적으로 최적화하고, 비용을 관리하고, 데이터 보안을 보장하고, AWS EFS 파일 시스템의 안정성을 유지할 수 있습니다.

 

목차로 이동

 

EFS 생성하기

EFS 생성은 굉장히 간단합니다. 다음 순서를 따라가 봅시다.

"파일 시스템 생성" 버튼을 클릭합니다.
이름과 EFS를 이용할 VPC를 선택해줍니다. 그 후 "생성" 버튼을 클릭하면 완성됩니다.

이 EFS를 사용하는 방법에 대해서는 아직 진행이 안되서 학습이 진행되면 바로 포스팅하도록 하겠습니다.

 

목차로 이동

반응형