늘리는 EBS 용량 크게 AWS 아마존 웹서비스

 운영중인 서버의 하드디스크 공간이 부족해지는 문제를 경험한 적이 있나요?PC는 이런 일이 일어났을 때 미디어 파일이나 다운로드 폴더가 불필요해진 설치 파일을 삭제하는 처리만으로 충분한 공간을 확보할 수 있습니다. 하지만 특정한 업무만을 성실히 수행할 서버의 공간이 부족하다고 한다면 삭제할 수 있는 파일은 그리 많지 않습니다.

그리고 하드디스크가 2개 이상이 연결되어 있고 OS 드라이브가 따로 구분되어 있으면 이런 문제를 해결하는데 어렵지 않습니다.전원을 끄고 저장용 드라이브만 빼낸 후 데이터 백업, 새로 준비한 큰 용량의 저장용 하드디스크를 연결한 후 전원을 켜서 백업해 놓은 데이터만 복사하면 끝입니다.

하지만 서버가 이렇게 구성되어 있지는 않겠죠. 유사시 데이터 복원을 위해 레이드 구성이 정해져 있을 것입니다.하드 용량을 늘리려면 그 과정이 정말 쉽지 않아요.다운타임도 장시간 발생할 수밖에 없죠.

#AWS의 대표적인 클라우드 컴퓨팅 서비스인 #EC2도 물리적인 서버와 마찬가지로 하드디스크가 존재합니다.#EBS라고 합니다.Elastic Block Store と いいます 。EC2를 생성할 때 기본 사이즈는 8GB이지만, 이것은 얼마든지 조정이 가능합니다.단 Amazon 웹서비스의 경우 사용한 시간만큼, 용량분이 과금되는 방식이기 때문에 컴퓨터(서버)를 클라우드 공간에 생성할 때 물리적인 서버를 구성하듯 하드디스크 용량을 크게 구성하기는 어렵습니다. 물리적인 서버의 경우 하드디스크 공간을 작게 구성하려고 해도 500GB 이하의 디스크를 찾을 수 없고 용량이 적다고 해서 가격이 비례해 낮아지지도 않기 때문에 2TB 이상의 하드디스크를 여러 개 구입하여 레이드를 구성할 수도 있습니다.한편 AWS 안에서 서버를 작성할 때 하드디스크 공간은 곰곰이 생각해서 적당히 적은 공간에서 시작을 할 수 밖에 없습니다. 돈이 남아돌지 않는 이상은요.

100GB를 기준으로 가격을 계산해보니 한달에 11달러가 넘네요.구글 드라이브와 아이클라우드의 가격을 생각하면 결코 싸다고는 말할 수 없는 가격이군요.

EC2에 사용하는 저장 공간을 100GB 설정해 계산하면 한 달 비용이 11.40달러 나오는 것을 확인할 수 있다.

클라우드 공간이라면 얼마든지 손쉽게 하드디스크 용량을 늘릴 수 있기 때문에 시작 시에는 작게 시작하십시오.저 같은 경우에는 8GB에서 20GB 정도로 시작하는 편이에요. 용량이 금방 찰 것 같은 서버만 그 이상으로 할게요.이제 사용중이던 EC2의 하드디스크 공간이 부족할 때 늘리는 실습에 들어가보겠습니다.

* 본 포스팅은 루트 디바이스명이 devxvda로 지정된 Amazon Linux V1 이미지로 생성한 인스턴스에 100% 호환성이 있습니다.Ubuntu 등 다른 이미지를 통해 생성했을 경우, 포스팅 내용만으로는 EBS 볼륨 사이즈가 늘어나지 않을 수 있습니다.이 경우는 제가 최근 올린 EBS 용량 늘리기 포스트를 참조해 주세요.

[EC2 인스턴스로 사용중의 EBS 용량을 늘린다]1-1. 처음에, 인스턴스에 접속된 하드 디스크(EBS)의 볼륨명을 확인해 둡니다.

