728x90
반응형
EBS
- Elastic Block Store의 줄임말
- 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브
- EBS 볼륨을 사용하면 인스턴스가 종료된 후에도 데이터를 지속할 수 있다
- 한 번에 하나의 인스턴스에만 마운트할 수 있다
- 특정 가용 영역에서만 가능
EBS 볼륨
- 네트워크 USB 스틱이라고 생각하자
- USB 스틱처럼 한 컴퓨터에서 꺼내 다른 컴퓨터에 꽂아 사용
- 실제 물리적 연결은 없음. 네트워크를 통해 연결
- 네트워크 연결을 통한 지연이 발생할 수 있음
- 하나의 가용 영역에 한정됨
- cf. 스냅샷을 이용하면 다른 가용 영역으로도 볼륨을 옮길 수 있다
- 사용량 프로비저닝 필요
- EC2 인스턴스를 통해 EBS 볼륨을 생성할 경우 ⇒ 종료 시 삭제 속성이 있다
- 인스턴스가 종료될 때 루트 볼륨을 유지하고자 하는 경우 → 즉 데이터를 저장하고자 하는 등의 경우, 루트 볼륨의 종료 시 삭제 속성을 비활성화
EBS 스냅샷
- EBS 볼륨의 특정 시점에 대한 백업
- 다른 가용 영역이나 다른 리전에도 복사할 수 있다
스냅샷의 기능
- 스냅샷 아카이브 : 아카이브 티어로 스냅샷을 옮길 수 있는 기능
- 아카이브로 옮기면 아카이브를 복원하는데 24시간에서 72시간이 걸린다
- EBS 스냅샷 휴지통 : 스냅샷을 삭제할 때 영구 삭제하는 대신 휴지통에 넣을 수 있다 → 실수로 넣었을 때 복원 가능
- 빠른 스냅샷 복원(FSR) : 스냅샷을 완전 초기화, 지연 시간을 없애는 기능, 많은 비용 발생
- Fast Snapshot Restore
AMI (Amazon Machine Image)
- EC2 인스턴스를 통해 만든 이미지
- AMI에 원하는 소프트웨어 or 설정 파일을 추가, 별도의 운영 체제를 설치, 모니터링 툴 추가 가능
- AMI를 따로 구성하면 부팅 및 설정에 드는 시간을 줄일 수 있다
- EC2 인스턴스에 설치하고자 하는 모든 소프트웨어를 AMI가 미리 패키징
- AMI를 특정 지역에 구축한 다음, 다른 지역으로 복사 → AWS 글로벌 인프라를 활용
- EC2 인스턴스 launch 방식
- 퍼블릭 AMI
- 직접 구축한 AMI
- 다른 사람이 구축한 AMI를 AWS 마켓플레이스를 통해 구매해서 사용
AMI 처리 과정
- EC2 인스턴스를 원하는 대로 설정
- 인스턴스를 중지해 데이터 무결성을 확보
- 인스턴스를 바탕으로 AMI를 구축
- 이 과정에서 EBS 스냅샷 생성 → 다른 AMI에서 인스턴스를 실행 가능
인스턴스 스토어
- EC2는 가상 머신이지만, 실제로는 하드웨어 서버에 연결되어 있다
- 특정 유형의 EC2 인스턴스는 EC2 인스턴스 스토어라고 불림 → 물리적 서버에 연결된 하드웨어 드라이버를 가리킴
- 특징
- I/O 성능의 향상
- 인스턴스 스토어를 중지 또는 종료하면 해당 스토리지 또한 손실됨 → 임시 스토리지
- ⇒ 장기적으로 데이터를 보관하는 장소 x (cf. 장기 스토리지의 경우 EBS가 적합)
- 버퍼나 캐시, 스크래치 데이터나 임시 콘텐츠를 사용할 때 사용
- EC2 인스턴스의 기본 서버에 장애가 발생할 때 데이터 손실에 대한 위험이 존재
- → 필요에 따라 데이터를 백업이나 복제해두어야 한다
EBS 볼륨 유형
- 총 6개의 유형이 있다
- gp2 / gp3 (SSD) : 범용 볼륨
- io1 / io2 (SSD) : 최고 성능을 가진 볼륨, 업무가 크리티컬하고, 지연 시간을 낮게 유지해야하는 대용량의 워크로드에 사용
- st 1 (HDD) : 저비용, 잦은 접근과 처리량이 많은 워크로드에 사용
- sc 1 (HDD) : 가장 비용이 적게 드는 볼륨, 접근 빈도가 낮은 워크로드를 위해 설계
- EBS 볼륨은 크기, 처리량 IOPS(초당 작업 수) 를 기준으로 구분
- gp2, gp3, io1, io2만이 부팅 볼륨으로 사용될 수 있다
GP 2/3 (General Purpose SSE)
- 짧은 지연시간, 효율적인 비용의 스토리지
- 1GB - 16TB까지 지원
- 기억하기
- 비용 효과적인 스토리지
- gp3에서는 IOPS와 처리량을 독자적으로 설정 가능
- gp2에서는 IOPS와 처리량이 연결되어 있음
Provisioned IOPS
- IOPS 성능을 유지해야 하는 비즈니스 애플리케이션이나 16,000 IOPS 이상을 요구하는 애플리케이션에 적합
- 일반적인 DB 워크로드에 알맞다
- 스토리지 성능과 일관성에 아주 민감할 때 io1 또는 io2 볼륨으로 변경하는 것을 권장
- 4GB - 16TB까지 지원
- 32,000 IOPS 이상을 요구할 때
st1, sc1
- st1
- 처리량 최적화 HDD
- 빅데이터나 데이터 웨어하우징 로그 처리에 적합
- sc1
- 아카이브 데이터용
- 접근 빈도가 낮은 데이터 저장에 사용
- 최저 비용으로 데이터 저장
cf. 대략적으로 모든 볼륨의 차이를 이해할 필요
EBS 다중 연결
- 하나의 EBS 볼륨을 같은 가용 영역에 있는 여러 EC2 인스턴스에 연결할 수 있게 해준다
- EBS 볼륨 중 io1, io2 제품 군에서만 사용 가능한 기능
- 각 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 갖는다 → 동시에 읽고 쓰기 가능
- 제한사항
- 해당 가용 영역 내에서만 사용 가능
- 한 번에 16개의 EC2 인스턴스만 같은 볼륨에 연결할 수 있다
- 다중 연결을 실행하려면 반드시 클러스터 인식 파일 시스템을 사용해야 한다
EBS 암호화
- EBS 암호화 사용시 → 암호화가 동시다발적으로 일어남
- 저장 데이터가 볼륨 내부에 암호화
- 인스턴스와 볼륨 간의 전송 데이터가 암호화
- 스냅샷, 스냅샷으로 생성한 볼륨 모두 암호화
- 암호화 및 복호화 매커니즘은 보이지 않게 처리됨 (백그라운드에서 EC2와 EBS가 모두 처리)
- 암호화는 지연시간에 영향이 거의 없고, KMS에서 암호화 키를 생성 → AES-256 암호화 표준을 갖는다
EBS 볼륨의 암호화 및 복호화 풀기
- 볼륨의 EBS 스냅샷을 생성
- 복사 기능을 통해 EBS 스냅샷을 암호화 함
- 스냅샷을 이용해 새 EBS 볼륨을 생성하면 해당 볼륨도 암호화 됨
- 암호화된 볼륨을 인스턴스 원본에 연결한다
Amazon EFS - Elastic File System
- EFS : 관리형 NFS, 네트워크 파일 시스템
- 여러 EC2 인스턴스에 마운트 될 수 있다
- EC2 인스턴스들은 여러 가용 영역에 있을 수 있다
- 가용성, 확장성, 높은 가격 (gp2 EBS 볼륨의 3배 정도)
- 사용량만큼 지불 → 미리 용량을 프로비저닝하지 않아도 됨
- 내부적으로는 NFS 프로토콜을 사용
- EFS에 대한 액세스 제어를 위해 보안 그룹을 설정해야 함
- Linux 기반 AMI와 호환 (window x)
- KMS → EFS 드라이브에 저장 데이터 암호화를 활성화
- 리눅스 파일 저장 표준인 POSIX 시스템을 사용하고 표준 파일 API를 갖는다
- 미리 용량을 계획하지 않아도 된다
- 파일 시스템이 자동으로 확장, 사용량에 따라 요금을 지불
EFS의 성능
- 수천 개의 NFS 클라이언트에서 EFS에 동시 액세스할 수 있게 확장, 초당 10GB의 처리량
- 용량을 미리 프로비저닝 하지 않아도 네트워크 파일 시스템이 PB 규모로 자동 확장
- 다양한 성능 모드를 설정할 수 있음
- 범용 모드 : 기본 설정으로 지연 시간에 민감한 웹 서버, CMS와 같은 사용 사례에서 사용
- 최대 I/O : I/O를 최대화하고 싶을 때
- 지연 시간, 처리량, 병렬 처리 성능 향상
- 빅데이터, 미디어 처리 작업이 있을 때 유용
- 처리량 모드 : 버스팅 모드가 기본값 (1TB 파일 시스템의 데이터 전송 속도가 초당 50MiB, 초당 100MiB까지 버스트 가능
- 버스팅 모드에서는 사용 공간이 많을 수록 버스팅 용량과 처리량이 늘어남
- 프로비저닝 모드에서는 스토리지 크기에 상관없이 처리량을 설정 가능
EFS - 스토리지 클래스
- 스토리지 계층을 설정할 수 있다
- 일정 기간 후에 파일을 다른 계층으로 옮기는 기능
- 스탠다드 : 액세스가 빈번한 파일을 보통 저장
- EFS-IA 계층
- 파일을 검색할 때 검색에 대한 비용이 발생
- 저장 비용은 낮음
- EFS-IA를 활성화하기 위해 수명 주기 정책을 사용해야 함 (cf. EFS-IA; Infrequent Access)
- 설정한 수명 주기 정책에 따라 EFS-IA 계층으로 옮겨짐 → 비용이 낮아짐
- 가용성과 내구성 측면, 2가지 옵션
- 스탠다드 : EFS를 다중 AZ에 설정, 프로덕션 사용 사례에 적합
- 한 가용 영역이 중단되더라도 EFS 파일 시스템에 영향을 주지 않기 때문
- One Zone EFS 파일 시스템으로 개발하는 것도 가능
- 하나의 AZ이므로 기본적으로 백업이 활성화된다
- EFS-IA 스토리지 계층과 호환 가능 → EFS One Zone-IA라고 부른다
- 요금이 훨씬 큰 폭으로 할인 됨
- 스탠다드 : EFS를 다중 AZ에 설정, 프로덕션 사용 사례에 적합
cf. 언제 EFS를 사용하는지
유효성 검사와 요구 사항 준수를 위해 EFS 네트워크 파일 시스템에 설정해야 하는 옵션
EBS vs EFS
EBS 볼륨
- 한 번에 하나의 인스턴스에만 연결이 가능
- 특정 가용 영역에 한정
- gp2 : 디스크 크기가 늘어나면 IO도 함께 증가
- io1 : IO를 볼륨 크기와 관계없이 독립적으로 증가 가능 → 중요 DB를 실행할 때
- EBS 볼륨을 다른 가용 영역으로 옮기려면 가장 먼저 스냅샷을 찍어야 함
- 다른 AZ에서 스냅샷을 복원시켜 사용
- EBS 볼륨 내의 IO를 전부 사용하게 되므로 인스턴스가 EBS를 사용 중이 아닐 때에만 실행해야 한다
- EC2 인스턴스가 종료되면 인스턴스 내의 루트 EBS 볼륨도 기본적으로 종료됨 (비활성화 가능)
EFS
- 여러 개의 가용 영역에 걸쳐 무수히 많은 인스턴스에 연결될 수 있다
- EFS Mount Target을 사용해 특정 AZ에서 EC2 인스턴스들과 EFS 드라이브를 연결해 줄 수 있다
- 리눅스 인스턴스에서만 가능, POSIX 파일 시스템이라 윈도우에서 구동되지 않음
- EFS는 EBS보다 훨씬 비싸다 (거의 3배)
- 비용을 절약하고 싶다면 스토리지 티어로 EFS-IA를 사용, 제품 수명 정책을 사용해 비용 절감
- EFS는 사용한 만큼만 비용이 청구됨 (EBS는 실제 사용량이 아닌 드라이브의 크기에 따라 정해진 사용량을 지불하는 방식)
- 다수의 인스턴스에 걸쳐 연결해야 하는 네트워크 파일 시스템에 적합
EFS vs EBS vs Instance Store
- EFS : 다수의 인스턴스에 걸쳐 연결해야 하는 네트워크 파일 시스템에 적합
- EBS : 네트워크 볼륨을 한 번에 하나의 인스턴스에 연결, 특정 AZ 내로 한정
- 인스턴스 스토어 : EC2 인스턴스에 IO를 최대로 사용하게끔 해주지만, 인스턴스가 망가지면 함께 망가지는 임시 드라이브
'Cloud' 카테고리의 다른 글
[AWS/Cloud] 강의 노트 : 고가용성 및 스케일링성: ELB 및 ASG (0) | 2023.09.10 |
---|---|
[AWS/Cloud] 강의 노트 : EC2 기초 (0) | 2023.09.02 |
[AWS/Cloud] 강의 노트: IAM 및 AWS CLI (0) | 2023.08.31 |
[AWS/Cloud] 강의 노트: AWS 시작하기 (0) | 2023.08.30 |
[AWS/Cloud] SAA-03 취득 주절주절 후기, 공부 방법 정리 (0) | 2023.08.26 |