1. EBS란?
Elastic Block Store(EBS)는 EC2 인스턴스에 장착하여 사용할 수 있는 가상 저장 장치다. EC2 인스턴스가 제공하는 기본 용량으로는 부족한 경우, OS를 중단하지 않고 용량을 늘려야 하는 경우, 영구적인 데이터 보관이 필요한 경우 등 여러 상황에서 사용할 수 있다. EBS는 일반적인 하드디스크는 SSD로 인식되어 원하는 크기, 성능, 수치를 설정할 수 있다. 또한 사용자가 삭제하기 전까지 데이터를 안전하게 유지한다. 아래는 주요 용어 정리다.
- Block Device: Unix/Linux 계열 OS에서 일정한 크기(Block) 단위로 읽고 쓰는 저장 장치를 말한다. SSD, HDD 등이 있다.
- Volume: EBS의 가장 기본적인 형태로 OS에서 바로 사용 가능한 형태를 말한다.
- Snapshot: EBS 볼륨의 특정 시점을 그대로 복사해 저장한 파일을 말한다.
- IOPS(아이옵스, Input/Output Operations Per Second): HDD, SSD와 같은 저장 장치의 성능 측정 지표로 초당 입/출력 처리량을 말한다.
2. EBS Volume 생성
EC2 페이지에서 좌측 탭에 "Elastic Block Store"의 "볼륨"을 클릭하자.
그러면 아래와 같이 EC2 인스턴스를 생성할 때 함께 생성한 EBS 볼륨을 볼 수 있다. 이 EBS 볼륨은 OS가 설치된 볼륨이다.
어쨋든 볼륨칸에 들어가면 "볼륨 생성"을 클릭하여 볼륨을 생성하면 된다. 설정해야하는 것들은 다음과 같다.
- 볼륨 유형: EBS 볼륨 형태를 선택할 수 있다. 이 경우 기본값인 gp2를 선택했다.
- 크기: 볼류의 크기를 설정한다. 이번 예시에서는 10으로 설정했다.
- IOPS: 범용 SSD로 설정하면 IOPS는 설정할 수 없다. 만약 gp2가 아닌 프로비저닝된 다른 타입을 사용하면 IOPS를 선택할 수 있다.
- 가용 영역: 생성한 EC2 인스턴스의 가용 영역과 같은 곳에 생성해야 한다.
- 스냅샷 ID: 생성해 놓은 EBS 스냅샷이 있다면 설정할 수 있다.
- 암호화: 볼륨 암호화 옵션이다.
이후 태그를 설정할 수도 있다.
그러면 아래와 같이 EBS가 잘 생성된 것을 확인할 수 있다.
3. EBS Volume 장착
생성한 EBS 볼륨을 장착하려면 원하는 볼륨에 우클릭을 하고 "볼륨 연결"을 클릭한다.
그러면 인스턴스와 디바이스를 설정할 수 있다. 이때 인스턴스에 연결하고자 하는 EC2 인스턴스를 선택하면 디바이스는 자동으로 설정된다. 잘 설정했으면 "볼륨 연결"을 클릭한다.
그러면 아래와 같이 잘 동작하는 것을 확인할 수 있다.
4. EBS 볼륨 포맷 및 마운트
pussy를 통해 인스턴스에 접속하고 "lsblk"를 사용하면 EBS volume이 Attach 되었는지 확인할 수 있다.
- lsblk: 리눅스 디바이스 정보를 출력하는 명령
이때 xvda는 xvda1, xvda14, xvda15 총 세 개의 파티션을 가지는 루트 디바이스다. xvdf는 파티션도 없고 루트에 탑재되지도 않았다. 우리는 이 디바이스를 연결시켜줘야 한다. 볼륨에 파일 시스템이 있는지도 확인할 수 있는데 이는 "sudo file -s (디바이스 경로)" 명령어를 사용하면 된다. 아래 예시를 살펴보자.
위와 같이 출력에 "data"만 표시되면 해당 디바이스에는 파일 시스템이 없는 것이다.
위와 같이 디바이스에 파일 시스템이 있다면 파일 시스템 유형에 대한 정보를 표시한다. 위 출력을 보면 해당 파일 시스템은 ext4 파일 시스템을 사용하고 있는 것을 알 수 있다. 어쨋든 우리가 연결하려는 EBS는 파일 시스템이 없기 때문에 포맷을 지정해야 한다. 해당 EBS의 경우 ext4로 연결하고자 한다. 이를 위해서 "sudo mkfs -t ext4 /dev/xvdf"를 수행해주면 된다. (xfs로 잘못 설정하고 다시 ext4로 바꾼 거라 출력 내용은 다를 수 있다.)
해당 EBS의 파일 시스템이 잘 생성되었는지 sudo file -s를 통해 살펴보자.
위와 같이 ext4 파일 시스템으로 잘 포맷된 것을 확인할 수 있다. 이후 마운트를 하기 위해서 마운트 폴더를 지정해야 하는데 마운트 폴더의 경우 "/mnt/data"로 설정했다. 이 폴더는 원하는 폴더로 바꿔도 상관없다. 단, 폴더는 무조건 존재해야 하므로 해당 폴더를 만들고 진행하도록 하자. 파일을 만들기 위해서는 "sudo mkdir"을 사용하고 mount를 위해서는 아래와 같이 "sudo mount"를 사용하면 된다.
마운트가 잘 되었다면 "df -h /dev/xvdf"를 통해 마운트 위치, 사이즈, 사용량 등을 확인할 수 있다.
"df -h"를 사용할 수도 있다.
4. EBS 볼륨 제거
마운트된 EBS 볼륨을 제거하려면 "sudo umount /mnt/data" 명령을 사용하면 언마운트할 수 있다. 이때 /mnt/data 부분은 본인이 마운트한 폴더 위치로 변경해주면 된다.
"df -h"를 사용하면 "/dev/xvdf"가 없어진 것을 볼 수 있다.
그리고 EBS 볼륨을 선택하여 아래와 같이 "볼륨 분리"를 선택하여 팝업이 발생하면 "분리"를 누르자.
그러면 아래와 같이 상태가 "사용 중"이던 볼륨이 "사용 가능"으로 나타난다.
이제 EC2 인스턴스에서 EBS를 완전히 제거했으므로 EBS 볼륨을 사용할 필요가 없다면 "볼륨 삭제"를 통해 EBS를 완전히 삭제할 수 있다.
'BackEnd > AWS' 카테고리의 다른 글
[EC2, Spring] EC2 Spring MVC 서버 배포 (0) | 2023.05.24 |
---|---|
[RDS] MySQL workbench 연결하기 (0) | 2023.05.15 |
[RDS, JDBC] RDS(MySQL)와 JDBC 연결하기 (0) | 2023.05.15 |
[AWS] Windows에서 EC2 인스턴스 접속하기 (0) | 2023.04.30 |
[AWS] EC2란? (인스턴스 유형, 구매 옵션, 생성 방법) (0) | 2023.04.30 |