devxvda는 메모장에 저장해 두었다가 나중에 다시 연결할 때 입력해야 합니다. (틀리면 인스턴스가 시작되지 않습니다) 1-2. 인스턴스에 연결된 볼륨의 ID도 기록해 둡니다.루트 디바이스의 ‘devxvda’ 파란색으로 표시된 텍스트를 누르면 팝오버레이어가 보여 볼륨 아이디를 확인할 수 있습니다.

이번 작업에서 중요한 접속 정보입니다. 잘 기록해 두세요.

2. 디스크 용량을 늘리는 인스턴스를 중지합니다. (종료가 아닙니다.) 종료는 인스턴스가 AWS 클라우드 공간에서 완전히 제거됩니다.인스턴스를 중지하면 당연히 다운타임이 발생합니다. 하드디스크의 용량을 늘리는 작업은 숙련도에 따라 짧으면 5분에서 30분까지 시간이 걸리는 작업입니다.

먼저 하드디스크의 용량을 늘리는 instance를 중지시킵니다.

가급적 이른 아침 시간대에 실시하면 접속 장애에 대한 큰 고민은 하지 않아도 좋을 것입니다. 하지만 이 정도의 다운 타임도 허용하기 어려운 서비스 중인 서버라면 대체하는 방법을 준비해 가시기 바랍니다. 이미지를 표시하고 복사한 인스턴스를 잠시 돌리셔도 되고, 도메인을 잠시 s3버킷으로 되돌려서 시스템 점검 중에 알림을 올리셔도 됩니다.

3. 인스턴스가 중지되면 EBS를 인스턴스에서 분리합니다.EBS 메뉴로 이동하면 보유하고 있는 EBS 목록이 나옵니다. 양이어떤지는1-2과정에서미리기록해두었을겁니다. EBS에 네이밍 처리해 놓으면 식별이 쉬울 것입니다.

볼륨을 인스턴스에서 뺍니다.

4. 분리된 EBS의 스냅샷 생성 EBS를 인스턴스에서 분리하면 이것으로 스냅샷을 생성합니다. 분리할 때와 마찬가지로 해당 EBS를 선택해 마우스의 오른쪽 버튼을 누르면 표시되는 팝업메뉴 안에 스냅샷 생성을 지원합니다. EBS 스냅샷은 인스턴스를 분리하기 전에 생성해도 됩니다. 인스턴스 중지 이후라면 변화가 발생하지 않을 것이기 때문에

5. 스냅샷으로 EBS 생성 직전에 생성한 스냅샷을 이용해 EBS를 생성합니다. 이때 볼륨을 마음껏 높여주세요.

사이즈(GiB)항목을 처음 설정한 10이 아닌, 원하는 만큼 늘려서 설정하십시오.

6. 스냅샷을 통해 원하는 크기만큼 늘려서 생성된 볼륨을 인스턴스에 연결시키는 EBS가 만들어지면 이를 인스턴스에 연결하면 좋습니다.중요한 것은 인스턴스 아이디를 기록하거나 기억했다가 선택해야 되고, 아터치 시키는 디바이스 이름이 분리할 때와 같아야 하기 때문에 잘 저장해놓은 대로 입력해야 합니다.

분리하기 전에 기록해 둔 디바이스 이름 devxvda를 연결할 때 그대로 입력하면 인스턴스가 정상적으로 부팅됩니다.

7. 인스턴스의 시작은 인스턴스 메뉴로 이동하고 해당 인스턴스를 시작하십시오.주의할 점은 Instance를 중지한 후 시작하면 ip가 변경됩니다.ip로 변경되어 불편한 점이 많으면 EIP에 미리 연결하여 고정 IP를 사용하도록 합시다.#EIP 사용 시 주의할 점은 instance가 정지된 상태에서는 요금이 부과된다는 것입니다.

7단계이긴 하지만 잘 생각해 보면 손가락을 움직이면서 하드디스크를 교체하는 것과 같은 작업을 해내니 놀랍네요.제가 이런 작업을 하면서 느끼는 건 다운타임이 정말 짧게 작업할 수 있다는 거예요.물리적인 환경이라면 상상도 하기 싫은 번거로운 작업을 모두 건너뛸지도 몰라요.AWS는 사랑이죠~