Skip to main content

13H. RDS를 특정 시점으로 복구하기

About 1 minAWScrashcoursepyrasisawsamazon-web-services

13H. RDS를 특정 시점으로 복구하기 관련

목차

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

13장 - 8. RDS를 특정 시점으로 복구하기

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

RDS DB 인스턴스를 생성할 때 자동 백업 설정(Enable Automatic Backups)을 했다면 DB의 특정 시점을 RDS DB 인스턴스로 생성할 수 있습니다. 이미 있는 DB 인스턴스의 내용을 되돌리는 것이 아니라 특정 시점의 내용을 DB 인스턴스로 새롭게 생성하는 방식입니다.

먼저 MySQL Workbench로 DB의 내용을 수정한 뒤 수정하기 전의 내용으로 복구해보겠습니다 (MySQL Workbench 사용법은 '13.6 RDS DB 인스턴스 사용하기'를 참조하기 바랍니다).

MySQL Workbench를 실행하고 RDS DB 인스턴스(exampledbinstance)에 접속합니다. 그리고 [ExampleDB][ExampleTable]을 선택하고 오른쪽 마우스 버튼을 클릭하면 팝업 메뉴가 나옵니다. [Select Rows - Limit 1000]을 클릭합니다.

ExampleTable의 내용이 표시되면 3번째 줄에 를 추가하고 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
ExampleTable의 내용이 표시되면 3번째 줄에 Andrew, LA를 추가하고 [Apply] 버튼을 클릭합니다.

RDS DB 인스턴스(exampledbinstance)의 ExampleTable에 데이터 추가가 완료되었습니다.

데이터가 추가된 시간이 05:13:28로 표시되고 있습니다.
데이터가 추가된 시간이 05:13:28로 표시되고 있습니다.

RDS DB 인스턴스 목록(Instances)에서 방금 DB에 내용 추가했던 DB 인스턴스(exampledbinstance)를 선택하고 마우스 오른쪽 버튼을 클릭하면 팝업 메뉴가 나옵니다 (위쪽 Instance Actions 버튼을 클릭해도 같은 메뉴가 나옵니다).

<FontIcon icon="iconfont icon-select"/>을 클릭합니다.
[Restore to Point in Time]을 클릭합니다.

특정 시점으로 DB를 복구합니다 (특정 시점의 내용으로 새로운 DB 인스턴스 생성).

  • Use Custom Restore Time: MySQL Workbench에서 제가 데이터를 추가한 시간이 05:13:28이므로 June 21, 2014 05:12:00으로 설정하였습니다. 이 항목은 데이터를 추가하기 이전의 시간으로 설정해야 합니다. 날짜 부분을 클릭하면 달력이 표시되어 날짜를 선택할 수 있습니다.
  • Source DB Instance: 자동 백업을 했던 DB 인스턴스의 이름이 표시됩니다. 복구 전에 꼭 확인하기 바랍니다.
  • DB Instance Identifier: 자동 백업의 특정 시점으로 새로 생성될 DB 인스턴스의 이름입니다. exampledbinstance3를 입력합니다.
  • DB Engine: MySQL DB의 자동 백업이므로 변경할 수 없습니다.
  • License Model: MySQL은 General Public License만 선택할 수 있습니다.
  • DB Instance Class: 생성할 DB 인스턴스의 클래스입니다. 자동 백업의 특정 시점으로 DB 인스턴스를 생성할 때 성능이 더 좋은 인스턴스 클래스로 바꿀 수 있습니다. 여기서는 db.t1.micro를 선택합니다.
  • Multi-AZ Deployment: 장애에 자동으로 대처하는 Failover 기능을 위한 다중 가용 영역(Multi Availability Zone) 복제 옵션입니다. No를 선택합니다.
  • Auto Minor Version Upgrade: 자동으로 마이너 버전을 업데이트하는 옵션입니다. 보안 패치나 버그가 수정된 버전을 자동으로 업데이트합니다. 예를 들면 MySQL의 경우 5.6.13을 사용하고 있는데 5.6.14가 나오면 5.6.14 버전으로 업데이트하게 됩니다. 기본값 그대로 사용합니다.
  • Database Port: MySQL 접속 포트 번호입니다. 기본값 그대로 사용합니다.
  • Storage Type: 스토리지 타입입니다. 자동 백업을 했던 DB 인스턴스가 Provisioned IOPS를 사용했다면 여기서 Provisioned IOPS를 선택할 수 있습니다. Standard를 선택하여 일반 스토리지를 사용할 수도 있습니다. 기본값 그대로 사용합니다.
  • VPC: DB 인스턴스가 위치할 네트워크(VPC)입니다. 기본값 그대로 사용합니다.
  • DB Subnet Group: DB 인스턴스가 위치할 서브넷입니다. 위에서 Default VPC이외의 VPC를 선택했을 때 이 서브넷을 설정할 수 있습니다. 기본값 그대로 사용합니다.
  • Publicly Accessible: DB를 외부에서 접근할 수 있게 하는 옵션입니다. No로 설정하면 VPC 내부에서만 접근할 수 있습니다. 기본값 그대로 사용합니다.
  • Availability Zone: DB 인스턴스가 생성될 가용 영역(Availability Zone)입니다. 자동 백업을 했던 DB 인스턴스의 AZ가 기본적으로 선택됩니다. 기본값 그대로 사용합니다.
  • Option Group: DB 옵션입니다. MySQL은 특별히 지정하지 않아도 됩니다. 기본값 그대로 사용합니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Launch DB Instance] 버튼을 클릭합니다.

RDS DB 인스턴스 목록(Instances)에서 자동 백업의 특정 시점으로 DB 인스턴스(exampledbinstance3)가 생성되고 있습니다. 완전히 생성되기까지 약 10~15분 정도 소요됩니다(DB의 용량에 따라 시간은 달라질 수 있습니다).

DB 인스턴스()가 완전히 생성된 후 세부 내용에 엔드포인트 주소가 표시됩니다. 제가 생성한 DB 인스턴스의 엔드포인트 주소는 <FontIcon icon="fas fa-globe"/>입니다.
DB 인스턴스(exampledbinstance3)가 완전히 생성된 후 세부 내용에 엔드포인트 주소가 표시됩니다. 제가 생성한 DB 인스턴스의 엔드포인트 주소는 exampledbinstance3.cnlconsezo7y.ap-northeast-1.rds.amazonaws.com:3306입니다.

생성한 DB 인스턴스(exampledbinstance3)에 접속하려면 Security Group을 설정해줘야 합니다. '13.5 RDS DB 인스턴스 Security Group 생성 및 설정하기'를 참조하여 Security Group을 설정하기 바랍니다.

MySQL Workbench에서 자동 백업의 특정 시점으로 생성한 RDS DB 인스턴스()에 접속해보면  ExampleTable에 를 추가하기 전의 데이터를 확인할 수 있습니다.
MySQL Workbench에서 자동 백업의 특정 시점으로 생성한 RDS DB 인스턴스(exampledbinstance3)에 접속해보면 ExampleTable에 Andrew, LA를 추가하기 전의 데이터를 확인할 수 있습니다.

이처럼 자동 백업의 특정 시점을 RDS DB 인스턴스로 복구할 수 있습니다.


이찬희 (MarkiiimarK)
Never Stop Learning.