인스턴스가 실행 중인 동안 여결 가능한 네트워크 드라이브를 말합니다.
말이 어렵지 우리가 모르는 사이에 계속 사용했던 기능으로 인스터스가 종료된 후에도 데이터를 계속해서 유지하고 있습니다.
쉽게 말하면 USB와 같은 역할을 합니다.
하나의 USB는 하나의 컴퓨터 에만 연결가능하고, 다른 컴퓨터로 연결도 가능합니다.
이러한 역할을 하는 것이 CCP EBS볼륨 입니다.
대신 EBS볼륨은 특정 가용영역에 종속되어 있기 떄문에 A라는 가용영역에서 생성된 EBS 볼륨은 B에서는 사용이 불가능 합니다.
정리를 하자면
하나의 EC2에는 최소 한개의 EBS 볼륨이 필요하며 이러한 형태를 CCP레벨의 EBS볼륨 이라고 합니다.
가용영역에 기본적으로 종속되어 있으며, 하나의 EC2인스턴스에 여러개의 EBS볼륨이 접속이 되는 것은 문제가 없습니다.
- 쉽게 말해 USB를 하나의 컴퓨터에 여러개 연결하는 것 입니다.
USB처럼 컴퓨터에 연결을 하지 않아도 존재하며 원할떄만 연결하여 사용 하면 됩니다.
기본적으로 생성되는 EBS볼륨은 default값이 EC2종료시에 삭제되는 기능을 가지고 있지만 추가적인 EBS볼륨은 EC2종료시에 삭제되지 않습니다.
EC2인스턴스를 선택하여 Storage탭으로 이동을 하면 루트장치 정보를 확인 가능합니다.
새로운 EBS볼륨을 생성해 보겠습니다.
스토리지에서 EBS볼륨을 선택하면 EBS대시보드가 나오고 해당 화면에서 볼륨생성을 클릭합니다.
기본 셋팅은 그대로 진행을 하지만 가용영역은 한번 확인해 보아야 합니다.
앞서 말했듯이 EBS볼륨은 하나의 가용영역에 종속되기 떄문에 EC2인스턴스가 생성되어 있는 가용영역을 확인하여 같은 가용영역으로 설정해 주어야 합니다.
이후 생성을 하면 두개가 생성이 되게 되며, 하나는 root볼륨, 하나는 방금 생성한 볼륨입니다.
그러면 방금 생성한 볼륨을 만들어진 EC2에 연결해야 합니다.
매우 간단하게 만들어진 볼륨을 클릭하여 작업 - 볼륨연결을 통해 만들어진 EC2에 연결 하면 됩니다.
그러면 보이는 바와 같이 EC2인스턴스에 두개의 볼륨이 연결된 것을 확인할 수 있습니다.
스냅샷이 필요한 이유는 백업입니다.
앞서 말했듯이 기본적으로 EBS볼륨은 가용영역에 종속되어 있지만, 스냅샷을 통해서 데이터를 백업하고 해당 데이터를 다른 가용영역으로 옮기는 행위를 할 수 있습니다.
스냅샷 휴지통이라는 옵션이 있습니다.
스냅샷을 찍고 삭제를 하면 휴지통으로 이동하게 되는데 해당 휴지통에서 설정한 기간(1년)이 지날떄까지 보관하고 있다가 삭제가 되는 기능입니다.
실수로 데이터를 옮기는데 실패하거나 오류가 생겼을때 해당 기능을 활용하면 됩니다.
범용 SSD 볼륨으로 가장 범용적으로 사용되는 볼륨 입니다.
최고 성능을 자랑하는 SSD볼륨입니다.
미션 크리티컬이자 지연시간이 낮고, 대용량의 워크로드에 사용 됩니다.
저렴한 HDD볼륨입니다.
잦은 접근과 처리량이 많은 워크로드에 사용됩니다.
가장 저렴한 HDD볼륨으로
접근 빈도가 낮은 워크로드에 사용 됩니다.
어떤 볼륨을 선택하는 것은 어렵습니다.
기본적으로 EC2에서는 gp, io
가 부팅 볼륨으로 사용 될 수 있습니다.
이 부분에서 중요한 내용은 gp2, IOPS 프로비저닝 입니다.
gp2는 짧은 지연 시간을 자랑하며 가장 효율적인 스토리지 입니다.
부팅 볼륨에서는 가상 데스크톱, 개발, 테스트 환경에서 사용이 가능하며
용량은 1GB에서 16TB까지 다양합니다.
gp3와의 차이점은 성능의 차이만이 있으며
gp3는 IOPS(초당 작업 수)을 16,000
처리량은 1,000MB/s까지 증가시킬 수 있습니다.
gp3는 독자적으로 처리량, IOPS만을 다룰 수 있지만
gp2는 그 둘이 연결되어 있기 떄문엥 처리량만을 높게 하겨 설정 할 수는 없습니다.
- 일반적으로 처리량의 3배의 IOPS가 필요합니다.
이 부분에서 중요한 점은 gp2/gp3
스토리지는 비용 효과적이고 gp2는 gp3와 다르게 IOPS, 처리량을 독자적으로 처리가불가능 하다는 점 입니다.
AMI는 커스텀한 EC2인스턴스 입니다.
EC2인스턴스를 특정 리전에 맞게 만듬으로써 동작합니다.
가장 좋은 예시는 AWS Linux 2
가 있습니다.
네트워크 파일 시스템을 의미 합니다.
네트워크 파일 시스템이기 떄문에 여러개의 EC2에 연결 가능합니다.
높은 가용성으로 확장성이 뛰어나지만 gp2 EBS 볼륨
에 비해 3배 정도 비싸며
사용할 떄 마다 비용을 지불하기 떄문에 사전 용량이 없습니다.
Basic한 사용 방법은 EFS를 보안 그룹으로 감싸고 여러 인스턴스를 연결하여 사용 합니다.
대표적으로 웹 서비스 제공, 데이터 공유 등에 사용이 되며 EFS에 접근을 하기 위해서, 올바르게 사용하기 위해서는 보안 그룹을 설정해야 합니다.
기억 해야 할 점 : Linux 기반 AMI에서만 호환이 됩니다.
가장 큰 장점으로는 용량을 미리 정하지 않아도 되기 떄문에 시스템이 자동으로 확장이 되고, 사용하는 데이터의 용량만큼만 비용이 부과됩니다.
Performance 모드
- 기본 모드로 지연 시간이 중요한 경우에 사용 됩니다.
- 벙렬 처리가 가능합니다.
- 웹 서버 , CMS, 미디어 처리에 적합합니다.
Throughput모드
- 기본값은 Bursting모드로 50MiB/s 정도 속도의 데이터 전송을 지원합니다.
- 부수적으로 프로비저닝 기능도 지원 합니다.
프로 비저닝 : 캐시와 유사하게 시스템 자원을 배치 해 두었다가 필요 시 시스템을 즉시 사용 가능한 상태로 미리 준비해 두는 것
일정 시간 뒤 파일을 다른 계층으로 이동하는 기능입니다.
Standard 계층
은 자주 접속하는 파일에 적용되며
EFS-IA 계층
은 파일을 찾을 떄 비용을 지불해야 하지만, 저장할 떄 비용은 낮습니다.
수명 주기
라는 정책도 있는데 이는 EFS-IA를 활성화 하고자 한다면 설정해야 합니다.
만약 Standard계층
에 있는 파일을 일정 주기 이상 사용하지 않으면 EFS-IA계층
으로 자동으로 이동하는 정책 입니다.
EFS를 AZ(가용영역)으로 설정하면 환경에 좋습니다.
만약 한 AZ가 다운되어도 EFS 시스템에는 영향이 없기 떄문입니다.
만약 하나의 AZ에 보관하여 사용한다면 개발에는 좋지만 백업이 자동으로 활성화되고, 이를 관리해야 합니다.
이는 EFS-IA계층과 호환이 가능하여 이를 EFS One Zone-IA
라고 부르며, 비용을 90%가까이 절감 할 수 있습니다.
AWS CLI를 활용하여 EFS로 이동하여 생성을 클릭합니다.
Basic하게 만들 수 있지만, 좀더 많은 부분을 알아보고 위해 사용자 지정을 통해서 진행을 하였습니다.
기본적으로 앞서 말했듯이 여러 AZ에 저장을 하는 것이 Basic하게 사용 가능하지만,
현재는 EFS를 만들어 보는 과정이기 떄문에 비용 절감을 위해 One Zone
를 선택 합니다.
앞서 말했듯이 One Zone은 하나의 AZ에 보관을 하는 것이기 떄문에 AZ가 다운되는 현상을 방지할 수 없습니다.
그후 가장 중요한 수명 주기가 있습니다.
비용 절감을 위한 선택사항이기 떄문에 적합하게 선택해 줍니다.
다음으로는 성능 모드를 선택합니다.
일반적인 모드(General Purpose)
는 웹 서비스 작업, 미디어 처리에 적합하며
Max I/O
모드는 용량, 연산이 최대가 되기 떄문에 빅데이터 작업에 사용 됩니다.
Test용 이기 떄문에 General Purpose로 진행하였습니다.
다음으로는 처리량 모드를 설정 합니다.
버스트 모드는 사용되는 양에 따라서 자동으로 늘어나는 모드를 말하고, 프로비저닝 모드는 설정한 처리량으로 계속해서 처리를 하는 것을 의미합니다.
버스트 모드로 진행하였습니다.
다음으로는 네트워크 설정입니다.
기본적으로 OneZone을 사용하였다면 하나의 AZ, Basic을 사용하였다면 해당 리전에 있는 모든 AZ가 보이게 됩니다.
보이는 바와 같이 보안 그룹을 설정을 해야 합니다.
현재 저의 security 그룹이며, 새로운 보안 정책을 생성하겠습니다.
이후 파일 시스템 정책은 선택사항이기 떄문에 넘어가면 새로운 EFS가 만들어 집니다.
이후 생성된 EFS를 EC2에 마운트 해보겠습니다.
일단 새로운 EC2를 생성하기 위해서 EC2시작하기를 선택후 해당 창에서 먼저 네트워크 설정을 해 줍니다.
네트워크 설정에서 서브넷을 default값으로 셋팅해준뒤
스토리지 볼륨에서 세부정보 표시를 클릭후 공유 파일 시스템 추가를 클릭합니다.
특정 가용역영에 한정되며, 오직 한개의 인스턴스와 연결 가능합니다.
gp2
EBS는 크기가 늘어나면 IO도 증가하지만 ,io1
은 독립적으로 증가 시킬 수 있습니다.
다른 가용영역에서도 사용하고자 한다면, 스냅샷을 찍고 데이터를 옮겨 주어야 합니다.
여러개의 가용영역에 맞춰 많은 인스턴스에 연결 가능합니다.
linux에서만 사용 가능합니다.
EBS보다 대략 3배 정도가 비쌉니다.