[SAA] Amazon EC2 - Instance Storage

Blue·2024년 1월 17일
0

SAA

목록 보기
5/25
post-thumbnail

Instance Storage 말 그대로 인스턴스의 저장소이다
그래서 EBS 에 대해서 배웠다.
EBS 가 뭐냐?
Elastic Block Store,,,
Elastic 이라는 말은 너무나도 많이 들어서 탄력적,,이라는 뜻이고 그냥 탄력적이니까 한곳에만이 아닌 여러곳 끼웠따 뻈따 할수 있다고 생각하면 될꺼같다.

뭐 하튼 정의는 instance 가 실행중인 동안 연결 가능한 network drive 라고 한다. 실제 Instance 생성하면 EBS Volume 도 같이 생성되는데 루트 라면은 Instance 삭제 하면 EBS 또한 같이 제거 되겠지만 EBS volume 만 생성하고 Instance 에 연결하게 되고 그 Instance 를 삭제한다면 EBS는 삭제 안되게 할수도 있다.
이부분은 뭐 뒤에서 더 살펴보고.

EBS 는 아쉽게도 AZ에 한정되어서 특정 가용 영역을 가진다.
앞에서도 봐서 알겠지만 us-east-1a 의 EBS 를 us-east-1b 에서 사용할수 없다는 뜻이다.
뭐 Snapshot 으로 할수있긴한데 이것도 뒤에서 알아보도록함.

EBS는 Network USB stick 이라고 생각하면 된다고 한다.
usb 처럼 그냥 필요할떄 끼워서 쓰고 뺴고 하면 된단다.

EBS Volume

위에서 다 말했지만 그냥 한번더 정리한다.
EBS volume 은 network Drive 라고 한다.
isntacne 와 EBS volume 이 서로 통신하기 위해서는 network 가 필요하다.
컴퓨터가 다른 서버에 도달할떄 지연 발생할수 있따는 말.
Elastic 이라는 말처럼 분리되고 다른 Instance 에 붙을수도 있다.

그리고 가용 영역 이동이 안된다.

마지막으로 용량을 미리 결정해야한다.

EBS 의 느낌이 오는지,,,?
그냥 컴퓨터 HDD 랑 똑같은 저장소인데 Cloud 서비스라고 생각하면 될꺼같다.

이렇게 지금 EC2 Instance 에 EBS 가 연결되어있는걸 확인할수 있다.
또한 Instance 하나에 여려개의 EBS Volume 또한 연결할수 있고
EBS volume 을 생성하고 연결 하지않고 그대로 둘수도 있다.

Delete on Termination attribute

종료시 삭제 버튼이다
실습때 봤었는데 Root Volume 은 Instance 생성시에 자동으로 만들어지게 되고 자동으로 Delete on Termination 기능이 활성화 되어있다.

Instance 생성시에 어떻게 체크하냐에 따라서 달라질수 있고, 기본설정은 삭제시 제거가 활성화 되어있다.

이 종료시 삭제의 기능은 언제 쓰면 될까? 그냥 말 그대로이다.
인스턴스 종료될때 root volume 을 유지하고 싶을때 사용하면된다.
DATA 저장하고싶을떄!

EBS Snapshots

Snapshots 이라고 하니까 뭐 카메라 찍는거 같은 느낌이지만..
사실상 Backup 이다.
EBS Volume 의 특정 시점에 대한 Backup 이다.

위에서 말했지만 EBS 자체는 AZ 에 종속되어있다.
가용영역을 벗어나면 새로운 EBS를 만들어줘야한다는 말이다.
하지만 1a Instance에 연결되어있던 EBS 를 1b의 Instance 에 연결하고 싶으면 1a Instance EBS 를 snapshot 을 만들고 그것을 복구하고 1b의 Instance 에 연결하면 된다.!

Snapshots Features

EBS Snapshot Archive

Snapshot 옮길수 있는 기능이라고 한다.
24시간에서 최대 72시간의 시간이 걸리게된다.

Recycle Bin for EBS Snapshots

영구 삭제 하게 되어도 휴지통에 들어간다는 소리이다.
실수로 Snapshot 을 지우더라도 자신이 설정한 휴지통 기간에 따라서 복원할수있다!

Fast Snapshot Restore(FSR)

