📌 EBS(Elastic Block Store) Volume
- EBS는 인스턴스에 연결 가능한 네트워크 드라이브로, 인스턴스가 종료된 후에도 데이터를 유지할 수 있음.
- 인스턴스를 다시 생성하고 이전 EBS 볼륨을 마운트하면 데이터 복구 가능.
- CCP 레벨: 한 번에 하나의 EBS 볼륨만 하나의 인스턴스에 연결 가능.
- 어소시에이트 레벨: 일부 다중 연결 가능.
- EBS 볼륨은 특정 가용성 영역(AZ)에서만 생성 가능.
- 네트워크로 연결된 USB 스틱과 비슷한 개념이지만 물리적으로 연결되지 않음.
- 무료 티어: 월 30GB의 범용(SSD) 또는 마그네틱 유형의 무료 스토리지 제공.
- 네트워크 기반 드라이브:
- 즉 물리적 드라이브 ❌
- EC2 인스턴스와 EBS는 네트워크를 통해 통신하므로 약간의 지연 시간이 발생할 수 있음.
- 인스턴스와 분리되었다가 다른 인스턴스에 빠르게 연결 가능.
- 가용성 영역(AZ)에 고정됨:
- 즉 us-east-1a의 EBS 볼륨은 us-east-1b에 연결할 수 없음
- 동일한 AZ 내에서만 연결 가능하지만, 스냅샷을 통해 다른 AZ로 복사 가능.
- 용량 및 성능 설정:
- 미리 GB 및 IOPS(초당 전송 수)를 결정해야 하며, 이에 따라 요금이 부과됨.
- 필요 시 용량을 확장하여 더 큰 사이즈와 성능을 얻을 수 있음
- US-EAST-1A:
- 한 EC2 인스턴스에 하나의 EBS 볼륨을 연결할 수 있음.
- 하나의 EBS 볼륨은 한 번에 하나의 EC2 인스턴스에만 연결 가능(단, 인스턴스는 여러 EBS 볼륨을 가질 수 있음).
- 두 번째 EC2 인스턴스를 생성하면 고유한 EBS 볼륨을 연결해야 함.
- EBS 볼륨은 한 번에 두 개의 인스턴스와 연결될 수 없으므로
- (인스턴스 하나에 두 개의 EBS 볼륨이 연결되는 것은 가능)
- US-EAST-1B:
- 다른 가용 영역(AZ)에 EBS 볼륨을 두려면, 해당 AZ에 별도로 생성해야 함.
- EBS 볼륨은 특정 AZ에 고정되어, 다른 AZ의 EC2 인스턴스에 바로 연결할 수 없음.
- EBS 볼륨은 연결하지 않고 unattached 상태로 유지할 수도 있음.
EBS 볼륨은 한 번에 하나의 EC2 인스턴스와 연결되며, 가용 영역 간에 EBS 볼륨을 바로 연결할 수 없으므로 AZ 내에서 관리가 필요함.
📌 EBS - Delete on Termination attribute (시험 출제 가능성 ⭕)
EC2 인스턴스를 통해 EBS 볼륨을 생성하는 경우 종료 시 삭제하는 속성
- 기본 설정
- 루트 EBS 볼륨: 인스턴스 종료 시 자동으로 삭제됨 (속성 활성화).
- 추가 EBS 볼륨: 기본적으로 삭제되지 않음 (속성 비활성화).
- 이 속성은 AWS 콘솔 또는 AWS CLI를 통해 활성화/비활성화 가능.
EC2 종료 시 루트 볼륨은 삭제되지만, 추가 볼륨은 삭제되지 않으며, 설정을 통해 이를 제어할 수 있음.
실습_볼륨 생성 및 연결
- 인스턴스 시작 시: 기본적으로 루트 EBS 볼륨이 종료 시 삭제로 설정됨. (사진에서 8GiB의 루트 볼륨이 자동으로 생성됨).
- 루트 볼륨은 기본적으로 인스턴스가 종료되면 삭제됨.
- 추가 볼륨은 별도로 생성되며, 가용 영역 내에서만 연결 가능함.
- EBS 볼륨은 특정 가용 영역에 고정되며, 다른 가용 영역에서 바로 사용할 수 없음.
사진에서 볼 수 있듯이, 인스턴스 종료 시 루트 볼륨은 삭제되도록 설정되어 있지만, 추가 볼륨은 독립적으로 관리됨.
📌 EBS Snapshots
- EBS 볼륨의 특정 시점에서의 백업
- 스냅샷을 위해 볼륨을 분리할 필요는 없지만 안정성을 위해 권장됨
- EBS 스냅샷을 사용하면 다른 가용 영역(AZ) 또는 리전으로 복사 가능.
- 예: US-EAST-1A에 있는 EBS 볼륨을 스냅샷으로 생성하고, US-EAST-1B에 있는 EC2 인스턴스에서 복원 가능.
✅ EBS 볼륨을 전송하는 방법
- EBS 볼륨의 스냅샷을 생성.
- 생성된 스냅샷을 다른 AZ 또는 리전으로 복사.
- 복사된 스냅샷을 사용해 다른 인스턴스에서 복원.
📌 EBS Snapshots Features
- EBS 스냅샷 아카이브
- 스냅샷을 75% 더 저렴한 "아카이브 티어"로 옮길 수 있는 기능
- 스냅샷을 아카이브 티어로 옮기면 아카이브를 복원하는 데에 24~72시간 정도 소요
- EBS 스냅샷용 휴지통
- 실수로 삭제된 스냅샷을 복구할 수 있도록 삭제된 스냅샷을 보관하는 규칙 설정
- 보존 지정(1일에서 1년까지 설정할 수 있음)
- 빠른 스냅샷 복원(FSR)
- 스냅샷을 완전히 초기화하는 것.
- 스냅샷을 처음 사용할 때 지연 시간이 없도록 강제($$)
- 특히 스냅샷이 매우 클 때 EBS 볼륨을 초기화해야 하거나 또는 매우 빠르게 인스턴스화해야 하는 경우에 유용함
- 비용이 많이 듦
📌 AMI
AMI = Amazon Machine Image
- AMI는 사용자 지정 EC2 인스턴스를 나타냄
- AWS에서 제공하는 Public AMI(예: Amazon Linux 2 AMI) 또는 사용자 지정 AMI를 사용할 수 있음.
- 사용자 지정 AMI는 소프트웨어, 구성, 운영 체제 등을 사전에 패키징해 부팅 및 구성 시간을 단축시킴.
- 사용자 지정 AMI는 원하는 리전에 복사하거나 AWS 글로벌 인프라를 활용해 배포 가능.
- AMI 세 가지 유형:
- Public AMI: AWS에서 제공하는 AMI.
- 사용자 지정 AMI: 사용자가 직접 만들고 유지 관리.
- AWS 마켓플레이스 AMI: 다른 사용자가 만든 AMI, 구매 가능.
📌 AMI Process (from an EC2 instance)
- EC2 인스턴스 시작 후 이를 사용자 지정으로 바꿔줌
- 인스턴스 중지시켜 데이터 무결성을 확보함
- AMI 구축 - 이 떄 표시는 되지 않지만 EBS 스냅샷도 생성됨
- 다른 AMI에서 인스턴스 실행할 수 있게 됨
AMI는 EC2 인스턴스의 사용자 지정 이미지로, 소프트웨어와 설정이 포함된 인스턴스를 빠르게 생성할 수 있으며,
Public, 사용자 지정, 마켓플레이스 AMI로 나눌 수 있음. AMI 생성 과정에서 EBS 스냅샷도 함께 생성됨.
👩🏻💻 실습_AMI 생성
#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
httpd 웹 서버가 사전 설치된 AMI를 사용해 EC2 인스턴스를 시작했기 때문에, 다시 httpd를 설치할 필요 없이 빠르게 웹 페이지에 접속 가능.
EC2 인스턴스와 연결된 스토리지 옵션
- EC2 인스턴스 스토어:
- 가상 머신인 EC2 인스턴스가 실제로 하드웨어 서버에 연결되어 있으며, 이 서버에는 물리적으로 연결된 디스크 공간이 있음.
- 특정 유형의 EC2 인스턴스는 EC2 인스턴스 스토어라고 불리며, 향상된 I/O 성능을 제공하기 위해 사용됨.
- 🚨주의: 인스턴스를 중지 또는 종료하면, 스토리지 데이터는 손실🚨
- 따라서 임시 스토리지로 간주되며, 장기 스토리지로 사용하기엔 부적합.
- 주로 버퍼, 캐시, 임시 데이터 등 단기적인 데이터 저장에 적합.
- EBS는 장기 스토리지로 적합함.
- EBS 볼륨 유형:
- gp2/gp3 (SSD): 다양한 워크로드에 대해 가격과 성능의 균형을 맞춘 범용 SSD 볼륨.
- io1/io2 블록 익스프레스 (SSD): 저지연, 고처리량 워크로드를 위한 최고 성능의 SSD 볼륨.
- st1 (HDD): 자주 액세스하는 처리량 집약적 워크로드를 위한 저비용 HDD 볼륨.
- sc1 (HDD): 액세스 빈도가 낮은 워크로드를 위한 최저가 HDD 볼륨.
EBS 볼륨 특성:
- 크기, 처리량, IOPS(초당 입출력 작업 수)로 정의됨.
- gp2/gp3 및 io1/io2 블록 익스프레스 볼륨만 부팅 볼륨으로 사용 가능 (운영 체제가 실행되는 위치).
EC2 인스턴스 스토어는 임시 스토리지로 적합하며, I/O 성능이 뛰어남.
그러나 장기 스토리지가 아니므로 데이터 손실에 주의해야 하며, 백업을 권장.
EBS는 장기 데이터 저장에 적합하며 다양한 유형으로 제공됨, 그 중 일부는 부팅 볼륨으로 사용 가능함
📌 General Purpose SSD (GP2, GP3) _EBS 볼륨
(GP2, 범용 볼륨과 프로비저닝된 IOP 볼륨이 시험에서 가장 중요할 것임)
- GP2:
- 비용 효율적이며 짧은 지연 시간 제공.
- 시스템 부팅 볼륨, 가상 데스크톱, 개발 및 테스트 환경에 적합.
- IOPS는 볼륨 크기와 연동되어 최대 3,000 IOPS까지 제공, 최대 16,000 IOPS까지 가능.
- GP3:
- 최신 세대 볼륨으로 기본 3,000 IOPS와 125 MiB/s 처리량 제공.
- IOPS와 처리량을 독립적으로 설정할 수 있으며, 최대 16,000 IOPS와 1,000 MiB/s 처리량 지원.
GP2와 GP3는 비용 효율적인 스토리지와 낮은 지연 시간 용도라는 것을 기억!!
GP3에서는 IOP와 처리량을 독립적으로 설정할 수는 있지만
GP2에서는 서로 연결됨
📌 프로비저닝 IOPS(PIOPS) SSD (io1, io2) _EBS 볼륨
- 지속적인 IOPS 성능이 필요한 비즈니스 애플리케이션에 적합.
- 데이터베이스 워크로드에 적합하며, 스토리지 성능과 일관성 요구가 높은 경우 사용.
- io1: 최대 64,000 IOPS(Nitro EC2 인스턴스), 32,000 IOPS(그 외).
- io2 Block Express: 최대 256,000 IOPS, 최대 64TB까지 확장 가능.
- EBS Multi-attach 지원 (다중연결지원)
PIOPS는 고성능 스토리지와 IOPS 독립 조정이 필요한 경우 적합.
📌 하드 디스크 드라이브(HDD) _EBS 볼륨
- 부팅 볼륨으로 사용할 수 없음
- ST1 (처리량 최적화 HDD):
- 빅 데이터, 데이터 웨어하우스, 로그 프로세싱에 적합.
- 최대 500 MiB/s 처리량, 최대 500 IOPS 제공.
- SC1 (콜드 HDD):
- 자주 액세스하지 않는 데이터에 적합.
- 가장 저렴한 비용으로 제공되며, 최대 250 MiB/s 처리량, 최대 250 IOPS 제공.
ST1은 고처리량, SC1은 낮은 빈도의 데이터에 최적화.
범용 SSD(GP2, GP3) 일반적인 워크로드와 부팅 볼륨에 적합. 프로비저닝된 IOPS SSD 고성능 애플리케이션 및 데이터베이스에 최적화. HDD (ST1, SC1) 고처리량 작업이나 자주 액세스하지 않는 데이터에 적합.
EBS Multi-Attach - io 1 / io2 family
- 다중 연결 기능을 사용하면 동일한 EBS 볼륨을 동일한 AZ의 여러 EC2인스턴스에 연결할 수 있음
- 각 인스턴스에는 고성능 볼륨에 대한 전체 읽기 및 쓰기 권한을 갖게 됨.
- 즉 모두 동시에 쓰기와 읽기가 가능함
- Use cases:
- 클러스터된 Linux 애플리케이션의 가용성을 높일 수 있습니다. (예: Teradata)
- 애플리케이션이 동시 쓰기 작업을 관리할 수 있는 경우 사용 가능
- 하나의 EBS 볼륨은 한 번에 최대 16개 (암기)의 EC2 인스턴스에 연결할 수 있음
- 이 기능을 사용하려면 클러스터 인식 파일 시스템을 사용해야 하며, 일반적인 파일 시스템(XFS, EXT4 등)은 사용할 수 없음
반응형
'AWS' 카테고리의 다른 글
AWS Section 7-1. ELB + ASG (0) | 2024.09.27 |
---|---|
AWS Section 6-2. EC2 인스턴스 스토리지 (0) | 2024.09.27 |
AWS Section 5. EC2 기초 (0) | 2024.09.27 |
AWS Section 4-2. IAM 및 AWS CLI (0) | 2024.09.27 |
AWS Section 4-1. IAM 및 AWS CLI (0) | 2024.09.27 |