Skip to main content

13G. RDS DB 스냅샷 활용하기

About 2 minAWScrashcoursepyrasisawsamazon-web-services

13G. RDS DB 스냅샷 활용하기 관련

목차

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

13장 - 7. RDS DB 스냅샷 활용하기

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

EBSElastic Block Storage와 마찬가지로 RDS도 스냅샷을 생성할 수 있습니다. RDS DB 스냅샷은 DB의 전체 내용 중 특정 시점을 파일로 저장한 형태입니다.

DB 자동 백업과 DB 스냅샷은 차이점이 있습니다.

  • DB 자동 백업: RDS DB 인스턴스를 삭제하면 DB 자동 백업도 함께 삭제됩니다.
  • DB 스냅샷: RDS DB 인스턴스를 삭제하더라도, DB 스냅샷은 계속 유지됩니다. 그리고 다른 리전으로 복사할 수 있습니다.

RDS DB 스냅샷 생성하기

이제 RDS DB 인스턴스(exampledbinstance)의 DB 스냅샷을 생성해보겠습니다. RDS DB 인스턴스 목록(Instances)에서 RDS DB 인스턴스(exampledbinstance)를 선택하고 오른쪽 마우스 버튼을 클릭하면 팝업 메뉴가 나옵니다(위쪽 [Instance Actions] 버튼을 클릭해도 같은 메뉴가 나옵니다).

<FontIcon icon="iconfont icon-select"/>을 클릭합니다.
[Take DB Snapshot]을 클릭합니다.

Snapshots

Snapshots 메뉴에서도 DB 스냅샷을 생성할 수 있습니다.

Snapshot Name에는 생성할 DB 스냅샷의 이름을 설정합니다.

여기서는 을 입력하고, <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
여기서는 examplesnapshot을 입력하고, [Yes, Take Snapshot] 버튼을 클릭합니다.

DB 스냅샷을 생성하면 자동으로 DB 스냅샷 목록(Snapshots)으로 이동합니다. DB 스냅샷 목록에는 DB 스냅샷(examplesnapshot)이 생성 중입니다. 완전히 생성되기까지 약 2~3분 정도 소요됩니다. Status가 available로 표시되면 생성이 완료된 것이며 이 DB 스냅샷으로 RDS DB 인스턴스를 생성하거나 다른 리전으로 복사할 수 있습니다.

RDS DB 스냅샷 생성 중
RDS DB 스냅샷 생성 중

Multi-AZ 복제와 DB 스냅샷 생성

Multi-AZ 복제를 사용했을 때에는 예비 인스턴스(Standby)에서 스냅샷을 생성하게 되므로 메인 인스턴스의 I/O 성능에 영향을 주지 않습니다.


RDS DB 스냅샷으로 RDS DB 인스턴스 생성하기

13장 - 7.2. RDS DB 스냅샷으로 RDS DB 인스턴스 생성하기

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

EBS 스냅샷으로 EBS 볼륨을 생성하는 것과 마찬가지로 RDS DB 스냅샷으로 RDS DB 인스턴스를 생성할 수 있습니다.

RDS DB 스냅샷 목록(Snapshots)에서 RDS DB 스냅샷()을 선택하고 위쪽 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
RDS DB 스냅샷 목록(Snapshots)에서 RDS DB 스냅샷(examplesnapshot)을 선택하고 위쪽 [Restore Snapshot] 버튼을 클릭합니다.

RDS DB 스냅샷으로 RDS DB 인스턴스 생성하기 전에 설정이 필요합니다.

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

RDS DB 인스턴스 목록(Instances)으로 돌아왔습니다.

DB 인스턴스 목록에서 DB 스냅샷으로 DB 인스턴스()가 생성되고 있습니다. 완전히 생성되기까지 약 10분 정도 소요됩니다.
DB 인스턴스 목록에서 DB 스냅샷으로 DB 인스턴스(exampledbinstance2)가 생성되고 있습니다. 완전히 생성되기까지 약 10분 정도 소요됩니다.

DB 인스턴스(exampledbinstance2)가 완전히 생성된 후 세부 내용에 엔드포인트 주소가 표시됩니다. 제가 생성한 DB 인스턴스의 엔드포인트 주소는 exampledbinstance2.cnlconsezo7y.ap-northeast-1.rds.amazonaws.com:3306입니다.

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

MySQL Workbench에서 RDS DB 스냅샷으로 생성한 DB 인스턴스()에 접속해보면 앞에서 DB에서 생성한 ExampleTable과 데이터를 확인할 수 있습니다(MySQL Workbench 사용법은 '13.6 RDS DB 인스턴스 사용하기'를 참조하기 바랍니다).
MySQL Workbench에서 RDS DB 스냅샷으로 생성한 DB 인스턴스(exampledbinstance2)에 접속해보면 앞에서 DB에서 생성한 ExampleTable과 데이터를 확인할 수 있습니다(MySQL Workbench 사용법은 '13.6 RDS DB 인스턴스 사용하기'를 참조하기 바랍니다).

이처럼 RDS DB 스냅샷에 저장된 내용을 RDS DB 인스턴스로 복구할 수 있습니다.


RDS 스냅샷을 다른 리전으로 복사하기

13장 - 7.3. RDS 스냅샷을 다른 리전으로 복사하기

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

RDS DB 인스턴스는 다른 리전Region으로 이전할 수 없습니다. 따라서 RDS DB 인스턴스를 RDS DB 스냅샷으로 생성한 뒤 다른 리전으로 복사해야 합니다. RDS DB 스냅샷 목록(Snapshots)에서 DB 스냅샷(examplesnapshot)을 선택하고 위쪽 [Copy Snapshot] 버튼을 클릭합니다.

RDS DB 스냅샷을 복사합니다
RDS DB 스냅샷을 복사합니다
  • Source DB Snapshot: 복사할 DB 스냅샷의 이름이 표시됩니다.
  • Destination Region: 복사할 리전입니다. US West (N. California)를 선택합니다.
  • New DB Snapshot Identifier: 새로 만들어질 DB 스냅샷의 이름입니다. examplesnapshot을 입력합니다.
설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.
설정이 완료되었으면 [Yes, Copy Snapshot] 버튼을 클릭합니다.

RDS DB 스냅샷 복사가 시작되었습니다.

<FontIcon icon="fas fa-globe"/> 링크를 클릭하여 US West (N. California)의 RDS DB 스냅샷 목록으로 이동합니다.
here 링크를 클릭하여 US West (N. California)의 RDS DB 스냅샷 목록으로 이동합니다.

RDS DB 스냅샷 목록(Snapshots)으로 이동했습니다(화면 맨 위의 리전이 N. California로 선택되어 있는지 확인합니다).

방금 복사한 RDS DB 스냅샷이 표시됩니다. 복사가 완료되는데 시간이 약간 걸립니다.
방금 복사한 RDS DB 스냅샷이 표시됩니다. 복사가 완료되는데 시간이 약간 걸립니다.

이제 이 RDS DB 스냅샷으로 US West (N. California) 리전에서 RDS DB 인스턴스를 생성하여 DB를 운영하면 됩니다.


이찬희 (MarkiiimarK)
Never Stop Learning.