Skip to main content

04E. 가상 스토리지를 제공하는 EBS

About 3 minAWScrashcoursepyrasisawsamazon-web-services

04E. 가상 스토리지를 제공하는 EBS 관련

목차

아마존 웹 서비스를 다루는 기술

4장 - 5. 가상 스토리지를 제공하는 EBS
아마존 웹 서비스를 다루는 기술

EBSElastic Block Store는 EC2 인스턴스에 장착하여 사용할 수 있는 가상 저장 장치입니다. EBS는 EC2 인스턴스에서 제공하는 기본 용량보다 더 사용해야 할 때, 운영체제를 중단시키지 않고 용량을 자유롭게 늘리고 싶을 때, 영구적인 데이터 보관이 필요할 때, RAID 등의 고급 기능이 필요할 때 사용합니다.

프리 티어에서 사용 가능

EBS는 프리 티어에서 무료로 사용가능 합니다. 2014년 8월 기준으로 EBS 스토리지 30GB, EBS 200만 I/O를 무료로 사용할 수 있습니다.

EBS는 EC2에 설치된 OS에서 그냥 일반적인 하드디스크 또는 SSD처럼 인식됩니다. 원하는 크기로 만들 수 있고 성능(IOPS)또한, 원하는 수치로 설정할 수 있습니다. 또한, 사용자가 삭제하기 전까지는 데이터가 안전하게 유지됩니다.

여기서 Elastic Block Store의 Block은 블록 장치Block Device라고 하여 Unix/Linux 계열 OS에서 일정한 크기Block 단위로 읽고 쓰는 저장 장치를 부르는 말입니다. 자기테이프, 플로피디스크, 하드디스크, 광학디스크, SSD 등의 플래시메모리가 대표적입니다.

다음은 EBS 기본 개념입니다.

항목설명비고
볼륨(Volume)EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태입니다.-
이미지(Image)AMIAmazon Machine Image를 줄여 부르는 말입니다. OS가 설치된 형태이며 이 AMI로 EC2 인스턴스를 생성합니다-
스냅샷(Snapshot)EBS 볼륨의 특정 시점을 그대로 복사하여 저장한 파일을 뜻합니다. 이 스냅샷을 이용하여 EBS 볼륨과 AMI를 생성할 수 있습니다.-
IOPS(Input/Output Operation Per Second)저장 장치의 성능 측정 단위입니다. AWS에서는 추가 비용을 지불하고 높은 성능(IOPS)의 EBS를 생성할 수 있습니다. 설정할 수 있는 값은 최소 100 IOPS에서 4000 IOPS까지입니다.IOPS는 16KB 단위로 처리됩니다. 따라서 크기가 작은 파일이 있다면 16KB 단위로 묶어서 처리하면 높은 성능을 낼 수 있습니다.

EC2 인스턴스를 생성할 때 기본적으로 OS가 설치된 EBS 볼륨을 함께 생성하게 됩니다. 이번에는 OS가 설치된 기본 EBS 볼륨 이외에 추가로 EBS 볼륨을 추가로 생성하여 사용하는 방법을 설명하겠습니다.


EBS 볼륨 생성하기

4장 - 5.1. EBS 볼륨 생성하기

아마존 웹 서비스를 다루는 기술
AWS 콘솔의 EC2 페이지에서 왼쪽 <FontIcon icon="iconfont icon-select"/> → 를 클릭합니다.
AWS 콘솔의 EC2 페이지에서 왼쪽 [ELASTIC BLOCK STORE][Volumes]를 클릭합니다.

현재 생성된 EBS 볼륨의 목록이 표시됩니다. 이전에 EC2 인스턴스(Example Server)를 생성할 때 함께 생성한 EBS 볼륨을 볼 수 있습니다.

이 EBS 볼륨은 OS가 설치되어 있는 볼륨입니다. 위쪽의 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
이 EBS 볼륨은 OS가 설치되어 있는 볼륨입니다. 위쪽의 [Create Volume] 버튼을 클릭합니다.

EBS 볼륨을 생성합니다.

