On this page
AWS EC2 인스턴스에서 EBS 볼륨을 확장하여 디스크 용량 늘리기
AWS EC2 인스턴스를 운영하다 보면 애플리케이션의 로그나 데이터가 쌓이면서 디스크 용량이 부족해지는 경우가 발생할 수 있습니다. 특히, FastAPI와 같은 웹 애플리케이션을 Docker로 실행 중일 때는 이러한 문제를 신속하게 해결해야 합니다. 다행히 AWS에서는 EC2 인스턴스를 재부팅하지 않고도 EBS 볼륨을 확장하여 디스크 용량을 늘릴 수 있습니다. 이 글에서는 그 과정을 단계별로 설명하겠습니다.
1. 현재 디스크 용량 확인
먼저, 현재 EC2 인스턴스의 디스크 용량을 확인해야 합니다. 이를 위해 df -hT
명령어를 사용합니다.
df -hT
출력 예시는 다음과 같습니다:
Filesystem Type Size Used Avail Use% Mounted on
/dev/root ext4 6.8G 6.2G 570M 92% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 767M 1.7M 765M 1% /run
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs efivarfs 128K 3.1K 125K 3% /sys/firmware/efi/efivars
/dev/nvme0n1p16 ext4 891M 105M 724M 13% /boot
/dev/nvme0n1p15 vfat 98M 6.4M 92M 7% /boot/efi
tmpfs tmpfs 384M 12K 384M 1% /run/user/1000
위 출력에서 /dev/root
가 주 디스크이며, 92%가 사용 중임을 알 수 있습니다. 이 경우, EBS 볼륨을 확장해야 합니다.
2. AWS Management Console에서 EBS 볼륨 확장
EBS 볼륨을 확장하려면 다음 단계를 따릅니다:
- AWS Management Console에 로그인합니다.
- EC2 대시보드로 이동하여 왼쪽 메뉴에서
Volumes
를 선택합니다. - 확장할 EBS 볼륨을 선택한 다음,
Actions
메뉴에서Modify Volume
을 클릭합니다. - 새로 원하는 크기를 입력하고
Modify
를 클릭하여 변경을 적용합니다.
이 단계에서 EBS 볼륨의 크기가 증가합니다. 하지만, EC2 인스턴스에서는 아직 이 확장된 볼륨을 인식하지 못합니다.
3. EC2 인스턴스에서 파티션과 파일 시스템 확장
이제 EC2 인스턴스에 접속하여 파티션과 파일 시스템을 확장해야 합니다.
3.1 파티션 정보 확인
먼저, 확장된 디스크를 인식하고 있는지 확인하기 위해 lsblk
명령어를 사용합니다.
lsblk
출력 결과를 확인하여 확장된 용량이 올바르게 반영되었는지 확인합니다. 예를 들어 /dev/nvme0n1
디바이스에 용량이 증가한 것을 볼 수 있습니다.
3.2 파티션 확장
필요한 경우, 다음 명령어를 사용해 파티션을 확장할 수 있습니다.
sudo growpart /dev/nvme0n1 1
이 명령어는 /dev/nvme0n1
디바이스의 첫 번째 파티션을 확장합니다.
3.3 파일 시스템 확장
이제 파일 시스템을 확장하여 새롭게 확장된 공간을 사용할 수 있게 해야 합니다. ext4
파일 시스템을 사용하는 경우, 다음 명령어를 실행합니다.
sudo resize2fs /dev/root
이 명령어는 파일 시스템을 확장하여 파티션의 전체 용량을 사용할 수 있게 합니다.
4. 확장된 용량 확인
위의 단계를 완료한 후, 다시 df -hT
명령어를 실행하여 디스크 용량이 올바르게 확장되었는지 확인합니다.
df -hT
이제 /dev/root
파티션의 크기가 증가하여 사용 가능한 용량이 더 많이 표시됩니다.
5. 재부팅이 필요한 경우
만약 위의 방법으로도 용량이 정상적으로 반영되지 않거나, 시스템이 여전히 제대로 작동하지 않는다면 재부팅을 고려할 수 있습니다. 그러나 대부분의 경우 재부팅 없이 문제를 해결할 수 있으므로, 재부팅은 마지막 수단으로 사용하는 것이 좋습니다.
결론
AWS EC2 인스턴스에서 EBS 볼륨을 확장하여 디스크 용량을 늘리는 과정은 처음에는 복잡해 보일 수 있지만, 단계별로 따라 하면 쉽게 해결할 수 있습니다. FastAPI와 같은 애플리케이션을 실행 중일 때 발생할 수 있는 디스크 용량 부족 문제를 신속하게 해결할 수 있는 중요한 방법입니다. 이러한 작업을 잘 익혀 두면 시스템 운영 중 발생할 수 있는 다양한 문제를 효과적으로 관리할 수 있습니다.