Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS EBS란? (Elastic Block Store)

seongduck 2023. 1. 5. 01:03
  • EC2 인스턴스에 연결되는 가상(블록)의 스토리지이다.
  • EC2 인스턴스 시작 시 AMI가 설치되는 EBS 루트(부트) 볼륨이 생성됨
  • 여러 개의 EBS 볼륨을 생성하여 EC2에 추가 연결 가능 (EC2에 A-EBS(10GB) + B-EBS(5GB))
  • 하지만 EBS와 EC2는 동일한 가용영역에 있어야 연결이 가능하다.
  • 스냅샷(Snapshot) 기능을 통해 EBS 볼륨 백업 가능
  • 수명 주기 관리자 (Data Life Cycle Manager) 정책을 통해 스냅샷 생성 일정을 자동화 가능
  • AWS Key Management Service (KMS)를 이용해 EBS 볼륨 암호화 가능

 

EBS 볼륨 유형


  • 볼륨 유형에 따라 제공되는 키기 및 IOPS, 최대 처리량이 다름
  • 부트 볼륨은 범용 SSD, 프로비저닝 된 SSD만 지원
  • EBS 다중 연결은 프로비저닝 된 SSD만 지원한다.

 

SSD TYPE

범용 SSD (gp2 or gp3) 

  • 볼륨당 IOPS 16,000
  • 일반용도

프로비저닝된 IOPS SSD(io1 or io2)

  • 볼륨당 IOPS 64,000 ~ 256,000
  • 고성능 처리

 

HDD TYPE

처리량 최적화 HDD(st1)

  • 볼륨당 IOPS 500
  • 저비용

콜드 HEE(sc1)

  • 볼륨당 IOPS 250
  • 최저 비용

 

EBS 다중연결 (EBS Multi-Attach)


  • 하나의 EBS 볼륨을 여러 EC2에 동시에 연결하는 기능
  • 동일한 가용영역 내에서만 연결 가능
  • 모든 EC2 유형을 연결하는 것이 아닌, Nitro 기반(지원하는) Linux 인스턴스만 연결 가능
  • 또한 EBS 볼륨은 프로비저닝 된 IOPS SSD만 지원
  • 동시에 최대 16대 EC2 인스턴스 연결 가능
  • 여러 EC2 인스턴스에서 하나의 EBS 볼륨에 동시 쓰기 작업이 필요한 클러스터링 된 Linux 앱에서 사용

 

EBS Snapshots


  • EBS 볼륨의 데이터를 백업하는 기능
  • 백업된 스냅샷을 다른 AZ 또는 리전에 복사 가능
  • 스냅샷을 커스텀  AMI 이미지로 만들 수 있음
  • 백업된 스냅샷을 가지고 새로운 EC2 인스턴스를 생성가능
  • EBS 스냅샷 아카이브 (EBS Snapshot Archive)
    • 자주 Access하지 않는 것은 여기에 보관 (90일 이상 저장할 계획이고 액세스할 필요가 거의 없는 스냅샷에 대해 최대 75% 비용이 저렴(최소 과금 기간 90일)
  • EBS 스냅샷 휴지통 (Recycle Bin for EBS Snapshot)
    • 실수로 삭제한 스냅샷을 휴지통에 보관해서 복구 가능
    • 삭제된 파일을 1일부터 365일까지 보관설정 가능
  • EBS 빠른 스냅샷 복원 (EBS Fast Snapshot Restore-FSR)
    • 지연시간을 최소화 하여 빠르게 스냅샷으로부터 EBS 볼륨을 복원하는 기능
    • 그대신 비용은 조금 더 든다..

 

암호화 되지 않은 EBS 볼륨 암호화


  1. EBS 볼륨 스냅샷을 생성
  2. EBS 볼륨 스냅샷을 복사한 후 스냅샷을 암호화 후 암호화된 스냅샷으로부터 새 EBS 볼륨 생성 또는 암호화 되지 않는 스냅샷에서 새 EBS 볼륨을 생성할 때 암호화 선택
  3. 새 EBS 볼륨을 EC2 인스턴스에 연결

 

 

EBS 볼륨 실습


우선 인스턴스를 하나 만들어주자

 

 

보안그룹은 ssh_web_Access 선택

 

요것이 EBS 볼륨이다!!

 

이렇게 설정할 수 있다.

 

사용자 데이터에 웹 스크립트 생성하는 것을 추가하자.

#!/bin/bash
yum update -y
yum install httpd -y
systemctl enable httpd.service
systemctl start httpd.service
cd /var/www/html
echo "안녕하세요. AWS EC2입니다. $(hostname -f)" > index.html

 

인스턴스 생성 완료!

퍼블릭 IPv4를 URL에 입력하여 잘 접속되는지 확인한다.

 

 

EBS 볼륨을 만들어 EC2에 연결해보자


  • 동일한 가용영역에 만들어야 한다.

 

 

인스턴스 선택후에 볼륨연결을 완료한다.

 

잘 연결된 것을 확인할 수 있다.

 

EBS 볼륨을 백업하는 Snapshots 만들기


이를 통해 일정 주기에 따라 스냅샷을 일정적으로 생성해줄 수 있다.

 

[스냅샷 생성]을 통해 만들어보자

이름을 적어주고 만들어준다.

 

스냅샷이 잘 만들어졌다.

 

이렇게 볼륨을 만들어주고 EC2에 붙여줄 수 있다.

볼륨을 만들땐 같은 가용영역에 있는 EC2에만 EBS를 할당할 수 있으므로 다른 가용영역에서 만들면 되질 않는다.

 

 

[스냅샷에서 이미지 생성]을 통해 AMI이미지를 만들어 줄 수 있다.

 

이미지에 AMI로 가게되면 EC2의 볼름의 이미지를 딴 것을 확인할 수 있다.

 

SnapShots 사용하여 EC2 만들기


[인스턴스 만들기]에서 애플리케이션 및 OS 이미지 (Amazon Machine Image)에서 [내 AMI]를 클릭해서 만들거나

 

이렇게 클릭해서 만들 수 있다.

 

 

휴지통에서 복원해보기


위 그림에서 [휴지통]을 눌러서

[보존 규칙 생성]을 누른 후

다음과 같이 설정할 수 있다.