항목설명
TypeEBS 볼륨 형태입니다. 기본값 그대로 사용합니다.
SizeEBS 볼륨 크기입니다. 10GiB를 생성할 것이므로 10을 입력합니다.
IOPSType을 General Purpose로 설정했기 때문에 IOPS를 설정할 수 없습니다. Type을 Provisioned IOPS로 선택해야 이 값을 설정할 수 있습니다.
Availability Zone볼륨이 생성될 가용 영역입니다. EC2 인스턴스가 생성된 가용 영역과 같은 곳에 위치해야 EC2 인스턴스에서 사용할 수 있습니다. 이전에 생성한 EC2 인스턴스(Example Server)는 그림 4-31에 따르면 ap-northeast-1c에 위치해있습니다. 각자 생성된 Availability Zone에 맞게 설정합니다.
Snapshot ID생성해놓은 EBS 스냅샷이 있다면 여기서 선택할 수 있습니다. 기본값 그대로 비워둡니다.
Encryption볼륨 암호화 옵션입니다. 기본값 그대로 사용합니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Create] 버튼을 클릭합니다.
이제 EBS 볼륨 목록에 10GiB 용량의 EBS 볼륨이 생성되었습니다.
이제 EBS 볼륨 목록에 10GiB 용량의 EBS 볼륨이 생성되었습니다.

EC2 인스턴스에 EBS 볼륨 장착하기

4장 - 5.2. EC2 인스턴스에 EBS 볼륨 장착하기

아마존 웹 서비스를 다루는 기술
방금 생성한 10GiB EBS 볼륨을 선택하고 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴가 나옵니다(위쪽 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭해도 같은 메뉴가 나옵니다). <FontIcon icon="iconfont icon-select"/>을 클릭합니다.
방금 생성한 10GiB EBS 볼륨을 선택하고 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴가 나옵니다(위쪽 [Actions] 버튼을 클릭해도 같은 메뉴가 나옵니다). [Attach Volume]을 클릭합니다.

EBS 볼륨을 EC2 인스턴스에 장착합니다.

항목설명
Volume볼륨 ID와 생성된 가용 영역을 보여줍니다.
InstanceInstance 입력 부분 클릭하면 현재 가용 영역에 생성된 EC2 인스턴스의 목록을 보여줍니다. 이전에 생성한 EC2 인스턴스(Example Server)를 선택합니다.
DeviceEC2 인스턴스를 선택하면 자동으로 설정됩니다. 기본값 그대로 사용합니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Attach] 버튼을 클릭합니다.
EBS 볼륨 목록에서 State 항목을 보면 파란색 아이콘의 에서 초록색 아이콘의 로 바뀌어 있습니다..
EBS 볼륨 목록에서 State 항목을 보면 파란색 아이콘의 available에서 초록색 아이콘의 in-use로 바뀌어 있습니다..

가상 스토리지를 제공하는 EBS

4장 - 5.3. 가상 스토리지를 제공하는 EBS

아마존 웹 서비스를 다루는 기술

EBS를 OS에서 사용하려면 알맞은 파일시스템으로 포맷을 해주어야 합니다. 이전에 생성한 EC2 인스턴스(Example Server)가 Linux이므로 Ext4 파일시스템을 사용하겠습니다.

먼저 EC2 인스턴스(Example Server)에 장착된 EBS 볼륨의 장치명을 확인합니다.

EBS 볼륨을 선택하고 아래 세부 내용에서 Attachment information을 보면 EBS 볼륨의 장치명이 표시되어 있습니다. 여기서는 <FontIcon icon="fas fa-folder-open"/> 입니다..
EBS 볼륨을 선택하고 아래 세부 내용에서 Attachment information을 보면 EBS 볼륨의 장치명이 표시되어 있습니다. 여기서는 /dev/sdf 입니다..

SSH로 EC2 인스턴스(Example Server)에 접속한 뒤 아래와 같이 sudo mkfs -t ext4 /dev/sdf를 입력하여 EBS 볼륨을 포맷합니다.

sudo mkfs -t ext4 /dev/sdf
#
# mke2fs 1.42.8 (20-Jun-2013)
# Filesystem label=
# OS type: Linux
# Block size=4096 (log=2)
# Fragment size=4096 (log=2)
# Stride=0 blocks, Stripe width=0 blocks
# 655360 inodes, 2621440 blocks
# 131072 blocks (5.00%) reserved for the super user
# First data block=0
# Maximum filesystem blocks=2684354560
# 80 block groups
# 32768 blocks per group, 32768 fragments per group
# 8192 inodes per group
# Superblock backups stored on blocks:
#         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
# 
# Allocating group tables: done
# Writing inode tables: done
# Creating journal (32768 blocks): done
# Writing superblocks and filesystem accounting information: done

