Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 오블완
- backend
- goorm
- aws
- Docker
- serverless
- Redis
- 티스토리챌린지
- spring
- mapping
- CodeCommit
- MSA
- s3
- DynamoDB
- Spring Boot
- CICD
- ec2
- codebuild
- sqs
- backenddeveloper
- rds
- kakao
- codedeploy
- 자격증
- QueryDSL
- 개발자
- 백엔드
- 스터디
- jpa
- orm
Archives
- Today
- Total
gony-dev 님의 블로그
Section 6. EC2 Instance Storage 본문
EBS
1. EBS(Elastic Block Store)란?
인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브이다.
EBS 볼륨을 사용하면 EC2가 종료된 이후에도 사용할 수 있다.
한 번에 하나의 인스턴스에만 마운트할 수 있다.
- CCP레벨: 하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능
- Associate 레벨: 일부 EBS의 다중 연결
2. EBS Volume
네트워크 드라이브
인스턴스와 EBS 볼륨이 연결되기 위해서는 네트워크를 필요로 한다.
다른 리전으로 이동이 불가하다.하지만 스냅샷을 이용하면 다른 가용 영역으로 이동 가능3. EBS - Delete on Termination attribute
속성에 EC2 삭제 시 함께 삭제된다는 속성이 있다.(default)
실제 사용 예시로는 인스턴스가 제거되었을 때 루트 볼륨을 보존한다.
EBS 스냅샷
- EBS 스냅샷은 EBS 볼륨의 특정 시점에서의 백업을 의미한다.
- 해당 스냅샷은 다른 가용 영역이나 다른 리전에 복사할 수 있다.
EBS 스냅샷의 특징
- EBS 스냅샷 아카이브
- 스냅샷을 최대 75% 더 저렴한 아카이브 티어로 옮길 수 있는 기능을 의미한다.
- 아카이브를 복원하는데 24시간에서 72시간 정도 걸린다.
- EBS를 위한 쓰레기통
- EBS 스냅샷을 영구적으로 삭제하는 대신 휴지통에 보관한다. 이 경우에 하루에서 1년 까지 보관 기간을 설정할 수 있다.
- 빠른 스냅샷 복원
- 스냅샷을 완전히 초괴화하는 기능
- 스냅샷이 매우 클 때 EBS 볼륨을 초기화해야 하거나 매우 빠르게 인스턴스화해야 하는 경우에 유용하다.
- 비용이 많이 들기 때문에 주의해야한다.
EBS Volume 유형
- gp2 / gp3 | 다양한 워크로드에 대해 가격과 성능의 균형을 맞추는 범용 SSD 볼륨이다. 지금까지 사용한 볼륨의 종류
- gp2는 비용 효율적인 스토리지로 낮은 대기 시간을 제공하고, 시스템 부팅 볼륨, 가상 데스크톱, 개발 테스트 환경에 사용할 수 있다.
- gp3는 최신 세대 볼륨으로 3000 IOP와 초당 125MB 처리량을 제공한다. IOP는 최대 16000까지, 처리량은 초당 최대 1000MB까지 독립적으로 증가 시킬 수 있다.
- io 1 / io2 | 가장 높은 성능의 SSD 볼륨으로 미션 크리티컬, 저지연 등의 작업에 적용된다.
- 16000 IOPS가 필요하다면 io1과 io2를 사용하는 것이 좋다.
- io1는 nitro EC2 인스턴스의 경우 최대 64000 PIOPS이고 다른 종류는 32000이다. 그리고 스토리지 크기와 별도로 프로비저닝된 PIOPS를 늘릴 수 있다.
- io2는 최대 53 테라바이트 데이터를 사용할 수 있고, 최대 256000 IOPS가 제공된다.
- st1 | 자주 액세스하고 처리량이 많은 워크로드를 위해 설계된 저비용 HDD 볼륨이다.
- st1은 빅 데이터, 데이터 웨어하우징, 로그 처리에 적합하고, 초당 최대 500MB 처리량과 500 IOPS를 제공한다.
- sc1 | 가장 저렴한 HDD 볼륨으로 액세스가 빈번하지 않은 워크로드를 위해 설계되었다.
- EBS volume은 크기, 처리량, 초당 입출력 작업 수를 의미 하는 IOP로 특성화되어 있다.
결론
1. 데이터베이스가 필요하다면 범용 SSD와 프로비저닝된 IOP SSD이고, 높은 처리량과 낮은 비용을 필요로 한다면 st1 / st2를 선택하면 된다.
2. gp2, gp3, io1, io2만 부팅 볼륨으로 사용할 수 있다.
EBS Multi-Attach - io1/io2 family
- 같은 AZ 안에서 여러개의 EC2 인스턴스에는 같은 EBS volume을 붙힐 수 있다.
- 각 인스턴스는 고성능 볼륨에 대한 읽기와 쓰기 권한을 가지고 있다.
- EBS 볼륨은 한 번에 최대 16개의 EC2 인스턴스에 부착할 수 있다.
AMI
AMI란?
Amazon Machine Image
사용자 지정 EC2 인스턴스이다.
특정 리전에서 설계되고 다른 리전에도 복제될 수 있다.
AWS에서 제공되는 AMI를 사용해도 되고, AMI를 직접 생성해도 된다.
AMI 과정
- EC2 인스턴스를 시작하고 커스터마이징한다.
- 인스턴스를 멈춰서 데이터 무결성을 확보한다.
- AMI를 설계한다. 이때 EBS 스냅샷 또한 생성된다.
- 다른 AMI에서 인스턴스를 실행할 수 있게 된다.
EC2 Instance Store
- EBS 볼륨은 네트워크 드라이브를 연결해 주지만, 성능이 제한된다.
- 만일 고성능의 하드웨어 디스크가 필요하다면, EC2 Instance Store를 사용하자.
- I/O 성능 향상에 도움을 준다.
- 임시 스토리지로 사용되기에 인스턴스가 멈춘다면 스토리지 또한 잃게 된다.
- 그러므로 버퍼나 캐시, 스크래치 캐시 등은 좋은 사용 예시가 되지만 이 외에는 적합하지 않다.
EFS
Elastic File System
- EFS는 관리형 NFS(네트워크 파일 서비스)이다.
- 사용량에 따라 비용을 지불하므로 프로비저닝 할 필요 없다.
- 사용 범위
- 콘텐츠 관리
- 웹 서빙
- 데이터 공유
- 내부적으로 NFS 프로토콜을 사용하며, EFS에 대한 액세스를 제어하려면 보안 그룹을 설정해야 한다.
- 오로지 Linux 기반 AMI와만 호환된다!!
- 장점은 용량을 미리 기획할 필요가 없다는 것이다.
Performance & Storage Classes
- EFS Scale
- 동시 NFS 클라이언트 수천 개와 10GB 이상의 처리량을 확보할 수 있고, PB 규모의 네트워크 파일 시스템으로 자동 확장 할 수 있다.
- Performance Mode
- 범용 모드 | 지연 시간에 민감한 사용 사례에 사용한다.
- Max I/O 모드 | 지연시간이 긴 네트워크 파일 시스템이지만 처리량이 높고 병렬성이 높은 워크로드에 적합하다. 빅데이터 처리에 유용하다.
- Throughput Mode
- Bursting 모드 | 50MB + 최대 100MB
- Provisioned 모드 | 스토리지 크기에 상관없이 처리량을 설정한다.
- Elastic 모드 | 워크로드에 따라 처리량을 자동으로 조절한다. 워크로드를 예측하기 어려울 때 사용한다.
Storage Classes
- Storage Tiers(파일을 다른 계층으로 옮길 수 있음)
- Standard | 빈번히 액세스되는 파일들을 저장하는데 사용되는 계층
- Infrequent access(EFS-IA) | 자주 액세스하지 않는 용도로 사용되는 계층. 저장하면 비용이 감소한다.
- Archive | 거의 액세스하지 않는 파일을 저장하는데 사용되는 계층
- Availability and Durability
- Standard | 다중 AZ이 있다면 해당 클래스 사용
- One Zone | 개발만 하고 싶고 더 저렴한 옵션을 원할 때 사용. 하나의 AZ에만 있고 백업이 기본적으로 활성화되도록 설정되어 있다. 액세스 빈도가 낮은 스토리지 계층과 호환된다.
전반적으로 올바른 EFS 스토리지 클래스를 사용하면 최대 90%의 비용을 절감할 수 있다.
EBS vs. EFS
EBS(Elastic Block Storage)
- EBS 볼륨은 한 번에 하나의 인스턴스에만 연결된다.
- 다른 AZ의 인스턴스에 연결될 수 없다.
- 다른 AZ로 EBS 볼륨을 옮기고 싶다면 스냅샷을 찍고 다른 AZ에서 스냅샷을 복구한후에 사용할 수 있다.
- 이때 EBS 볼륨 백업이 IO를 사용하므로 어플리케이션이 대용량 트래픽을 다룰 때 실행하면 안된다.
EFS
- 서로 다른 AZ에 수백만개의 인스턴스를 연결할 수 있다.
- 여러 인스턴스가 하나의 파일 시스템을 공유할 수 있다.
- Linux에만 사용할 수 있고, EBS보다 비용이 높지만 EFS-IA 기능을 통해 비용을 절감할 수 있다.
'AWS' 카테고리의 다른 글
Section 11. Amazon S3 (0) | 2024.09.26 |
---|---|
Section 10. VPC(Basic) (0) | 2024.09.26 |
Section 9. Route 53 (0) | 2024.09.26 |
Section 8. RDS+Aurora+ElasticCache (0) | 2024.09.26 |
Section 5. EC2(Basic) (2) | 2024.09.24 |