EC2 Storages
EBS
Elastic Block Store 은 인스턴스가 실행중인 동안 연결 가능한 네트워크 드라이브이다.
일부 EBS는 다중 인스턴스로의 연결을 지원하고, 대부분의 EBS는 하나의 EC2 인스턴스에만 마운트가 가능하다.
EBS 볼륨
EBS볼륨을 사용하면 인스턴스가 종료된 이후에도 데이터를 지속할 수 있다.
인스턴스를 재시작하고 기존 EBS 를 마운트하면 된다.
EBS볼륨은 가용 영역에 국한되어있지만, 스냅샷을 이용하면 가용 영역이나 리전 간 볼륨을 옮길 수 있다.
EBS 스냅샷
EBS는 백업이라고도 불리는 스냅샷을 아무 때나 생성할 수 있다.
추후에 EBS 볼륨을 삭제하더라도 스냅샷으로부터 생성이 가능하다.
EBS 종류
용량, 처리량, IOPS에 따라 분류된다.
- General purpose SSD : 범용 SSD (gp2/gp3)
- 다양한 워크로드에 대해 가격과 성능의 절충안이 된다.
- 짧은 지연 시간과 효율적인 비용
- 3000 IOPS ~ 16000 IOPS 까지 지원한다.
- gp3는 1000MiB/s로 직접 IOPS를 조절한다.
- gp2는 3 IOPS per GB로 제공된다.
- High performance SSD : 프로비저닝된 SSD (io1/io2)
- 지연 시간이 낮고 대용량의 워크로드에 사용된다.
- IOPS 성능을 유지할 필요가 있는 주요 비즈니스 어플리케이션에 적합
- 높은 IOPS를 요구하는 서비스에 적합
- 데이터베이스 워크로드에 적합하다.
- Nitro EC2 인스턴스에서는 64000 IOPS, 그 외에는 32000 IOPS까지 지원한다.
- io2 Block Express (~ 64TiB)
- 고성능 유형의 볼륨이며 지연 시간이 밀리초 미만이다.
- 256000 IOPS까지 지원한다.
- EBS Multi-Attach
- 동일한 가용 영역 내의 여러 인스턴스에 부착이 가능하다
- 각 EC2 인스턴스는 볼륨에 대한 읽기 및 쓰기 권한을 가진다.
- Teradata 등 concurrent write 가 관리되는 클러스터된 리눅스 어플리케이션 등에서 사용된다.
- 반드시 클러스터 인식 파일 시스템을 사용해야 한다.
- Low cost HDD : 처리량 최적화 HDD (st1)
- 잦은 접근과 처리량이 많은 워크로드에 사용된다.
- 최대 IOPS 는 500이다.
- Lowest cost HDD : 콜드 HDD (sc1)
- 접근 빈도가 낮은 워크로드에 사용된다.
- 아카이브 데이터 등에 사용된다.
- 최대 IOPS 는 250이다.
SSD 항목들만 부팅 볼륨으로 사용될 수 있다.
EBS 암호화
EBS 볼륨을 생성하면, 저장 데이터가 볼륨 내부에 암호화되고, 인스턴스와 볼륨 사이 전송 데이터, 스냅샷, 스냅샷으로 생성한 볼륨 등이 암호화된다.
이러한 암호화는 백그라운드에서 KMS에서 생성한 (AES-256) 키를 이용하여 EC2 와 EBS가 처리한다.
AMI
Amazon Machine Image로서, EC2 인스턴스의 customization 을 의미한다.
AMI는 특정 리전에 속하게 되지만, 리전 간 복제가 가능하다.
- Public AMI : AWS 가 제공한 AMI
- Your own AMI : 직접 생성 후 유지보수
- AWS Marketplace AMI : 다른 누군가에 의해 만들어진 AMI
EFS (Elastic File System)
관리된 네트워크 파일 시스템으로서 여러 EC2 인스턴스에 마운트될 수 있다.
여러 가용 영역의 EC2 인스턴스에 마운트될 수 있다는 강점을 가진다.
콘텐츠 관리, 웹서비스 제공, 데이터 제공 등에 사용된다.
EFS 접근을 제어하기 위해 보안 그룹 (security group)을 사용할 수 있다.
리눅스 기반 AMI 에서만 지원된다.
KMS를 이용해 EFS 저장 데이터를 암호화하며, Linux의 표준 파일 시스템이다.
용량을 미리 정하지 않아도 된다.
- EFS 확장성
- 수천명의 NFS 클라이언트를 동시에 가질 수 있음
- 10GB+/s 대역폭
- 미리 용량을 정하지 않아도 자동으로 확장 가능하다.
- Performance Mode 설정
- General purpose (default)
- 지연 시간이 중요한 경우 사용
- 웹 서버, CMS 등
- Max I/O
- 대역폭이 증가하며 병렬성 증가
- 빅데이터, 미디어 처리에 적합
- General purpose (default)
- Throughput Mode
- Bursting 지원
- Provisioned : 스토리지 크기와 무관하게 대역폭을 설정할 수 있다.
EFS Storage Class
- 스토리지 계층
- 일정 시간 뒤 파일을 다른 계층으로 이동하는 기능
- Standard : 자주 접속하는 파일에 적용됨
- Infrequent access (EFS-IA) : 파일을 찾을 때 비용 지불, 저장 시 비용 낮음, lifecycle policy 이용
- 안정성과 가용성
- 다중 AZ
- 프로덕션 환경에 적합
- One Zone
- 저렴하며 개발 환경에 적합
- EFS-IA와 호한되어 EFS One Zone-IA를 이룸
- 다중 AZ
EBS vs EFS
EBS
- 한 번에 하나의 인스턴스에만 연결이 가능 (특정 조건 제외)
- 특정 가용 영역에 한정된다 (스냅샷을 통해 복제 가능)
- 정해진 용량에 따라 비용이 청구된다
EFS
- 무수히 많은 인스턴스에 연결될 수 있다 (Linux 기반 AMI)
- 가용 영역과 상관없이 인스턴스와 연결될 수 있다.
- 사용한 만큼만 비용이 청구된다.
Instance Store
EBS볼륨은 네트워크 드라이브이고 성능이 제한된다.
이 때는 EC2 인스턴스에 연결된 하드웨어 디스크 성능이 향상되어야 한다.
특정 유형의 EC2 인스턴스는 연결된 EC2 Instance Store가 존재한다.
- Better I/O performance
- 인스턴스가 중지되면 스토리지 데이터가 사라진다.
- 따라서 버퍼, 캐시, 임시 컨텐츠에 적합하다.
- 하드웨어 실패에 따른 위험이 존재한다.
- 따라서 데이터 백업을 직접 관리해야 한다.
'공부한 이야기 > 클라우드' 카테고리의 다른 글
AWS SAA - RDS & ElastiCache (0) | 2022.08.02 |
---|---|
AWS SAA - Scalability & Availability (0) | 2022.08.02 |
AWS SAA - EC2 (0) | 2022.08.02 |
AWS SAA - IAM (0) | 2022.08.02 |
AWS SAA - Marked Questions III (0) | 2022.07.31 |