이제 포맷이 완료되었습니다.


EC2 인스턴스에서 EBS 볼륨 마운트하기

4장 - 5.4. EC2 인스턴스에서 EBS 볼륨 마운트하기

아마존 웹 서비스를 다루는 기술

Linux에서는 저장 장치를 사용하려면 마운트라는 과정이 필요합니다. 앞에서 생성한 EBS 볼륨을 Ext4 파일시스템을 포맷했으므로 마운트만하면 바로 사용할 수 있습니다. 먼저 ls /dev/sdf -al 명령을 입력하여 /dev/sdf 장치가 있는지 확인합니다.

ls /dev/sdf -al
#
# lrwxrwxrwx 1 root root 4 Apr 13 05:59 /dev/sdf -&gt; xvdf

./dev/xvdf 장치가 /dev/sdf로 심볼릭 링크가 되어 있습니다. 이제 sudo mount /dev/sdf /mnt를 입력하여 저장 장치를 마운트합니다. /dev/sdf 대신 /dev/xvdf로 지정해도 됩니다.

sudo mount /dev/sdf /mnt

./dev/sdf/mnt 디렉터리에 마운트한다는 명령인데 /mnt 디렉터리가 아닌 다른 디렉터리를 지정해도 상관 없습니다.

df -h 명령을 입력하여 현재 마운트된 저장 장치의 목록을 확인할 수 있습니다. 9.8G 용량의 /dev/xvdf 장치가 /mnt에 마운트 되어있습니다. 이제 이곳에 파일을 저장할 수 있습니다.

df -h
#
# Filesystem      Size  Used Avail Use% Mounted on
# /dev/xvda1      7.8G  1.1G  6.6G  15% /
# devtmpfs        282M   16K  282M   1% /dev
# tmpfs           297M     0  297M   0% /dev/shm
# /dev/xvdf       9.8G   23M  9.2G   1% /mnt

EC2 인스턴스에서 EBS 볼륨 제거하기

4장 - 5.5. EC2 인스턴스에서 EBS 볼륨 제거하기

아마존 웹 서비스를 다루는 기술

EC2 인스턴스에서 사용하지 않는 EBS 볼륨을 제거해보겠습니다. sudo umount /mnt 명령을 입력하여 장치를 언마운트 합니다.

sudo umount /mnt

df -h 명령을 입력해보면 /mnt 디렉터리가 사라졌습니다.

df -h
#
# Filesystem      Size  Used Avail Use% Mounted on
# /dev/xvda1      7.8G  1.1G  6.6G  15% /
# devtmpfs        282M   16K  282M   1% /dev
# tmpfs           297M     0  297M   0% /dev/shm

EBS 볼륨 목록에서 10GiB 짜리 EBS 볼륨을 선택하고 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴가 나옵니다(위쪽 [Actions] 버튼을 클릭해도 같은 메뉴가 나옵니다).

<FontIcon icon="iconfont icon-select"/>을 클릭합니다.
[Detach Volume]을 클릭합니다.
<FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
[Yes, Detach] 버튼을 클릭합니다.
EBS 볼륨 목록에서 State 항목을 보면 초록색 아이콘의 에서 파란색 아이콘의 로 바뀌어 있습니다.
EBS 볼륨 목록에서 State 항목을 보면 초록색 아이콘의 in-use에서 파란색 아이콘의 available로 바뀌어 있습니다.

이제 EC2 인스턴스(Example Server)에서 EBS 볼륨이 완전히 제거되었습니다. 앞으로 이 EBS 볼륨을 사용할 계획이 없다면 팝업 메뉴에서 Delete Volume으로 완전히 삭제할 수 있습니다.

EBS 볼륨과 RAID

EBS 볼륨은 OS에서 봤을 때 하드디스크 또는 SSD와 똑같습니다. 따라서 EBS도 RAID 구성을 할 수 있습니다. EC2와 EBS 볼륨이 지원하는 RAID 타입은 RAID 0, RAID 1, RAID 1+0(RAID 10)입니다. RAID 5와 RAID 6은 충분한 성능이 나오지 않아 AWS에서는 권장하지 않습니다. 자세한 내용은 링크를 참조하기 바랍니다.

Amazon EBS and RAID configuration - Amazon EBS

Use any of the standard RAID configurations that you could use with a traditional bare metal server with Amazon EBS volumes.

이찬희 (MarkiiimarK)
Never Stop Learning.