AWS[EBS,EFS]

정지범·2023년 12월 27일
0

aws

목록 보기
4/26

EBS Volume

  • EBS (Elastic Block Store) 볼륨은 인스턴스가 실행되는 동안 연결할 수 있는 네트워크 드라이브이다.
  • 인스턴스가 종료된 후에도 데이터를 지속적으로 유지할 수 있도록 해준다.
  • CCP 레벨에서 한 번에 하나의 인스턴스에만 마운트될 수 있다.
    • CCP 레벨: 하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능
    • Associate 레벨: 일부 EBS 다중 연결
  • 특정 가용 영역에 바인딩된다.
  • "네트워크 USB 스틱"으로 생각해볼 수 있다!
  • Free tier: 매달 30GB의 EBS 스토리지를 범용 SSD 혹은 마그네틱 유형으로 제공한다.

EBS Volume

  • It’s a network drive (i.e. not a physical drive)
    • 인스턴스와 통신하기 위해 네트워크를 사용하기 때문에 약간의 지연이 발생할 수 있음.
    • EC2 인스턴스에서 분리하여 다른 인스턴스에 빠르게 연결할 수 있음.
  • It’s locked to an Availability Zone (AZ).
    • us-east-1a의 EBS 볼륨은 us-east-1b에 연결할 수 없음.
    • 다른 가용 영역으로 이동하려면 먼저 스냅샷을 만들어야 함.
  • Have a provisioned capacity (size in GBs, and IOPS)
    • 할당 용량에 대해 청구됨.
    • 시간이 지남에 따라 드라이브 용량을 증가시킬 수 있음.

      인스턴스 하나에 두 개의 EBS 볼륨이 연결되는 건 가능. 하지만 한 개의 EBS 볼륨이 여러 인스턴스에 연결되는 건 불가능!


EBS – Delete on Termination attribute(종료 시 삭제 속성)

  • Controls the EBS behaviour when an EC2 instance terminates
    • 기본적으로 루트 EBS 볼륨은 인스턴스 종료와 함께 삭제되도록 설정되어 있음. (attribute enabled)
    • 추가된 다른 EBS 볼륨은 삭제되지 않음. (attribute disabled)
  • AWS 콘솔 / AWS CLI에서 제어 가능
  • 사용 사례: 인스턴스가 종료될 때 루트 볼륨을 보존.

EBS Snapshots

  • EBS 볼륨의 특정 시점에 대한 백업(스냅샷)을 생성할 수 있다.
  • 스냅샷을 만들기 위해 볼륨을 분리할 필요는 없지만 권장된다.
  • 스냅샷은 AZ 또는 리전을 거쳐 복사할 수 있다.

EBS Sanpshots Features

EBS Snapshot Archive

  • 최대 75%까지 저렴한 "archive tier"로 스냅샷을 옮길 수 있는 기능.
  • 아카이브를 복원하는 데 24시간에서 최대 72시간이 걸린다. 즉시 복원되는 것이 아님.

Recycle Bin for EBS Snapshots

  • 실제로 삭제하는 경우를 대비해, 이미 삭제된 스냅샷을 보관하고 필요 시 복원할 수 있도록 규칙을 설정할 수 있음.
  • 삭제 후 유지할 스냅샷 보존 기간은 1일부터 1년까지 지정 가능.

Fast Snapshot Restore (FSR)

  • 첫 사용 시 지연 시간을 없애기 위해 스냅샷의 전체 초기화를 강제로 실행하는 기능 ($$$)

AMI (Amazon Machine Image)

  • AMI are a customization of an EC2 instance.
    • 소프트웨어, 구성, 운영 체제, 모니터링 등을 직접 추가할 수 있음.
    • 모든 소프트웨어가 미리 패키지되어 있으므로 부팅 및 구성 시간이 더욱 빠름.
  • AMI are built for a specific region (and can be copied across regions)
  • You can launch EC2 instances from:
    • A Public AMI: AWS에서 제공하는 AMI
    • Your own AMI: 직접 만들고 유지 관리하는 AMI
    • AWS Marketplace AMI: 다른 사람이 구축한 AMI (혹은 판매하는 AMI)

AMI Process (from an EC2 instance)

  • EC2 인스턴스를 시작하고 원하는대로 설정해준다.
  • 데이터 무결성을 위해 인스턴스를 중지한다.
  • AMI를 빌드한다. (이 과정에서 EBS 스냅샷도 생성된다.)
  • 다른 AMI에서 인스턴스를 시작한다.

ECS Instance Store

EBS 볼륨은 성능은 좋지만 "제한적인" 네트워크 드라이브이다. 따라서 고성능 하드웨어 디스크가 필요한 경우 EC2 인스턴스 스토어(EC2 Instance Store)를 사용할 수 있다. 인스턴스 스토어는 인스턴스에 블록 수준의 임시 스토리지를 제공한다. 스토리지는 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치한다.

  • I/O 성능 향상
  • 인스턴스를 중지하거나 최대 절전 모드로 전환하거나 종료하면 인스턴스 스토어의 모든 스토리지 블록이 리셋됨.
  • 버퍼 / 캐시 / 스크래치 데이터 / 일시적인 콘텐츠에 적합함.
  • EC2 인스턴스의 기본 서버에 장애가 발생할 시에는 해당 EC2 인스턴스가 연결된 하드웨어에도 - 장애가 발생하므로 데이터 손실에 대한 위험이 존재함.
  • 백업과 복제는 사용자의 책임!

