AWS-프리티어 RDS 스냅샷 백업

8.3. 비용 절감: EC2 중지 및 RDS 스냅샷 백업 & 복원

backend 따라쟁이 2025. 2. 6. 23:55

AWS의 EC2와 RDS를 사용한 Backend 서버를 구축해 봤습니다. 이 과정에서 AWS의 프리 티어 무료 계정을 생성하여 별도 비용을 들이지 않고 AWS의 플랫폼, 제품 및 서비스를 무료로 체험 할 수 있었습니다. 무료 체험 리소스를 최대한 활용하기 위해서는 내가 사용하지 않는 리소스는 중단 시켜두고, 필요할 때 만 다시 불러와 사용한다면 좋겠죠. 그럼 지금까지 사용한 EC2와 RDS를 테스트가 끝나면 중단시켜두었다 필요할 때 다시 불러오는 방법을 알아 보겠습니다.    

3-1. EC2 인스턴스 중지

 
AWS 콘솔 로그인하여 EC2 대시보드 화면으로 이동 합니다.
(이동 방법: 검색창에서 EC2 입력하여 조회된 서비스 목록에서 EC2 대시보드 클릭)
"인스턴스 상태" 버튼을 클릭하여 팝업된 메뉴에서 "인스턴스 중지"를 클릭하면 EC2 인스턴스가 중지 됩니다.
물론 EC2 인스턴스는 테스트가 끝나면 인스턴스를 중지 시켜 불필요한 비용이 발생하지 않도록하는게 좋습니다.  
(☆)EC2 인스턴스를 중지 시키면 더이상 비용이 발생하지 않으며, 프리 티어 리소스 사용 시간도 더이상 늘어나지 않습니다. 
(그림) EC2 인스턴스 중지 하기
  • 인스턴스를 다시 실행하려면:
    EC2 인스턴스 선택 후 "인스턴스 상태" 버튼 클릭, 팝업된 메뉴에서 "인스턴스 시작"를 클릭하여 인스턴스를 재시작 합니다.

(그림) EC2 인스턴스 재 시작


3-2. RDS 스냅샷 생성 및 복원

(☆)EC2 인스턴스와 달리 RDS 인스턴스는 서비스를 중지 시켜도 비용이 발생하며, 프리 티어 리소스 사용 시간도 반영됩니다.

RDS는 인스턴스 서비스가 중지되어도 리소스를 점유하고 있기 때문에 비용이 발생되는 것으로 보여집니다. 

더이상 비용이 발생하지 않게 하려면 중지가 아닌 DRS 인스턴스를 삭제해야 되는데, 이럴 경우 다음 테스트를 위해서는 RDS 데이터베이스를 처음부터 다시 구성하고 테스트 데이터까지 생성해 주어야 하는 불필요한 시간 낭비와 번거로움이 발생합니다.

이러한 문제는 DRS의 스냅샷을 활용하면 좀더 효과적으로 이러 어려움을 극복 할 수 있습니다. 이제부터 그  방법을 알아보겠습니다.  

(그림) DB 인스턴스 삭제

1. 스냅샷 생성

   RDS 데이터베이스를 삭제하기 전에 스냅샷을 생성해 둡니다. 스냅샷은 생성한 시점에 데이터베이스 이미지를 그대로 가지고 있어 나중에 데이터베이스를 복원하면 현재 시점과 동일한 상태에 데이터베이스를 사용할 수 있습니다. 물론 사용하지 않는 시간 동안 불필요한 비용도 발생하지 않는 장점이 있습니다.  

복원이 가능한 스냅샷을 명시적으로 사용자가 생성한 스냅샷 입니다. 자동 생성 옵션으로 저장된 스냅샷은 복원에 사용할 수 없는 점도 주의가 필요 합니다.

(그림1) 스냅샷 메뉴 클릭, 화면에서 스냅샷 이름 선택 후 스냅샷 생성 버튼을 클릭하여 스냅샷을 생성합니다.

 
 

(그림2) 스냅샷 이름을 입력하고 스냅샷 생성 버튼을 클릭합니다.

 

2. 스냅샷을 이용한 복원

Amazon DRS로 이동하면 좌측 화면의 메뉴 중 "스냅샷"을 확인할 수 있습니다. "스냅샷" 메뉴를 클릭하여 내가 저장한 스냅샷을 선택 합니다.
(그림) 복원할 "스냅샷 이름"을 클릭 합니다.

(그림) 우측 작업 버튼을 클릭하여 "스냅샷 복월" 메뉴를 선택 합니다.

 

이제 스냅샷 복원을 시작 합니다.

프리 티어에 맞게 가용성 및 내구성은 "단일 DB 인스턴스"를 선택합니다. 그리고 DB인스턴스 식별자 이름을 입력합니다.

(그림1) 스냅샷 복원 정보 설정
(그림) "버스터블 클래스(t 클래스 포함)"을 선택하고 "db.t3.micro"를 선택 합니다.

 

나머지는 변경 없이 Default 설정을 유지하고 "DB 인스턴스 복원" 버튼을 클릭합니다.

(그림) DB 인스턴스 복원 버튼 클릭

데이터베이스 화면으로 자동 이동되며, "스냅샷이 복원되고 있습니다." 메시지가 보이며, 잠시 만 더 기다리면 DB 인스턴스 생성이 완료됩니다.

"스냅샵이 성공적으로 복원됨" 메시지가 출력되면 DB 인스턴스 복원이 완료되며 상태도 "사용 가능"으로 변경됩니다.

EC2와 연결하기 위해서는 DB식별자의 인스턴스 명을 클릭하여 오픈된 화면에서 "연결된 컴퓨팅 리소스"에서 "EC2연결 설정"을 클릭하여 EC2 연결 설정을 해줍니다. 이제부터 EC2인스턴스에 Spring boot 어플리케이션을 기동하여 DB접속을 확인하면 됩니다. EC2 연결 설정은 스냅샷 복원 후 반드시 재설정해야 Spring boot 어플리케이션에서 DB 접속이 가능 하다는 점은 잊지 마세요.  


마무리

이제 AWS 프리티어 환경에서 Spring Boot 백엔드 서버를 EC2에 배포하고, RDS와 연동하여 RESTful API를 테스트하는 방법을 익혔습니다. 또한, 불필요한 비용을 방지하기 위해 EC2를 중지하고 RDS를 스냅샷으로 백업하는 방법까지 학습했습니다.