EBS - Elastic Block Store, 인스턴스가 실행되는 동안 연결 가능한 네트워크 드라이브이다. EBS 볼륨을 사용하면 인스턴스가 종료되어도 데이터를 저장할 수 있다. 다른 인스턴스에 연결할 수 있다. 특정 AZ에서 생성할 수 있다. 스냅샷을 이용하면 다른 AZ에서도 사용할 수 있다. 프리티어는 매달 30GB의 EBS 스토리지를 SSD나 마그네틱 유형으로 제공한다. 미리 사용할 용량을 정해야 한다. 삭제 여부는 인스턴스 종료 시 삭제 옵션에서 제어할 수 있다.(root EBS는 종료 시 삭제되는 것이 기본값) EC2 인스턴스에는 gp2/gp3, io1/io2만 부팅 볼륨으로 사용할 수 있다.
- gp2/gp3 : 범용 SSD 볼륨, 다양한 워크로드에 대해 가격과 성능의 밸런스가 좋다. 시스템 부트 볼륨, 가상 데스크톱, 개발, 테스트 환경에서 사용할 수 있다. 1GB ~ 16TB, gp3는 최신 세대 볼륨으로 기본 성능은 3,000 IOPS, 초당 125MB 처리량을 제공한다. 각각 16,000 IOPS, 1,000MB까지 성능 향상이 가능하다. 연결되어 있지 않다. gp2는 이전 버전으로 3,000 IOPS이고 볼륨과 IOPS가 연결되어 있어 IOPS가 향상되는 범위가 정해져 있다.
- io1/io2 : 최고 성능 SSD 볼륨, 지연 시간이 낮고, 대용량 워크로드에 사용한다. 주요 비즈니스 어플리케이션, 16,000 IOPS 이상이 필요한 어플리케이션에 사용할 수 있다.(데이터베이스 워크로드) 스토리지 성능과 일관성에 예민하다. 4GB ~ 16TB, Nitro EC2 인스턴스에서는 최대 64,000 IOPS가 가능하다. 다른 인스턴스는 최대 32,000 IOPS까지 가능하다. gp3처럼 각각 성능 향상이 가능하다. io2는 io1과 동일 비용으로 내구성과 기가 당 IOPS 수가 더 높으므로 io2를 사용하는 것이 낫다. io2 Block Express는 4GB ~ 64TB인 더 고성능의 볼륨이다. 지연 시간은 밀리초 미만이고 IOPS:GB = 1000:1일 때 최대 256,000 IOPS가 가능하다.
- 다중 연결 : 하나의 EBS 볼륨을 같은 AZ에 있는 여러 인스턴스에 연결할 수 있는 기능이다. 각 인스턴스는 볼륨에 대해 읽기, 쓰기 권한이 주어진다. 어플리케이션 가용성을 높이기 위해 클러스터링된 리눅스 어플리케이션에서 사용하거나 동시 쓰기 작업을 관리해야 할 때 사용한다. 같은 AZ에서만 가능하다. 한번에 16개 인스턴스까지만 같은 볼륨에 연결 가능하다. 클러스터 인식 파일 시스템을 사용해야 한다.
- st1 : 저비용 HDD 볼륨, 잦은 접근과 처리량이 많은 워크로드에 사용한다. 부트 볼륨으로 사용할 수 없다. 125MB ~ 16TB, 빅데이터, 데이터 웨어하우징, 로그 처리에 사용할 수 있다. 초당 500MB, 500 IOPS를 제공한다.
- sc1 : 가장 비용이 적은 HDD 볼륨, 접근 빈도가 적은 워크로드에 사용한다. 부트 볼륨으로 사용할 수 없다. 125MB ~ 16TB, 초당 250MB, 250 IOPS를 제공한다.
EBS Snapshot - EBS 볼륨의 특정 시점에 대한 백업이다. 스냅샷을 만들기 위해서 EBS 볼륨을 인스턴스와 분리할 필요는 없지만 권장하고 있다. AZ나 리전에 영향받지 않는다. 즉, 다른 곳에서 사용할 수 있다.
- EBS Snapshot archive : 최대 75% 할인되는 archive tier로 스냅샷을 옮길 수 있다. archive를 복원하는데 24시간 ~ 72시간이 소요된다.
- EBS Snapshot Recycle Bin : 스냅샷을 삭제할 때 영구 삭제 대신 휴지통으로 삭제할 수 있다. 복원이 가능하다. 휴지통 보관 기간은 1일 ~ 1년으로 설정할 수 있다.
- Fast Snapshot Restore : 스냅샷을 완전 초기화해 첫 사용에서 지연 시간을 없앨 수 있다. 스냅샷이 매우 크고, EBS 볼륨이나 인스턴스를 빠르게 초기화할 경우에 사용할 수 있다. 비용이 많이 든다.
EBS Encryption - 볼륨을 암호화하면 남은 데이터가 볼륨 내부에 암호화가 되고, 인스턴스와 볼륨 간의 전송되는 데이터도 암호화된다. 스냅샷과 스냅샷으로 생성한 볼륨도 암호화된다. 지연시간에 거의 영향이 없고, KMS에서 암호화 키를 생성해 AEC-256 암호화 표준을 가진다. 암호화 되지 않은 스냅샷을 복사해 암호화를 활성화한다. EBS 볼륨을 암/복호화 하기 위해서는 먼저 볼륨의 EBS 스냅샷을 생성한다. 복사를 통해 EBS 스냅샷을 암호화한다. 스냅샷을 이용해 새 EBS 볼륨을 생성하면 해당 볼륨도 암호화된다. 암호화된 볼륨을 인스턴스에 연결한다.
AMI - Amazon Machine Image, EC2를 이용해 만든 이미지이다. 소프트웨어, 설정파일, OS 등을 추가할 수 있다. AMI를 이용하면(미리 AMI가 패키징 함) 부팅이나 설정 시간이 줄어든다. 특정 리전에 구축하고 다른 리전에서 사용할 수 있다. 이미지를 만들려면 먼저 인스턴스를 시작하고 중단해 무결성을 확보한다. 그리고 AMI를 만드는데 이때 EBS 스냅샷이 생성된다.
- Public AMI : AWS에서 제공하는 이미지이다. ex. Amazon Linux 2 AMI
- Own AMI : 자체적으로 만든 이미지를 말한다. 유지, 관리도 직접 해야한다.
- AWS Marketplace AMI : 다른 사람이 만든 이미지로 마켓에서 구매할 수 있다.
EC2 Instance Store - EBS 볼륨은 네트워크 드라이브로 성능이 제한되어 있다. 더 높은 성능이 필요할 경우 인스턴스와 연결된 하드웨어 디스크 성능이 높아져야 한다. 그래서 특정 유형의 인스턴스는 EC2 Instance Store라고 한다. 해당 물리적 서버에 연결된 하드웨어 드라이브를 말한다. I/O 성능 향상에 사용한다. 인스턴스 스토어를 중지하면 해당 스토리지도 손실된다.(임시 스토리지라고 한다.) 즉, 인스턴스 스토어는 장기적으로 데이터를 보관하는 곳이 아니다. 버퍼나 캐시, 스크래치 데이터, 임시 컨텐츠를 사용할 때 좋다. 인스턴스 기본 서버에 장애가 생기면 해당 하드웨어에도 장애가 발생해 데이터 손실의 위험성이 있다. 백업이나 복제를 하는게 좋다.
EFS - Elastic File System, 네트워크 파일 시스템으로 여러 인스턴스에 연결될 수 있다. 여러 AZ의 인스턴스에 연결할 수 있다. 가용성과 확장성이 높지만 gp2의 3배 정도의 가격이 든다. 사용량만큼 지불한다. 컨텐츠 관리, 웹 서버, 데이터 공유, 워드 프레스 등에 사용할 수 있다. NFSv4.1 프로토콜을 사용한다. 접근 제어를 위해 보안 그룹을 설정해야 한다. 리눅스 기반 AMI에서만 호환된다. 윈도우는 불가능하다. KMS를 통해 남아있는 데이터를 암호화할 수 있다. POSIX 시스템 쓰고, 표준 파일 API를 가진다. 수천개의 NFS 클라이언트에서 EFS에 동시 접근이 가능하고, 초당 10GB 처리량을 제공한다. 성능 모드를 정할 수 있는데 범용 모드는 기본 설정으로 지연 시간에 민감한 웹 서버, CMS 등에 사용한다. Max I/O는 지연 시간, 처리량, 병렬 처리 성능이 향상된다. 빅데이터, 미디어 처리 작업 등에 사용한다. 처치량 모드는 Bursting이 기본 설정으로 1TB 파일 시스템의 데이터 전송 속도는 초당 50MB이고 최대 100MB까지 가능하다. Provisioned 모드는 스토리지 크기에 상관없이 처리량을 설정할 수 있다. bursting은 사용 공간이 많을수록 용량과 처리량이 늘어난다. 일정 기간 후 파일을 다른 티어로 옮기는 기능도 있다.
- Standard Tier : 엑세스가 빈번한 파일을 저장한다. EFS를 다중 AZ에 설정한다. 프로덕션에 사용한다. 한 AZ가 중단되어도 EFS에 영향을 주지 않는다.
- EFS-IA(Infrequent Access) : 파일을 검색할 경우 비용이 발생한다. 파일을 저장하는 비용은 낮다. 이 기능을 사용하려면 수명 주기 정책을 사용해야 한다.
- One Zone : 하나의 AZ로 백업이 기본적으로 활성화된다. 개발할 때 사용한다. IA Tier와 호환되어 EFS One Zone-IA라고 한다. 요금을 절약할 수 있다.
EBS vs EFS - EBS는 한번에 하나의 인스턴스에 연결할 수 있고 특정 AZ에 국한된다. gp2는 디스크 용량이 늘면 IO도 같이 증가한다. io 1은 용량과 상관없이 늘릴 수 있다. 다른 AZ로 옮기려면 먼저 스냅샷을 만들어야 한다. 그리고 다른 AZ에서 복원해 만들 수 있다. 스냅샷이나 백업을 할 때는 인스턴스가 사용하지 않을 때 해야 한다. 인스턴스가 종료되면 루트 EBS 볼륨도 같이 종료된다. 종료되지 않도록 설정할 수 있다. 용량을 미리 정하고 그만큼의 비용을 지불한다. EFS는 여러 AZ의 많은 인스턴스에 연결할 수 있다. 파일을 공유할 때 사용한다. 리눅스 인스턴스에서만 가능하다. POSIX 시스템으로 윈도우에서는 작동되지 않기 때문이다. EBS 보다 3배정도 비싸다. 비용 절약을 위해서는 EFS-IA 티어로 수명 주기 정책을 설정하면 된다. EFS는 사용한만큼 청구된다.
'AWS > AWS Architect Associate' 카테고리의 다른 글
RDS, Aurora, Elastic Cache (0) | 2023.05.25 |
---|---|
ELB, ASG (0) | 2023.05.21 |
EC2 - Associate Level (0) | 2023.02.06 |
EC2 (0) | 2023.02.03 |
IAM (0) | 2023.02.02 |