AWS(Amazon Web Service)

[AWS] EC2의 Storage 옵션

yunseohhe 2024. 8. 27. 23:44

1. EBS Volume(볼륨)

  • EC2 인스턴스의 스토리지 옵션중에 가장 중요한 옵션이다.
  • Elastic Block Store(일랙스틱 블록 스토어)의 줄임말이다.
  • 인스턴스가 종료된 후에도 데이터를 지속할 수가 있다.(= EBS를 사용하는 목적!!)
      : 사용자가 인스턴스를 재생성하고 이전 EBS 볼륨을 마운트하면 데이터를 다시 받을 수 있다.
  • "네트워크 USB 스틱"이라고 생각하면 된다.
      : USB스틱처럼 한 컴퓨터에서 꺼내, 다른 컴퓨터에 꽂는 그런 장치는 맞지만 물리적 연결은 없이 네트워크를 통해 연결되는 것이다.
  • 생성
      : 특정 가용 영역에서만 가능하다.
      : 고정되어 있기 때문에, 예를 들어 us-east-1a에 생성된 볼륨은 us-east-1b로 연결이 불가능하다.
      : 단, "스냅샷"을 이용하면 다른 가용 영역으로도 볼륨을 옮길 수는 있다.
  • 볼륨이기 때문에 용량을 미리 결정해야 합니다.
      : 원하는 양의 GB, IOPS 등, 즉 단위 초당 전송 수를 미리 지정해야 한다.
      : 무료 등급으로는 매달 30GB의 EBS 스토리지를 범용 SSD 혹은 마그네틱 유형으로 제공된다.
  • 삭제
      : EC2 인스턴스 종료 시 EBS 행동을 제어할 수 있다.
      : 밑의 이미지처럼 끝에서 두 번째 열에 종료 시 삭제 옵션이 있다.
      : 기본설정 인스턴스 종료와 함께 삭제되도록 설정 되어 있다.

EBS 삭제 기능(출처 : ccp 강의)

 

(출처 : 구글이미지)

  • US-EAST-1A
     : EC2 인스턴스 하나에 EBS 볼륨 하나가 연결되어있다.
     : EC2 인스턴스 하나에 두 개의 EBS 볼륨이 연결되어 있다.(원래 고유한 EBS 볼륨이 따로 연결되어 있어야 하지만 문제는 없다!)
  • US-EAST-1B
     : EC2 인스턴스와 마찬가지로 EBS 볼륨도 특정 가용 영역 내로 한정된다.
     : EBS 볼륨을 생성한 후 연결하지 않고 그대로 둘 수도 있다.(꼭 EC2 인스턴스에 연결될 필요가 없다)

 

cf )

  • CCP 레벨 : 하나의 EBS는 하나의 EC2인스턴스에만 마운트가 가능하다.
  • SAA 레벨 : 일부 EBS 다중 연결

 

cf ) EBS 다중 연결 (Multi-Attach)

EBS 볼륨은 여러 인스턴스에 연결 될 수 없다고 했지만 io1과 io2 볼륨 타임에서 연결이 가능하며 이것을 EBS Multi-Attach(EBS 다중 연결)이라 부른다.

 

 

   - EBS Snapshots(스냅샷)

  • 우리가 원하는 특 시점의 상태를 백업으로 남겨 놓는다는 개념이다.
  • 해당 EBS 볼륨이 추후 삭제된다고 해도 해당 백업을 통해서 복구할 수 있다.
  • 백업 생성을 위해 백업 전 볼륨을 분리시킬 필요는 없으나 분리를 권장하긴 한다.(= EBS 볼륨이 깔끔하도록 정리하는 셈이다.)
  • 여러 가용 영역과 리전 간 복제에도 사용 가능하다.(= 데이터 일부를 AWS내의 다른 리전으로 전송할 수 있는 것)

