EBS 와 EFS
AWS 에서 EC2 를 띄울때 저장공간인 Elastic Block Storage (EBS), Elastic File System (EFS) 를 설정하게 된다.
EBS
EBS 는 한 인스턴스에만 붙을 수 있으며 한 인스턴스에 여러 EBS 가 붙을 수는 있다.
AZ 에 Bound 되어 있으며 Root Volume 은 기본적으로 EC2 삭제시 함께 삭제되도록 세팅되어있다.
일종의 Network 기반의 USB 로 생각하면 쉽다.
이런 EBS 말고 실제 인스턴스가 존재하는 하드웨어의 저장공간 (Instance Store) 을 사용 할 수 있는데 IO 이 EBS 보다 훨씬 높으나 재부팅 시 파일이 없어진다.
EBS Types
EBS Type 으로는 gp2, gp3 / io1, io2 / st1, sc1 가 있다.
gp2, gp3 는 general purpose 의 약어로 일반적인 저장장치로 쓰인다.
io1, io2 는 높은 IO 가 요구되는 EC2 의 저장장치로 쓰인다. 특징으로 Multi-attach 기능을 통해 최대 16개의 EC2 에 동시에 연결될 수 있다. 이때 XFS 나 EX4 가 아닌 cluster 용 FS 을 사용해야한다.
st1, sc1 은 HDD 이며 가각 처리량, 장기보관에 최적화 되어있다. 중요한 특징으로는 Boot Volume 으로 쓰일 수 없다.
짜잘한 특징으로는 gp2 는 용량과 IOPS 가 특정 비율로 엮여있고 gp3, io1, io2 는 독립적이다.
Snapshot
이런 EBS 를 백업하고 다른 AZ 또는 Region 으로 이동하는 방법으로 Snapshot 이 있다.
만약 Snapshot 으로부터 EBS 를 생성하는데에 시간이 1~3일 정도 걸려도 괜찮다면 Snapshot Archive 를 사용하여 75% 정도의 비용을 절약할 수 있다.
또, 삭제한 Snapshot 이나 AMI 를 1~365일 동안 휴지통에 넣어두고 실수로 삭제한 경우 복구할 수 있는 Recycle Bin 도 있다.
Snapshot 으로 EBS 를 생성할 때 데이터 복제 과정이 백그라운드에서 이루어지기때문에 볼륨이 완전히 초기화될 때까지 IO 성능이 떨어진다. 이런경우 Fast Snapshot Restore (FSR) 를 사용하여 볼륨이 한번에 초기화되도록 할 수 있는데 비용이 많이 든다.
Regional 하다.
AMI
이전 포스팅에 간단히 나와있긴 한데, EC2 의 OS, 프로그램 등을 미리 세팅해둔 일종의 Snapshot 이다.
Regional 하다.
AWS 에서 제공하는 Public AMI, Marketplace 에서 구매하는 AMI, 자기가 직접 만든 AMI 를 사용할 수 있다.
EFS
EFS 는 NFS 로 여러 EC2 에서 동시에 접근이 가능하다.
Regional 하고 Multi-AZ 이며 EBS 에 비해 3배정도 비싸다.
window 에서는 못 쓴다.
SG 을 사용하여 Access 를 제한하고 Key Management Service (KMS) 로 데이터를 Rest Encryption 한다.
용량은 자동으로 늘어나서 설정할 필요가 없다.
Perfomance mode 와 Throughput mode 를 각각 설정할 수 있다.
- Perfomance mode
- General Purpose mode
- Max I/O mode
- standard 일 때만 선택 가능.
- Elastic Throughput mode 이 아닌 때만 선택 가능.
- Throughput mode
- Provisioned
- 미리 처리량을 예상가능한 경우.
- 예상 처리량을 넘기면 Burst mode 가 된다.
- Burst
- Burst Credit 을 적립하고 처리량이 증가하는 경우 Credit 을 사용하여 처리성능을 늘린다.
- Elastic
- 자동으로 처리성능을 조절한다.
- Provisioned
Storage Class 는 One Zone 여부와 Infrequent Access 여부로 총 4가지로 나뉜다.
- Storage Class
- Standard
- Standard - IA
- One Zone
- One Zone - IA