AWS Certified Solutions Architect Associate [4] EC2 인스턴스 스토리지

CHAN LIM·2022년 7월 19일
1

EBS (Elastic Block Store) Volume

EBS Volume?

  • 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브입니다.
    • 인스턴스와 EBS 볼륨이 서로 통신을 하기 위해서는 네트워크를 필요로 합니다.
    • 네트워크가 사용되기 때문에 컴퓨터가 다른 서버에 도달할 때 지연이 생길 수 있습니다.
    • EC2 인스턴스에서 분리될 수 있고 매우 빠르게 다른 인스턴스로 연결될 수 있습니다.
  • 인스턴스가 종료된 후에도 데이터를 지속할 수 있습니다.
  • 인스턴스를 재생성하고 이전 EBS 볼륨을 마운트하면 데이터를 다시 받을 수 있습니다.
  • CCP 레벨의 EBS 볼륨은 한 번에 하나의 인스턴스에만 마운트할 수 있습니다.
    • 어소시에이트 레벨: 일부 EBS 다중 연결이 가능합니다.
    • EBS는 io1이나 io2 제품군일 때만 여러 EC2 인스턴스에 연결이 가능합니다.
      • 다중 연결로 동일한 EBS 볼륨을 동일한 가용 영역 내의 여러 EC2 인스턴스에 연결하여 사용할 수 있습니다.
      • 이때 각 EC2 인스턴스는 볼륨에 대한 전체 읽기 및 쓰기 권한을 갖습니다.
      • 반드시 클러스터 인식 파일 시스템을 사용해야 합니다.
  • EBS 볼륨을 생성할 때는 특정 가용 영역에서만 가능합니다.
    • EBS 볼륨은 특정한 가용 영역에 고정되어 있습니다.
    • 다만, 스냅샷을 이용하면 다른 가용 영역으로도 볼륨을 옮길 수 있습니다.
  • 볼륨이기 때문에 용량을 미리 결정해야 합니다
    • 따라서 원하는 양의 GB 및 IOPS, 즉 단위 초당 전송 수를 미리 지정해야 합니다.
  • 꼭 EC2 인스턴스에 연결될 필요가 없습니다.

네트워크 USB 스틱

  • 프리티어 등급으로는 매달 30GB의 EBS 스토리지를 제공합니다.

EBS - 삭제 및 종료 속성

기본 설정으로는 루트 볼륨에 체크되어 있고 새로운 EBS 볼륨에는 체크가 되어 있지 않습니다.
이 옵션을 통해 EC2 인스턴스 종료 시 EBS 행동을 제어할 수 있습니다.
기본적으로 루트 EBS 볼륨은 인스턴스 종료와 함께 삭제되도록 설정이 되어 있습니다.

  • 실사용
    • 인스턴스가 종료될 때 루트 볼륨을 유지하고자 하는 경우
    • 데이터를 저장하고자 하는 등의 경우에는
    • 루트 볼륨의 종료 시 삭제 속성을 비활성화하면 됩니다.

EBS 볼륨 종류

  • EBS 볼륨은 크기, 처리량과 IOPS로 종류를 나눕니다.
    • IOPS는 초당 I/O 작업 수를 뜻합니다.
  • EC2 인스턴스에는 gp2/gp3io1/io2만이 부팅 볼륨으로 사용될 수 있습니다.
    • 루트 OS가 실행될 위치에 해당하죠

  • EBS 볼륨은 6종류 입니다.
    • gp2 / gp3 (SSD)
      • 범용 SSD 볼륨으로 다양한 워크로드에 대해 가격과 성능의 절충안입니다.
      • 1GB - 16TB
      • gp3에서는 IOPS와 처리량을 독자적으로 설정할 수 있는 반면, gp2에서는 그 둘이 연결되어 있다는 점입니다.
    • io1 / io2 (SSD)
      • 최고 성능을 자랑하는 SSD 볼륨으로 미션 크리티컬이자 지연 시간이 낮고 대용량의 워크로드에 쓰입니다.
      • 4GB - 16TB
    • st1 (HDD)
      • 저비용의 HDD 볼륨으로 잦은 접근과 처리량이 많은 워크로드에 쓰입니다.
    • sc1 (HDD)
      • 가장 비용이 적게 드는 HDD 볼륨으로 접근 빈도가 낮은 워크로드를 위해 설계되었습니다.

EBS 스냅샷 (Snapshots)

  • 언제든 원하는 시점에 EBS 볼륨을 가지고 와서 백업하는 것입니다.
    • 즉, 추후에 EBS 볼륨을 삭제하더라도 해당 시점에 대한 백업으로 복원할 수 있는 것입니다.
  • 복원 목적도 있으나,
    가용 영역(AZ) 또는 리전(Region)에 걸친 스냅샷을 복사할 수 있기 때문입니다.
    • AZ 전반의 스냅샷을 통해 EBS 볼륨을 효과적으로 전송할 수 있습니다.