Snapshot 완전 초기화 라고한다.
첫사용에 지연시간을 없앤다고 한다....
(뭐라는지 모르겠음)
Snapshot 이 아주 크고 EBS volume or EC2 INstance 를 빠르게 초기화 해야할떄 사용하는 기능이라고 한다.
이부분은 실습을 안해서 모르겠네..

AMI

AMI 는 Amazon Machine Image 로 우리가 INstance 생성할떄 Amazon Linux 2를 선택한 그거다.
EC2 Instance 를 통해 만든 Image 를 AMI 라고 한다.

AMI 는 AWS 에서 제공하는것을 쓸수도있고, 내가 AMI 를 만들수도 있고, 다른사람이 만든 AMI 를 사서 쓸수도 있다.

AMI Process

이부분도 실습을 해봤는데 Instance 한개를 만들고
이떄는 user data script 에 우리가 설정하고 싶은 code를 작성하고 만든다..
그리고 중지하고 AMI 를 만든다.

그럼 그 AMI 를 새로운 Instance 로 생성하게 된다면 우리는 user data script 에 초기설정한 그 AMI를 통해서 Instance 를 만들수 있었다.

EC2 Instance Store

가끔.... EBS Volume 은 성능은 물론 뛰어나지만 더 높은 성능을 요구할떄가 있다...
EC2 는 가상이지만 실제로는 하드웨어 서버에 연결되어있다고 한다.
그리고 해당 서버에 물리적으로 연결된 Disk 공간이 있는데 Ec2 Instance store 는 결국 해당하는 물리적 서버에 연결된 하드웨어 드라이브라고 한다.

EC2 Instance Store 는,,,,
I/O 성능이 좋고
정지되면 instance store 없어진단다.
영구 저장이 아니기 떄문에 캐쉬,버퍼,,,,이런것에 더 잘어울린다고한다.
기본 서버 장애 발생 할수있고
백업이 그래서 필수라고 함!!!

추후 정리

이렇게 말로써 적으니까 나도 모르겠음
그리고 실습도 이부분만 안해서 더 모르겠어서 이부분은 추후에 공부하고 또 정리하겠음.

EBS Volume Types

EBS Volume 은 6개의 유형으로 나뉜다.
범용인 gp2/gp3
높은 성능은 io1/io2
낮은 가격들의 st1,sc1 이 있다.

각각은 밑에서 더 자세히 보도록하고 이러한 유형들은 크기,처리량,IOPS(chekd I/O 처리량) 에 따라서 달라진다고한다.
그리고 st1,sc1 은 부팅 볼륨으로써 쓸수없지만 나머지는 사용할수 있다.

General Purpose SSD

짤븡ㄴ 지연시간,효율적인 범용의 Storage 이다.
1GB-16TB 까지의 범위를 가지고
이 유형에는 gp3,gp2로 나뉜다

gp3

이게 더 최신이라고 한다. 3000 IOPS,125MIB/s 처리량을 가진다.
최신인 만큼 서로가 연결되어있지않다. 즉 IOPS 따로,처리량 따로 설정할수 있다.
최대 16000 IOPS,1000 MIB/s 까지 설정할수 있다고 한다.

gp2

하지만 gp2 는 연결되어있지않다 IOPS와 처리량이 같이 설정되어야한다.
최대 16000 IOPS 를 가진다... 3IOPS 당 1GB 이여서 5344GB 가 최대 IOPS 일떄 최대인것을 확인할수 있다.
gp3 쓰면 된다 그냥 ㅋ

결국 gp3/gp2 는 비용 효과적인 storage 라고 한다.

Provisioned IOPS(PIOPS) SSD

IOPS 성능을 유지할 필요가 있는 주요 비지니스 APplication 이나 16000 IOPS 이상 필요할떄 이 Storage 를 사용하면 된다.
16000 IOPS 이상 ,,, 필요될떄 이거 쓰면된다.
DB Workload에 알맞다.

io1/io2

4GB 부터 16TB 까지의 범위를 가지고
최대 64000 IOPS 를 가진다
또한 gp3 처럼 독자적으로 IOPS 설정을 변경할수 있다.
io2 가 io1 보다 더 내구성이 높고 IOPS가 더 높다고 한다.

io2 Block Express

4GB 부터 64TB 까지의 범위를 가지고 정말 고성능 유형의 Volume 이다.
256000 IOPS 를 가진다....

Hard Disk Drives(HDD)

이 부분은 부트 Volume 으로는 사용할수 없다.
126GB 에서 16TB 의 범위를 가진다.

