💝 EC2 인스턴스 스토리지
✅ EBS 볼륨 ✅ EBS 스냅샷
✅ AMI
✅ EC2 인스턴스 스토어
✅ EBS 볼륨 유형 ✅ EBS 볼륨 다중 연결 가능 ✅ EBS 암호화 및 복호화
✅ 아마존 EFS ✅ EBS vs EFS
🚨 EBS 볼륨
✤ Elastic Block Store 줄임말
✤ 인스턴스가 실행되는 동안 인스턴스에 연결할 수 있는 네트워크 드라이브
✤ EBS 볼륨을 사용하면 인스턴스가 종료된 후에도 데이터를 지속할 수 있다
✤ 우리가 인스턴스를 재생성하고 이전 EBS 볼륨을 마운트하면 데이터를 다시 받을 수 있다.
✤ 특정 가용 영역에서만 생성 가능
✤ 하나의 EBS 는 하나의 인스턴스에만 마운트할 수 있다
✤ EBS 와 EC2 는 동일한 가용영역에 있어야 연결 가능
✤ 여러 개의 EBS 볼륨을 생성하여 EC2 에 추가 연결 가능
✤ 무료 등급으로는 매달 30GB 의 EBS 스토리지를 범용 SSD 혹은 마그네틱 유형으로 제공
✤ 스냅샷(Snapshot) 기능을 통해 EBS 볼륨 백업 가능
✤ 수명 주기 관리자(Data Life Cycle Manager) 정책을 통해 스냅샷 생성 일정을 자동화 가능
✤ KMS(AWS Key Management Service) 를 이용해 EBS 볼륨 암호화 가능
✤ 물리적 드라이브 X, 네트워크 드라이브 O
• 네트워크를 사용하여 인스턴스와 통신 -> 약간의 대기시간이 있을 수 있다
• EC2 에서 분리가능, 매우 빠르게 다른 인스턴스로 연결될 수 있다
✤ 특정 가용영역(AZ)에 한정
• us-east-la 의 EBS 볼륨은 us-east-lb 에 연결할 수 없다
• 볼륨을 이동하려면, 먼저 볼륨을 스냅샷해야 한다
✤ 볼륨이기 때문에 용량을 미리 결정해야 함
• 프로비저닝된 모든 용량에 대해 요금이 청구된다
• 시간이 지남에 따라 드라이브 용량을 늘릴 수 있다
EBS - 종료 시 삭제 (Delete on Termination attribute)
• Root EBS 볼륨의 기본 값 -> 인스턴스 종료 시 볼륨 삭제 활성화
• 다른 EBS 볼륨의 기본 값 -> 종료 시 볼륨 삭제 비활성화
• AWS 콘솔이나 AWS CLI 에서 제어 가능
• 사용 사례 : 인스턴스 종료 시 Root 볼륨의 데이터를 저장하고자 하는 경우 비활성화 해준다.
🚨 EBS 스냅샷 (Snapshots)
✤ EBS 볼륨의 특정 시점에 대한 백업
✤ 스냅샷을 실행하기 위해 EC2 인스턴스에서 EBS 볼륨을 분리할 필요는 없지만, 분리를 권장
✤ EBS 스냅샷은 다른 가용영역이나 다른 리전에 복사 가능
✤ EBS 스냅샷 속성 3가지
• EBS 스냅샷 아카이브 (EBS Snapshot Archive)
• EBS 스냅샷 휴지통 (Recycle Bin for EBS Snapshots)
• 빠른 스냅샷 복원 (FSR : Fast Snapshot Restore)
EBS 스냅샷 아카이브 (EBS Snapshot Archive)
• 최대 75% 까지 옮길 수 있다.
• 가장 저렴
• 복원하는데 24~최대72시간이 걸린다. 즉시 복원되지 않음
EBS 스냅샷 휴지통 (Recycle Bin for EBS Snapshots)
• 삭제하는 경우 영구삭제 대신 휴지통에 넣을 수 있다
• 복원 가능(보관기간은 1일~1년)
빠른 스냅샷 복원 (FSR - Fest Snapshot Restore)
• 스냅샷을 완전 초기화해 첫 사용에서의 지연시간을 없애는 기능 → 빠르게 초기화 시 유용, but 비용⬆️
🚨 AMI - 아마존 머신 이미지
✤ Amazon Machine Image 아마존 머신 이미지. EC2 인스턴스를 통해 만든 이미지를 통칭한다.
✤ EC2 인스턴스의 장점이다.
✤ 특정 AWS 리전에 국한되어 있다.
✤ AMI 로 AWS 구축 가능. 원하는대로 변경 가능 → AMI 를 따로 구축하면 부팅, 설정 시간 단축 가능
✤ AMI 를 특정 지역에 구축한 다음, 다른 지역으로 복사해서 글로벌 인프라를 활용할 수 있다.
✤ EC2 인스턴스를 실행할 수 있는 곳
• 공개 AMI
• 자체 AMI : 자체적으로 구축 가능
• AWS 마켓플레이스의 AMI : AWS 마켓플레이스의 AMI 에서 EC2 인스턴스 실행 가능(다른사람이 구축한 이미지, 구매한 이미지)
• 여러 종류의 AMI 에서 실행할 수 있다
AMI 처리과정 (AMI 는 EC2 인스턴스에서 어떻게 처리될까?)
• EC2 인스턴스를 원하는대로 설정해준다
• 인스턴스를 중지해 데이터 무결성을 확보한다.
• 이 인스턴스를 바탕으로 AMI 구축 -> 이 과정에서 EBS 스냅샷 생성됨
• 그 다음 다른 AMI 에서 인스턴스 실행 가능
🚨 EC2 인스턴스 스토어
✤ 블록 수준의 임시 스토리지
✤ EBS 볼륨은 성능이 제한된 네트워크 드라이브이다. 만약 고성능의 하드웨어 디스크가 필요한 경우 EC2 인스턴스 스토어를 사용해라.
✤ EC2 는 가상머신이지만 실제로는 하드웨어 서버에 연결되어 있다. 해당 서버에 물리적으로 연결된 디스크 공간을 갖는다.
✤ EC2 인스턴스에 해당하는 물리적 서버에 연결된 하드웨어 드라이브
✤ 특정 유형의 EC2 인스턴스를 EC2 인스턴스 스토어라고 부른다
✤ I/O 성능향상을 위해 사용
✤ 인스턴스 스토어 중지 또는 종료되면 해당 스토리지도 손실된다 → 임시 스토리지여서 장기적으로 데이터 보관 X
✤ 버퍼 / 캐시 / 스크래치 데이터 / 임시 콘텐츠에 사용
✤ EC2 인스턴스의 기본 서버에 장애가 발생할 시에는 해당 EC2 인스턴스가 연결된 하드웨어도 장애가 발생하므로 데이터 손실 위험 O
✤ 필요에 따라 백업&복제 필요
🚨 EBS 볼륨 유형
✤ EBS 볼륨의 특징 : 크기(Size) | 처리량(Throughput) | IOPS(초당 I/O 작업)
✤ gp2/gp3 및 io1/io2만 부팅 볼륨으로 사용할 수 있다.
✤ EBS 볼륨 유형 6가지
• gp2 / gp3 (SSD) : 범용 SSD 볼륨. 다양한 워크로드에 대한 가격,성능의 절충안
• io1 / io2 (SSD) : 지연시간⬇️. 대용량 워크로드에 사용
• st1 (HDD) : 저비용 HDD. 잡은 접근과 처리량이 많은 워크로드에 사용
• scl (HDD) : 가장 저렴한 HDD. 접근 빈도가 낮은 워크로드를 위해 설계
범용 SSD (General Purpose SSD)
• 짧은 지연시간. 효율적 비용의 스토리지
• 시스템 부팅 볼륨, 가상 데스크톱, 개발 및 테스트 환경
- gp3 : 최신 세대의 볼륨. IOPS 와 처리량을 독자적으로 설정 가능
- gp2 : 좀 더 오래된 볼륨. 더 작음. 볼륨의 크기와 IOPS 가 연결되어 있다
프로비저닝 SSD (Provisioned IOPS SSD) - 준비를 마친 IOPS
• IOPS 성능 유지가 필요한 주요 비즈니스 애플리케이션이나 16,000 IOPS 이상을 요하는 애플리케이션에 적합
• 데이터베이스 워크로드에 적합 (성능, 일관성에 민감)
• EBS 다중연결 지원
- io1 / io2 (4GB - 16TB) : io2 가 내구성과 성능이 더 높다
HDD (Hard Disk Drives)
• 시스템 부팅 볼륨 X
• 125GB - 16TB
• 처리량 최적화 HDD (st1)
- 빅 데이터, 데이터 웨어하우스, 로그 처리
• 콜드 HDD (sc1)
- 접근 빈도 낮은 데이터에 적합
- 최저비용으로 데이터를 저장
🚨 EBS 볼륨 다중 연결 기능
✤ 하나의 EBS 볼륨을 같은 가용영역AZ 에 있는 EC2 인스턴스에 연결 가능
✤ 각 인스턴스는 고성능볼륨에 대한 전체 읽기•쓰기 권한이 있다. 동시에 읽기•쓰기 가능
✤ 사용 사례 : 가용성 높을 때 • 가용영역 내에서만
✤ 한번에 최대 16개의 인스턴스 연결 가능
✤ 클러스터 인식 파일 시스템을 사용해야함
🚨 EBS 암호화
✤ 암호화가 동시다발적으로 일어난다
✤ 암호화된 EBS 볼륨을 생성하면 다음을 얻을 수 있다
• 미사용 데이터는 볼륨 내에서 암호화된다
• 인스턴스와 볼륨 간에 이동하는 모든 데이터는 암호화된다.
• 모든 스냅샷은 암호화된다.
• 스냅샷에서 생성된 모든 볼륨
✤ 암호화 및 복호화가 투명하게 보이지 않게 처리됨 (백그라운드에서 EC2, EBS 모두 처리됨)
✤ 지연 시간에 거의 영향 X
✤ EBS 암호화는 KMS 에서 암호화키를 생성해 AES-256 암호화 표준을 갖는다
✤ 암호화되지 않은 스냅샷을 복사하면 암호화가 가능 → 스냅샷을 복사해 암호화를 푼 걸 다시 암호화 활성화한다
EBS 볼륨 암호화 및 복호화 하는 방법
• 볼륨의 EBS 스냅샷 생성
• 복사기능을 통해 EBS 스냅샷 암호화
• 스냅샷을 이용해 새 볼륨을 생성하면 해당 볼륨도 암호화된다
• 암호화된 볼륨을 인스턴스 원본에 연결
🚨 Amazon EFS - Elastic File System
✤ 관리형 네트워크 파일 시스템 NFS (Network File System)
✤ 여러 인스턴스에 마운트 가능
✤ 이 인스턴스들은 여러 가용 영역에 가능 - EFS는 다중 AZ에서 EC2 인스턴스와 함께 작동한다
✤ 가용성⬆️, 확장성⬆️, 가격⬆️
✤ 콘텐츠 관리, 웹 서버, 데이터 공유, Wordpress
✤ 내부적으로 NFS 프로토콜 사용
✤ EFS 에 대한 액세스를 제어하기 위해 보안그룹을 설정해야 한다
✤ 리눅스 기반 AMI 에 호환 (Windows X)
✤ 암호화 가능
✤ Linux 표준 파일 시스템
✤ 미리 용량을 계획하지 않아도 된다 - 파일 시스템이기 때문에 자동으로 확장됨
EFS 성능 & 스토리지
✤ EFS 스케일 (EFS Scale)
• 수천개의 NFS 클라이언트에서 EFS 에 동시 액세스 가능하도록 확장된다
• 미리 용량 계획 X, PB 규모로 자동 확장
✤ 성능 모드 (Performance Mode)
• 범용 모드 - 지연시간에 민감한 사용 사례
• 최대 I/O - 지연시간, 처리량, 병령처리 향상
✤ 처리량 모드 (Throughput Mode)
• Bursting[폭발성] – 1TB = 50MiB/s + 최대 100MiB/s의 버스트
• Provisioned[프로비저닝](미리 설정 가능) – 스토리지 크기에 관계없이 처리량을 설정 (예: 1TB 스토리지의 경우 1GiB/s)
• Elastic[탄력성] – 워크로드에 따라 자동으로 처리량을 늘리거나 줄일 수 있다
- 읽기의 경우 최대 3GiB/s 및 쓰기의 경우 1GiB/s
- 예측할 수 없는 워크로드에 사용
EFS 스토리지 클래스
✤ 스토리지 계층 설정 (Storage Tiers) - 2가지 옵션
• 일정 기간 후 파일을 다른 계층으로 옮기는 기능
• Standard[표준] : 자주 사용하는 파일을 저장하는 계층
• Infrequent access(EFS-IA): 파일 검색 비용 발생, 저장 비용 절감. 수명 주기 정책으로 EFS-IA 활성화
✤ 가용성과 내구성 측면 - 2가지 옵션
• Standard[표준] : 다중 AZ, 프로덕션에 적합
• One Zone[하나의 영역] : 하나의 AZ, 개발에 적합, 기본적으로 백업 활성화, IA와 호환 가능(EFS One Zone-IA)
✤ 90% 이상의 비용 절감
🚨 EBS vs EFS
✤ EBS 와 EFS 차이점을 기억하자
EBS - Elastic Block Storage | EFS - Elastic File System |
• 한번에 1개 인스턴스만 연결 가능 • 특정 가용영역에서만 연결 가능 • EBS 를 다른 가용영역으로 옮길 때 스냅샷을 찍어야 함 • 인스턴스 종료 → EBS 종료 (변경 가능) • 인스턴스가 EBS 를 사용하지 않을 떄만 스냅샷, 백업 실행 • 사용한 만큼만 비용 청구 |
• 여러 가용영역에서 많은 인스턴스 연결 가능 • EFS 공유 웹사이트 파일(WordPress) • Linux 인스턴스 전용(POSIX) • 비용 절감을 위해 EFS-IA를 활용 가능 • EBS 보다 높은 가격 • 정해진 사용량을 지불 |
'🌦 Cloud' 카테고리의 다른 글
[AWS/SAA-03] 오토 스케일링 그룹 (Auto Scaling Group) (0) | 2023.04.24 |
---|---|
[AWS/SAA-03] 로드 밸런서 (Load Balancer) (0) | 2023.04.23 |
[AWS/SAA-03] 탄력적 IP, 배치그룹, ENI, 절전모드 (0) | 2023.04.20 |
[AWS/SAA-03] EC2 인스턴스 (0) | 2023.04.16 |
[AWS/SAA-03] IAM : 계정 및 권한 관리 서비스 (0) | 2023.04.16 |