EBS 암호화

  • EBS 볼륨을 생성하면,
    • 저장 데이터가 볼륨 내부에 암호화됩니다.
    • 인스턴스와 볼륨 간의 전송 데이터 역시 암호화됩니다.
    • 스냅샷 뿐만 아니라 스냅샷으로 생성한 볼륨 역시 모두 암호화됩니다.

암호화가 동시다발적으로 일어납니다.

  • 암호화 및 복호화 메커니즘은 보이지 않게 처리되고 아무것도 하지 않아도 됩니다.
  • 백그라운드에서 EC2와 EBS가 모두 처리하기 때문입니다.
  • 종합적으로 봤을 때 암호화를 사용해야 하는 이유
    • 지연 시간에는 영향이 거의 없습니다.
    • KMS에서 암호화 키를 생성해 AES-256 암호화 표준을 갖습니다.
    • 스냅샷을 복사해 암호화를 푼 걸 다시 암호화 활성화를 합니다.

EBS 볼륨을 암호화하거나 암호화를 푸는 방법

  1. 볼륨의 EBS 스냅샷을 생성합니다.
  2. 복사 기능을 통해 EBS 스냅샷을 암호화합니다
  3. 스냅샷을 이용해 새 EBS 볼륨을 생성하면 해당 볼륨도 암호화될 것입니다.
  4. 암호화된 볼륨을 인스턴스 원본에 연결합니다.

AMI

  • AMI : Amazon Machine Image
  • 사용자 지정 (Customization) EC2 인스턴스를 나타냅니다.
    • 소프트웨어 구성에 대해 운영 체제를 정의 및 설정하며 모니터링 도구를 설정할 수도 있습니다.
    • 자체적으로 AMI를 생성하면 부팅과 구성에 시간이 단축됩니다.
      • EC2 인스턴스에 설치하고자 하는 모든 소프트웨어가 AMI를 통해서 사전에 패키징 되기 때문입니다.
  • AMI를 자체적으로 구성하고 특정 리전에 맞도록 구축함으로써 원하는 리전에 복사해 놓거나 AWS 글로벌 인프라를 활용할 수 있습니다.

  • Public AMI
    • AWS가 제공합니다.
  • 직접 생성한 AMI
    • 사용자가 직접 만들고 유지합니다.
  • AWS 마켓 플레이스 AMI
    • 다른 사용자가 만들어서 판매하는 AMI입니다.
    • AWS의 공급 업체가 자체적으로 AMI나 구성이 훌륭한 소프트웨어를 생성하고 여러분은 시간 절약을 위해 마켓 플레이스 AMI에서 이들을 구매할 수 있습니다.
    • 우리도 직접 AMI를 직접 판매할 수 있습니다.

AMI Process

  1. EC2 인스턴스를 시작하고 이를 사용자 지정으로 바꾸어 줍니다.
  2. 인스턴스를 중지시켜 데이터 무결성을 확보합니다.
  3. AMI를 구축하는데, 이때 표시되지는 않으나 EBS 스냅샷 또한 생성됩니다.
  4. 다른 AMI에서 인스턴스를 실행할 수 있게 됩니다.

EC2 인스턴스 스토어

  • EBS 볼륨은 좋은 성능에 네트워크 드라이브이지만, 그 성능은 제한적입니다.

  • 매우 좋은 성능이 필요하다면, EC2 인스턴스 스토어를 사용합니다.

    • I/O 성능이 좋습니다.
      • 이들이 훌륭한 처리량을 갖추고 있어서 매우 향상된 디스크 성능을 요할 때에 활용할 수 있도록 확보할 필요가 있습니다
    • 인스턴스 스토어를 중지 또는 종료하면 해당 스토리지 또한 손실됩니다.
      • 이를 임시 스토리지라고 부르며 EC2 인스턴스 스토어가 장기적으로 데이터를 보관할 만한 장소가 될 수 없습니다.
  • 버퍼, 캐시, 스크래치 데이터, 임시 콘텐츠에 사용하면 적합합니다.

  • EC2 인스턴스의 기본 서버에 장애가 발생할 시,
    해당 EC2 인스턴스가 연결된 하드웨어에도 장애가 발생하므로 데이터 손실에 대한 위험이 존재합니다.

    • 데이터를 백업해 두거나 복제해둬야 합니다.

Amazon EFS

  • Elastic File System : 관리된 NFS 즉 네트워크 파일 시스템
    • 따라서 여러 EC2 인스턴스에 마운트할 수 있습니다.
  • 높은 가용성으로 확장성이 뛰어납니다.
  • 하나의 네트워크 파일 시스템에 동시에 연결할 수 있습니다.
  • 활용
    • 콘텐츠 관리
    • 웹 서비스 제공
    • 데이터 공유
    • WordPress
  • 내부적으로 NFS 프로토콜을 사용합니다.
  • EFS 접근을 제어하기 위해 보안 그룹을 설정합니다.
  • Windows가 아닌 Linux 기반 AMI에만 호환이 됩니다.
  • KMS를 통해 EFS 드라이브의 저장 데이터 암호화를 활성화합니다.
  • Linux의 표준 파일 시스템으로 표준 File API를 사진 POSIX 파일 시스템입니다.
  • EFS의 장점은 용량을 미리 정하지 않아도 됩니다.
    • 파일 시스템이 자동으로 확장되고 EFS에서 사용하는 데이터의 1GB마다 비용을 지불하면 됩니다.