EBS Volume Types

EBS 볼륨의 6가지 유형:

  • gp2 / gp3 (SSD): 범용 SSD 볼륨. 다양한 작업에 대해 가격과 성능을 균형있게 유지함.
  • io1 / io2 (SSD): 최고 성능의 SSD 볼륨. 미션 크리티컬한 저지연 또는 고처리량 작업에 사용함.
  • st1 (HDD): 저비용 HDD 볼륨. 자주 액세스되는 처리량 중심 작업을 위해 설계됨.
  • sc1 (HDD): 최저 비용 HDD 볼륨. 접근 빈도가 낮은 워크로드를 위해 설계됨.

    EBS 볼륨은 크기, 처리량, IOPS(I/O Ops Per Sec)에 의해 정의된다.
    Only gp2/gp3 and io1/io2 can be used as boot volumes!

EBS - Volume Types Summary


EBS Multi-Attach - io1 / io2 family

  • 동일한 EBS 볼륨을 동일한 가용 영역 내의 여러 EC2 인스턴스에 연결 가능.
  • 각 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 가짐.
  • 사용 사례:
    • 클러스터링된 Linux 응용 프로그램 (예: Teradata)에서 더 높은 응용 프로그램 가용성 달성
    • 애플리케이션이 동시 쓰기 작업을 관리해야할 때 사용.
  • 최대 16개의 EC2 인스턴스 동시 연결 가능.
  • 다중 연결을 실행하기 위해서는 클러스터 인식 파일 시스템을 사용해야 함 (XFS, EXT4 등은 불가능)

EBS Encryption(암호화)

  • 암호화된 EBS를 생성하면 암호화가 동시다발적으로 일어난다.
    • 저장 데이터가 볼륨 내부에 암호화.
    • 인스턴스와 볼륨 간의 전송 데이터 또한 암호화.
    • 모든 스냅샷 암호화.
    • 스냅샷에서 생성된 볼륨 암호화.
  • 암호화 및 복호화 매커니즘은 보이지 않게 처리되고, (사용자가 직접 처리할 필요가 없음.)
  • 암호화는 지연 시간에 영향을 거의 미치지 않음.
  • KMS에서 암호화 키를 생성하여 AES-256 암호화 표준을 갖음.
  • 암호화되지 않은 스냅샷 복사를 통해 암호화할 수 있음.
  • 암호화된 볼륨의 스냅샷은 암호화됨.

Encryption: encrypt an unencrypted EBS volume(암호화되지 않은 EBS 볼륨을 암호화합니다)

1.볼륨의 EBS 스냅샷 생성.
2.EBS 스냅샷을 복사 기능을 통해 EBS 스냅샷을 암호화.
3.스냅샷에서 새 EBS 볼륨 생성. (이 볼륨 또한 암호화 됨.)
4.암호화된 볼륨을 원래 인스턴스에 연결할 수 있음!


EBS VS EFS 비교 정리!

EBS - Elastic Block Storage

  • EBS 볼륨:
    • 한 번에 하나의 인스턴스에만 연결 가능.
    • 특정 가용 영역에 한정됨.
    • gp2: 디스크 크기가 늘어나면 IO도 함께 증가함.
    • io1: IO를 볼륨 크기와 관계 없이 독립적으로 증가시킬 수 있음.
  • EBS를 다른 가용 영역으로 옮기려면
    1.스냅샷 만들기
    2.다른 AZ에서 스냅샷 복원
    3.해당 AZ에 EBS 볼륨 생성
    • EBS 백업은 IO를 사용하므로 애플리케이션이 많은 트래픽을 처리하는 동안 실행하지 않는 것이 좋음
  • 인스턴스의 루트 EBS 볼륨은 EC2 인스턴스가 종료되면 기본적으로 종료됨. (이를 비활성화할 수 있음)
  • EBS는 실제 사용한 양이 아닌 EBS 드라이브의 크기에 따라 정해진 사용량을 지불함.

Amazon EFS – Elastic File System

  • 여러 가용 영역에서 수백 개의 인스턴스를 마운트할 수 있음.
  • EFS는 WordPress 같은 웹 사이트 파일을 공유할 때에도 쓰임.
  • Linux 인스턴스 전용 (POSIX)
  • EFS는 EBS보다 높은 가격대를 가짐.
  • EFS는 사용한 만큼만 비용이 청구됨.
  • 비용 절감을 위해 EFS-IA를 활용할 수 있음.

Remember: EBS vs EFS vs Instance Store

  • EBS: 네트워크 볼륨을 한 번에 하나의 인스턴스에 연결할 수 있고 특정 AZ 내로 한정.
  • EFS: 다수의 인스턴스에 걸쳐 연결해야 하는 네트워크 파일 시스템에 적합.
  • Instance store: EC2 인스턴스에 IO를 최대로 사용하게끔 해주지만, 인스턴스가 망가지면 함께 망가지는 임시 드라이브.
profile
안녕하세요

0개의 댓글