가용영역 간 복제 이미지 (출처 : ccp 강의)

  • EBS Snapshots Archive(스냅샷 아카이브)
     : 스냅샷을 또 다른 스토리지 티어인 "아카이브 티어"로 옮길 수 있다.
     : 단, 아카이브를 복원하는데 24시간~72시간의 시간이 소요되므로 미리 생각하고 옮겨야된다.
     : 최대 75%까지 저렴한 아
  • EBS Snapshots Recycle(스냅샷 휴지통)
    : 휴지통을 설정하면 삭제한 모든 스냅샷이 휴지통에 보관된다.
    : 1년까지는 스냅샷이 휴지통에서 보관된 후에 삭제가 된다.
  • FSR(Fast Snapshot Restore, 빠른 스냅샷 복원)
    : 스냅샷을 완전 초기화해 첫 사용에서의 지연 시간을 없애는 기능이다.
    : 스냅샷이 아주 크고 EBS 볼륨 또는 EC2 인스턴스를 빠르게 초기화해야 할 때 특히 유용하다.(하지만, 비용이 많이 드니 사용에 주의해야한다.)

 

   - AMI (Amazon Machine Image)

  • 사용자 지정 EC2 인스턴스이다.
  • AMI로 AWS를 구축할 수도 있고, 사용자가 원하는대로 변경 할 수도 있다.
      : AMI에다 원하는 소프트웨어 또는 설정 파일을 추가하거나 별도의 운영 체제를 설치할 수도 있고 모니터링 툴을 추가할 수도 있다.
  • 자체적으로 AMI를 생성하면 부팅과 구성 시간이 단축된다.(= 우리의 EC2 인스턴스에 설치하고자 하는 모든 소프트웨어가 AMI를 통해서 사전에 패키징 되기 때문이다.)
  • 아마존 Linux 2 AMI
     : AWS에서 매우 인기 있는 AMI로, AWS가 자체적으로 제공하고 있다.
  • AWS MarketplaceAMI(마켓플레이스)
     : AMI에서 EC2 인스턴스를 실행할 수 있는데 이것은 다른 사람이 구축한 이미지를 사용하는 것이다.(= 구매한 이미지)
     - 예시 : 기업에서 자체적으로 AMI를 구성해 자신들이 만든 소프트웨어를 넣고 구성까지 마친 다음 마켓플레이스 AMI를 통해 사용자들에게 판매하는 것이다.
  • AMI를 직접 만들면 유지, 관리도 직접 해야한다.
     : 자동 관리 도구가 있긴 하지만 서버 사용자라면 직접 관리할 줄 알아야한다.
  • AMI는 EC2 인스턴스에서 어떻게 처리될까?
     - 먼저 EC2 인스턴스를 원하는 대로 설정해준다.
     - 그런 다음 인스턴스를 중지해 데이터 무결성을 확보한다.
     - 이 인스턴스를 바탕으로 AMI를 구축한다.
     - 위에까지의 과정에서 EBS 스냅샷이 생성된다. 그럼 다른 AMI에서 인스턴스를 실행할 수 있을 것이다.

EC2 인스턴스의 AMI 처리 (출처 : ccp 강의)

  • US-EAST-1A에 있는 인스턴스를 실행하고 설정을 변경한 다음, 사용자 지정 AMI를 만든다.
  • 그런 다음 이 AMI에서 US-EAST-1B를 실행하는 것이다. 그러면 이 안에 EC2 인스턴스의 복사본이 생성된다.

 

   - EC2 Image Builder(이미지 빌더)

  • 가상 머신이나 컨테이너 이미지 생성을 자동화하는데 사용한다.
  • EC2 인스턴스에 대한 AMI의 생성, 유지, 검증 및 테스트를 자동화 할 수 있다.
  • 실행 : 빌더 EC2 인스턴스를 생성한다 그 EC2인스턴스는 구성요소를 구축하고 소프트웨어를 사용자 정의하게 된다 작업이 완료되면 EC2 인스턴스에서 AMI가 생성된다 (이미지 빌더는) 해당 AMI에서 테스트 EC2 인스턴스를 자동으로 생성한다(미리 만들어놓은 테스트로)  테스트가 완료되면 AMI를 여러 지역에 배포할 수 있다

이미지 빌더 실행 (출처 : ccp 강의)

 

 

2. EC2 Instace Store

  • 해당하는 물리적 서버에 연결된 하드웨어 드라이브를 가리킨다.
  • I/O 성능 향상을 위해 활용할 수 있다.
  • 훌륭한 처리량을 갖추고 있어서 매우 향상된 디스크 성능을 요할 때에 활용할 수 있도록 확보할 필요가 있다.
  • 주의할 점 : EC2 인스턴스 스토어를 중지 또는 종료하면 해당 스토리지 또한 손실된다.
  • "버퍼나 캐시, 스크래치 데이터 또는 임시 콘텐츠" 사용하는 경우에 적합하다.(장기 스토리지의 경우는 "EBS"가 적합하다)

 

3. EFS(Elastic File System)

  • 엘라스틱 파일 시스템을 뜻하고, 관리형 네트워크 파일 시스템이다.
  • 장점 : 시스템을 한 번에 수백개의 EC2 인스턴스에 마운트 할 수 있다.
  • 단, Linux EC2 인스턴스에서만 사용 가능하다.
  • 여러 가용 영역(AZ)에서 사용 가능한데, 하나의 가용 영역에 있는 인스턴스에 연결되었다고해도 같은 EFS 볼륨을 다른 가용 영역의 인스턴스와 연결할 수 있다.
  • 가용성과 확장성이 높은 만큼 비용이 비싸다.(단, 사용량에 따라 지불하고 요금제는 없다.)

 

cf ) EBS와 EFS의 차이점

  • EBS는 두 개의 가용 영역이 있을 때, 하나의 가용 영역에 대한 하나의 인스턴스에만 연결된다. (특히, EBS 볼륨은 특정 가용영역에 대해서만 한정) 한 가용 영역의 EBS 볼륨을 다른 가용영역으로 옮기려면 스냅샷을 생성하고 새로운 가용 영역에 해당 EBS 볼륨을 복구해야한다.(동기화가 아니라 복제임)
  • EFS는 드라이브 내 모든 내용은 마운트된 다른 시스템과 공유된다. 

EBS vs EFS (출처 : ccp 강의)