EFS 성능

  • EFS Scale
    • 수천 명의 NFS 클라이언트를 동시에 가질 수 있습니다.
    • 10GB/s 이상의 용량을 가집니다.
    • 미리 용량을 정해두지 않아도 자동으로 페타바이트 수준의 스케일로 커질 수 있습니다.
  • Performance mode (EFS 생성 시 설정)
    • 일반 모드
      • 지연 시간이 중요한 경우에 사용합니다.
      • 웹 서버, CMS
    • Max I/O 모드
      • 지연 시간과 용량이 늘어납니다.
      • 병렬적 처리가 가능해 빅 데이터나 미디어 처리에 적합합니다.
    • 처리율(Throughput) 모드
      • Bursting 모드가 1 TB 즉 50MiB/s 정도 속도의 데이터 전송을 지원하는데 100 MiB/s까지도 가능합니다.
      • 프로비저닝도 설정할 수 있습니다.
        • 원래는 더 많은 공간을 사용할 수록 처리량과 용량이 커지는데 스토리지 크기와 무관하게 용량을 프로비저닝할 수 있습니다.

스토리지 클래스

  • 스토리지 티어 (Storage Tiers)
    : 스토리지 계층은 일정 시간 뒤 파일을 다른 계층으로 이동하는 기능입니다.
    • Standard 계층
      • 자주 접속하는 파일에 적용됩니다.
    • Standard-IA
      • 파일을 찾을 때 비용을 지불해야 하지만 EFS-IA에 파일을 저장할 때 비용이 낮습니다.
      • EFS-IA를 활성화하려면 수명 주기 정책을 사용해야 합니다.

        EX)
        EFS Standard 계층에 자주 사용하는 파일이 있다고 가정합시다.
        이때 60일 이상 액세스하지 않은 파일이 있다면 수명 주기 정책을 설정했기 때문에 파일이 EFS-IA 계층으로 이동될 거예요.

  • 가용성과 내구성
    • EFS를 다중 AZ로 설정하면 프로덕션 환경에 훌륭합니다.
    • One Zone EFS 파일 시스템
      • 개발에는 좋지만 가용 영역이 하나일 뿐이고 기본값으로 백업이 활성화 됩니다.
      • EFS-IA 계층과 호환이 가능해서 EFS One Zone-IA라고 부르며 큰 할인 폭으로 비용의 90% 정도를 절감할 수 있습니다.

EBS vs EFS

  • EBS
    • EBS 볼륨은 한 번에 하나의 인스턴스에만 연결이 가능합니다.
    • 특정 가용 영역에 한정됩니다.
    • gp2에서는 디스크 크기가 늘어나면 IO도 함께 증가합니다.
    • io 1은 IO를 볼륨 크기와 관계 없이 독립적으로 증가시킬 수 있습니다.
    • 중요한 데이터베이스를 실행할 때 좋은 방법입니다.
    • EBS 드라이브의 크기에 따라 실제 사용량이 아니라 정해진 사용량을 지불하는 식입니다.

  • EBS를 다른 가용 영역으로 옮기고자 할 때
    • 1. 가장 먼저 스냅샷을 찍어야 합니다.
    • 2. 다른 AZ에서 그 스냅샷을 복원하면 해당 AZ에 EBS 볼륨이 생성됩니다.
      • EBS의 스냅샷이나 백업을 만들 때에는 EBS 볼륨 내의 IO를 전부 사용하게 되니 인스턴스가 EBS를 사용 중이 아닐 때에만 실행하셔야 합니다.
      • 그렇지 않으면 성능에 문제가 생길 수 있죠

  • EC2 인스턴스가 종료되면
    • 루트 EBS 볼륨도 기본적으로 종료됩니다. (비활성화 가능)


  • EFS
    • 여러 개의 가용 영역에 걸쳐 무수히 많은 인스턴스들에 연결될 수 있습니다.
    • 웹 사이트 파일을 공유할 때도 EFS를 사용합니다. (WordPress)
    • Windows에서 구동되지 않습니다.
    • EFS는 EBS보다 훨씬 비쌉니다. 거의 세 배 정도 더 비쌉니다.
      • 하지만 비용을 절약하고 싶은 경우에는 스토리지 티어로 EFS-IA를 사용하고 제품 수명 정책을 사용하면 비용을 절감할 수 있습니다.
    • EFS 사용 시에 또 기억해야 할 점은 EFS는 사용한 만큼만 비용이 청구된다는 겁니다


  • 인스턴스 스토어
    • EC2 인스턴스에 IO를 최대로 사용하게끔 해줍니다.
    • 그러나 인스턴스가 망가지면 함께 망가지는 임시 드라이브입니다.

From
AWS Certified Solutions Architect Associate 시험합격!

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글