* 블록 스토리지란 무엇인가
블록 스토리지는 단일 스토리지 볼륨을 '블록'이라는 개별 단위로 분할해서 저장한다.
각 블록은 저장된 위치에 고유한 주소가 있기 때문에 서버에서 파일을 요청하면 블록들을 재구성하여 하나의 데이터로 서버에 전달한다.
클라우드 환경에서 블록 스토리지의 각 블록은 가상머신 인스턴스에 위치하며,
마치 일반 컴퓨터에 하드디스크를 추가하여 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로 변경된 것을 확인할 수 있다.
끝...
'퍼블릭 클라우드(AWS)' 카테고리의 다른 글
| [AWS] Public/Private S3(Simple Storage Service) 스토리지 구성 (0) | 2025.11.19 |
|---|---|
| [AWS] EFS(Elastic File System) 스토리지 구성 (0) | 2025.11.17 |
| [AWS] ALB(Application Load Balancer), NLB(Network Load Balancer) - 로드밸런싱 구성 (0) | 2025.11.14 |
| [AWS] CloudFormation - 인프라 구성 자동화 (0) | 2025.11.14 |
| [AWS] VPC(Virtual Private Cloud) - Private Subnet 구성 (0) | 2025.11.12 |