3 분 소요

[AWS]Amazon EBS/EFS, AWS Backup

Amazon EBS/EFS 그리고 AWS Backup

1. Elastic Block Store (EBS)

image-20241211033941210

EBS 정의 및 특징

  • EBS (Elastic Block Store): AWS에서 제공하는 고성능 블록 스토리지.
    • EC2 인스턴스에 연결 가능하며, 네트워크를 통해 데이터 접근.
    • EC2 인스턴스 종료 후에도 데이터를 영구적으로 보관 가능.
    • 데이터베이스, 파일 시스템, 애플리케이션 로그 저장 등 다양한 워크로드 지원.

EBS 특징

  1. 지역 제한
    • EBS 볼륨은 특정 가용 영역(Availability Zone, AZ)에 속하며, 다른 AZ로 이동 시 스냅샷 복원이 필요함.
  2. 확장성
    • 볼륨 크기와 IOPS는 필요에 따라 확장 가능.
    • 축소는 불가능하며, 용량 증가 시 자동 데이터 재배치 수행.
  3. 성능 계층
    • General Purpose SSD (gp2/gp3): 범용 워크로드에 적합한 저비용 SSD 스토리지.
    • Provisioned IOPS SSD (io1/io2): 높은 IOPS가 필요한 데이터베이스 워크로드에 적합.
    • Throughput Optimized HDD (st1): 대규모 시퀀스 읽기/쓰기 워크로드에 적합.
    • Cold HDD (sc1): 자주 액세스하지 않는 데이터에 최적화된 저비용 스토리지.

EBS 추가 기능

  1. Delete on Termination
    • EC2 인스턴스 종료 시, 루트 볼륨을 자동 삭제할지 여부를 설정.
    • 데이터 보존 필요 시 비활성화 가능.
  2. Elastic Volumes
    • 인스턴스 연결 상태에서 볼륨 크기, 유형, IOPS 변경 가능.
    • 다운타임 없이 실시간으로 조정 가능.
  3. EBS 스냅샷
    • EBS 볼륨의 스냅샷을 생성하여 데이터를 백업하거나 복제 가능.
    • 증분 스냅샷 방식으로 저장 공간 절약.

사용 사례

  • 관계형 데이터베이스(MySQL, PostgreSQL).
  • 빅데이터 워크로드(Hadoop, Spark).
  • NoSQL 데이터베이스(Cassandra, MongoDB).
  • 데이터 엔지니어링 예시:
    • 데이터베이스 스냅샷을 통해 데이터 복구 지점을 생성.
    • Apache Airflow와 통합하여 정기적인 데이터 처리 및 결과 저장.

2. Amazon EFS (Elastic File System)

image-20241211034010469

EFS 정의

  • EFS (Elastic File System): AWS의 완전 관리형 네트워크 파일 시스템.
    • EC2 인스턴스와 공유 파일 스토리지를 제공하며, 다중 AZ에서 액세스 가능.
    • 자동 확장 기능으로 파일 시스템 크기를 동적으로 조정.

EFS 특징

  1. POSIX 호환
    • UNIX 기반 애플리케이션과 호환 가능.
    • 디렉토리 구조, 파일 권한, 심볼릭 링크 지원.
  2. 고가용성 및 내구성
    • 데이터를 다중 AZ에 복제하여 높은 가용성과 내구성 제공.
  3. 스토리지 클래스
    • Standard: 고빈도 데이터 액세스에 적합.
    • Infrequent Access (IA): 자주 사용하지 않는 데이터 저장 시 비용 절감 가능.
    • Lifecycle Management: 7일 이상 미사용 데이터를 자동으로 IA로 이동 가능.
  4. 암호화
    • 데이터 전송 중 및 저장 중 암호화 지원.
    • AWS KMS(Key Management Service) 통합.

사용 사례

  • 빅데이터 분석과 머신러닝.
  • 미디어 처리 및 콘텐츠 관리.
  • DevOps 환경에서의 공유 파일 시스템.
  • 데이터 엔지니어링 예시:
    • Spark 클러스터의 공유 파일 저장소로 사용하여 작업 결과 저장.
    • DataPipeline에서 중간 파일 저장소로 활용.

3. EBS와 EFS 비교

| 특성 | EBS | EFS | | ——————— | ———————— | ———————— | | 연결성 | 단일 EC2 인스턴스 | 다중 EC2 인스턴스 | | 확장성 | 크기 수동 조정 | 자동 확장 | | 성능 | 높은 IOPS 제공 | 여러 워크로드 동시 지원 | | 비용 | 상대적으로 저렴 | 상대적으로 비쌈 | | 사용 사례 | 데이터베이스, 로그 저장 | 웹 서버, 데이터 공유 | | 데이터 엔지니어링 | 데이터베이스 스냅샷 관리 | Spark 클러스터 공유 파일 |


4. AWS Backup

image-20241211034048209

AWS Backup 정의

  • AWS Backup은 백업 및 복구 작업을 중앙에서 관리하는 완전 관리형 서비스.
  • Amazon EBS, RDS, DynamoDB, EFS 등 여러 AWS 서비스와 통합 가능.
  • 재해 복구 및 데이터 보호를 위한 백업 정책 자동화 지원.

주요 기능

  1. 중앙 관리
    • AWS 리소스의 백업 작업을 단일 콘솔에서 관리.
    • 여러 계정과 리전에 걸쳐 백업 정책 적용 가능.
  2. 백업 계획(Backup Plan)
    • 백업 빈도, 보존 기간 설정.
    • 교차 리전 복제를 통해 데이터 보호 강화.
  3. Vault Lock
    • 백업 볼트를 변경/삭제로부터 보호.
    • WORM (Write Once, Read Many) 정책 적용 가능.
  4. 자동화 및 스케줄링
    • 백업 프로세스를 자동화하여 운영 효율성 증대.

복구 기능

  • 스냅샷 복구 및 EFS 파일 시스템 복원 지원.
  • 백업 데이터는 AWS Backup 콘솔에서 복구 가능.

비용

  • 백업 저장 용량 및 복제 작업에 따른 과금.
  • 교차 리전 복제와 장기 보존 시 추가 비용 발생.

데이터 엔지니어링 예시

  • 주기적인 데이터베이스 백업으로 손실 가능성 최소화.
  • Athena 쿼리를 위한 정기적인 S3 데이터 스냅샷 생성.
  • Amazon Glue 작업과 연결하여 데이터 복구 워크플로 구현.

5. 추가 참고사항

백업 관리 모범 사례

  • 정기적인 복구 테스트 실행으로 신뢰성 확보.
  • 백업 보존 정책 설정으로 비용 최적화.
  • 민감 데이터는 암호화하여 저장.
  • 데이터 엔지니어링 관점:
    • S3 데이터 레이크 백업 및 복구.
    • 빅데이터 파이프라인의 재사용 가능 복구 포인트 설정.

AWS 스토리지 서비스와 백업 옵션은 다양한 워크로드에 맞게 설계되었으며, 운영 환경에 따라 적절히 활용하면 비용 효율성과 보안성을 동시에 달성 가능.

댓글남기기