퍼블릭 클라우드(AWS)

[AWS] EBS(Elastic Block Store) 스토리지 구성

JooRi 2025. 11. 17. 09:32
728x90
반응형
SMALL

 

* 블록 스토리지란 무엇인가

블록 스토리지는 단일 스토리지 볼륨을 '블록'이라는 개별 단위로 분할해서 저장한다.

각 블록은 저장된 위치에 고유한 주소가 있기 때문에 서버에서 파일을 요청하면 블록들을 재구성하여 하나의 데이터로 서버에 전달한다.

 

클라우드 환경에서 블록 스토리지의 각 블록은 가상머신 인스턴스에 위치하며,

마치 일반 컴퓨터에 하드디스크를 추가하여 C드라이브, D 드라이브처럼 논리적으로 구분해서 사용하는 것과 같다.

 

일반적으로 블록 스토리지는 SAN(Storage Area Network) 또는 가상 머신의 디스크로 사용된다.

여기서 SAN은 서로 다른 종류의 데이터 저장 장치를 한 데이터 서버에 연결하여 총괄 관리해 주는 네트워크를 말한다.

 

* EBS(Elastic Block Store)란 무엇인가

EBS는 EC2 인스턴스에 사용할 수 있는 블록 스토리지 볼륨을 제공하는 서비스이다.

블록 스토리지 특성을 이용한 저장 방식이므로 데이터를 일정한 크기의 블록으로 나누어 분산 저장하는데, 볼륨 위에 파일 시스템을 생성하거나 하드디스크 드라이브 같은 블록 디바이스를 사용하는 것처럼 볼륨을 쓸 수 있다.

또한 인스턴스에 연결된 EBS 볼륨의 구성을 동적으로 변경할 수 있다.

이처럼 EBS는 데이터베이스처럼 데이터 출입이 많은 서비스에 적합하다.

 

EBS는 필요한 용량과 성능에 맞춰 볼륨을 생성한 후 EC2 인스턴스에 연결하고 파일 시스템을 포맷한 후 사용한다.

리눅스는 xfs 또는 ext4 유형, 윈도우는 NTFS 포맷이 주로 사용된다.

포맷이 완료되면 해당 볼륨을 서버에서 마운트 한 후 데이터를 해당 디렉터리에 저장해서 사용한다.

 

EBS 특징

  • 데이터 가용성: 단일 하드웨어 구성 요소의 장애때문에 데이터가 손실되지 않도록 해당 가용 영영 내에서 자동으로 데이터를 복제한다.
  • 데이터 지속성: EBS 볼륨은 인스턴스 수명과 관계없이 유지되는 비관계형 인스턴스 스토리지이다.
  • 데이터 안정성: EBS 암호화 기능으로 암호화된 EBS 볼륨을 생성할 수 있다.
  • 데이터 백업: 모든 EBS 볼륨의 스냅샷을 생성하고, 다중 가용 영역에 중복 저장이 가능한 S3에 볼륨 내 데이터 사본을 백업할 수 있다.
  • 데이터 확장성: 서비스를 중단할 필요 없이 볼륨 유형, 크기 등을 수정할 수 있다.

 


 

 

* EBS 스토리지 생성 및 사용하기

 

1. 실습에 필요한 기본 인프라 배포 (CloudFormation)

[CloudFormation] -  [스택] - [스택 생성]을 눌러서 스택 생성을 시작하고,

템플릿 파일을 업로드하고 [다음]

 

 

스택 이름과 키페어를 지정하고 [다음]

 

 

IAM 리소스 생성에 체크하고 [다음] - [전송]

 

 

생성된 인프라 자원들을 확인할 수 있다.

  • VPC
  • 인터넷 게이트웨이
  • 퍼블릭 라우팅 테이블
  • 서브넷 2개(퍼블릭)
  • EC2 인스턴스 2개 (각 서브넷 1, 2에 위치)
  • IAM Role
  • InstanceProfile
  • 보안 그룹 1개(SSH, NFS, HTTP, ICMP 허용)

 

2. EBS 스토리지 기본 정보 확인

df  # 디스크 여유 공간 확인
lsblk  # 사용 가능한 디스크 디바이스와 마운트 포인트 확인
blkid  # 디바이스 UUID 확인
cat /etc/fstab  # 디바이스의 탑재 지점 확인

 

생성된 EC2 인스턴스(EC2-STG1, EC20 STG2)에 접속하여 EBS 스토리지 기본 정보를 확인한다.

 

 

3. EBS 스토리지 구성

1) 볼륨 생성

[EC2] - [EBS] - [볼륨] - [볼륨 생성]

 

 

볼륨 유형, 크기, 가용 영역, 태그를 지정하고 [볼륨 생성]

 

 

볼륨이 생성되었다.

 

 

2) EC2 인스턴스와 볼륨 연결

생성된 볼륨을 선택하고 [작업] - [볼륨 연결]

 

 

연결할 인스턴스를 지정하고 [볼륨 연결]

 

 

볼륨 상태 확인

 

 

3) 인스턴스에 연결된 EBS 볼륨 사용 설정

lsblk 명령으로 20G 디스크가 추가된 것을 확인할 수 있다.

 

 

mkfs -t xfs /dev/xvdf  # 볼륨 포맷하여 파일시스템 생성
mkdir /data  # 디렉터리 생성
mount /dev/xvdf /data  # 마운트
df -k  # 확인

 

 

echo와 cat 명령으로 파일을 생성하고 확인한 후, 

 

 

blkid 명령으로 UUID를 확인하여 fstab을 설정한다.(자동 마운트 설정)

 

 

4) EBS 볼륨 크기 변경

볼륨을 선택하고 [작업] - [볼륨 수정]

 

 

볼륨 유형과 크기를 지정하고 [수정]

 

 

볼륨 유형과 크기가 기존 gp2, 8GiB에서 gp3, 20GiB로 변경된 것을 확인할 수 있다.

 

 

lsblk 명령으로 볼륨 사이즈가 8G에서 20G로 변경된 것을 확인할 수 있다.

 

 

growpart 명령으로 파티션을 확장하고,

lsblk 명령을 실행하면 nvmeOn1 파티션이 8G가 20G로 바뀐 것을 확인할 수 있다.

 

 

xfs_growfs 명령으로 볼륨의 파일 시스템을 확장하고,

df -hT 명령을 실행하면 Used가 17G에서 2G로 변경된 것을 확인할 수 있다.

 

끝...

728x90
반응형
LIST