Throughput Optimized HDD(st1)

처리량에 최적화된 Storage 이다.
500 MB 처리량, 최대 500 IOPS 를 가지고있다.
빅데이터,웨어하우스 로그 처리기 등등,,,에 사용하면 맞다고 한다.

Cold HDD(Sc1)

Archive Data, 접근 빈도가 낮은 Data 에 적합하다고 한다.
250 MB 처리량,최대 250 IOPS 를 가진다.

EBS Multi-Attach

하나의 EBS Volume 을 같은 가용영역에 있는 여러 EC2 Instance에 연결 가능하다는 말이다.
이 Multi Attach 도 같은 AZ 에 있어야 사용할수 있다.
각각의 Instance 는 읽고 쓰기의 권한을 가지게 된다.

한번에 16개의 Instance 에 연결될수 있다.

이러한 Multi Attach 는 Application 의 가용성을 높이기 위해 사용할수있고 또한 동시 쓰기 작업을 관리해야할때 사용된다고 한다.

이 사진을 보면 이해갈것.

EBS Encryption

EBS 생성하면 우리가 모르게 어떠한 Encryption 작업이 동시 다발적으로 발생된다.....

암호화 되지 않은 EBS VOlume을 암호화 하려면 EBS Volume의 snapshot 을 만들고 그 Snapshot 을 암호화한다. 그리고 그 snapshot으로 새로운 Volume 을만들게 된다면 그 Volume 을 암호화 할수 있다.

Amazon EFS - Elastic File System

관리형 NFS 이다. (Network File System)
많은 EC2 에 Mount 될수 있다..
이런 EFS 는 다른 AZ 에서도 연결 가능하다.
이러한 EFS 는 가용성이 높고 확장성이 뛰어나며,,,비싸다.!

사용량에 따라 비용을 지불함으로 미리 용량을 Provisioning 할 필요가 없다.

이 사진을 보면 이해가 갈꺼다.
다른 AZ 에 연결되어서 사용할수 있다

근데 이 EFS 는 Window AMI 에는 연결이 안된다고 한다 무조건 Linux 계열의 AMI 에만 연결이 가능하다.

EFS- Performance

먼저 EFS 는 더 큰 규모로 확장이 가능하고

Performance Mode 에서는 범용 , MAX I/O 로 나뉜다.
MAX I/O 는 최대 처리량으로 그 용도에 맞게 사용하면 될꺼같다.

Thoroughput mode 는 3가지의 모드가 있는데
Bursting , Provisioned, Elastic 이있는데

설명한건 Provisioned 는 storage 크기 상관없이 처리량 설정하고 싶을떄 선택하는것이고
Elastic 은 workload 에 따라서 처리량을 자동으로 조절 가능한데 상황에 맞게 선택하면된다.

EFS - Storage Classes

Storage Tiers 는 생명 주기 관리 기능으로 며칠 후에 File 을 다른 계층으로 옮길수 있느 ㄴ기능이라고 한다.

Standard 와 EFS-IA(infrequent acess) 부분이 두개로 나뉜다고 하는데 Standard 는 자주 접근하는 곳이고 EFS-IA 는 자주접근하지 않는곳이다.

처음에 Standard 에 있다고 자신이 설정한 기간에 따라서 그 Data 는 EFS-IA 로 넘어간다고 한다. 그렇게 비용 절감 가능!!

EBS vs EFS

그래서 차이점이 뭔데?

EBS 는 한번에 하나의 instance 에 연결된다. AZ에 제한이 있고 AZ간의 Migration 하려면 Snapshot 을 만들어서 이동해야한다.
EBS Volume Backup은 I/O를 사용한다 Application 이 많은 트래픽 처리 한다면 실행하지 않아야한다.

Root EBS Volume 은 Instance 가 종료되면 종료되는걸 확인했다.


EFS 는 여러 가용성 영역에 걸친 수백개의 Instance 에 연결된다.
EFS-IA 를 사용해서 비용을 절감할수 있다.


Instance Store 는 물리적으로 EC2 Instance 에 첨부되어있다고한다.
그래서 Ec2 instance 손실되면 storage 손실된다.

솔직히 Instance Store는 정확하게 무슨소린지 몰라서 좀더 공부하고 정리하겠음.

profile
할수있다가 아닌 해야한다!!

0개의 댓글