13G. RDS DB 스냅샷 활용하기
13G. RDS DB 스냅샷 활용하기 관련
![](https://pyrasis.com/assets/images/pyrasis.png)
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"/>을 클릭합니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/33_.png)
[Take DB Snapshot]
을 클릭합니다.Snapshots
Snapshots 메뉴에서도 DB 스냅샷을 생성할 수 있습니다.
Snapshot Name에는 생성할 DB 스냅샷의 이름을 설정합니다.
![여기서는 을 입력하고, <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/34_.png)
examplesnapshot
을 입력하고, [Yes, Take Snapshot]
버튼을 클릭합니다.DB 스냅샷을 생성하면 자동으로 DB 스냅샷 목록(Snapshots)으로 이동합니다. DB 스냅샷 목록에는 DB 스냅샷(examplesnapshot
)이 생성 중입니다. 완전히 생성되기까지 약 2~3분 정도 소요됩니다. Status가 available로 표시되면 생성이 완료된 것이며 이 DB 스냅샷으로 RDS DB 인스턴스를 생성하거나 다른 리전으로 복사할 수 있습니다.
![RDS DB 스냅샷 생성 중](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/35_.png)
Multi-AZ 복제와 DB 스냅샷 생성
Multi-AZ 복제를 사용했을 때에는 예비 인스턴스(Standby)에서 스냅샷을 생성하게 되므로 메인 인스턴스의 I/O 성능에 영향을 주지 않습니다.
RDS DB 스냅샷으로 RDS DB 인스턴스 생성하기
EBS 스냅샷으로 EBS 볼륨을 생성하는 것과 마찬가지로 RDS DB 스냅샷으로 RDS DB 인스턴스를 생성할 수 있습니다.
![RDS DB 스냅샷 목록(Snapshots)에서 RDS DB 스냅샷()을 선택하고 위쪽 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/36_.png)
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"/> 버튼을 클릭합니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/37_.png)
[Launch DB Instance]
버튼을 클릭합니다.RDS DB 인스턴스 목록(Instances)으로 돌아왔습니다.
![DB 인스턴스 목록에서 DB 스냅샷으로 DB 인스턴스()가 생성되고 있습니다. 완전히 생성되기까지 약 10분 정도 소요됩니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/38_.png)
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 인스턴스 사용하기'를 참조하기 바랍니다).](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/39_.png)
exampledbinstance2
)에 접속해보면 앞에서 DB에서 생성한 ExampleTable과 데이터를 확인할 수 있습니다(MySQL Workbench 사용법은 '13.6 RDS DB 인스턴스 사용하기'를 참조하기 바랍니다).이처럼 RDS DB 스냅샷에 저장된 내용을 RDS DB 인스턴스로 복구할 수 있습니다.
RDS 스냅샷을 다른 리전으로 복사하기
RDS DB 인스턴스는 다른 리전Region으로 이전할 수 없습니다. 따라서 RDS DB 인스턴스를 RDS DB 스냅샷으로 생성한 뒤 다른 리전으로 복사해야 합니다. RDS DB 스냅샷 목록(Snapshots)에서 DB 스냅샷(examplesnapshot
)을 선택하고 위쪽 [Copy Snapshot]
버튼을 클릭합니다.
![RDS DB 스냅샷을 복사합니다](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/40_.png)
- Source DB Snapshot: 복사할 DB 스냅샷의 이름이 표시됩니다.
- Destination Region: 복사할 리전입니다. US West (N. California)를 선택합니다.
- New DB Snapshot Identifier: 새로 만들어질 DB 스냅샷의 이름입니다.
examplesnapshot
을 입력합니다.
![설정이 완료되었으면 <FontIcon icon="iconfont icon-select"/> 버튼을 클릭합니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/41_.png)
[Yes, Copy Snapshot]
버튼을 클릭합니다.RDS DB 스냅샷 복사가 시작되었습니다.
![<FontIcon icon="fas fa-globe"/> 링크를 클릭하여 US West (N. California)의 RDS DB 스냅샷 목록으로 이동합니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/42_.png)
here
링크를 클릭하여 US West (N. California)의 RDS DB 스냅샷 목록으로 이동합니다.RDS DB 스냅샷 목록(Snapshots)으로 이동했습니다(화면 맨 위의 리전이 N. California로 선택되어 있는지 확인합니다).
![방금 복사한 RDS DB 스냅샷이 표시됩니다. 복사가 완료되는데 시간이 약간 걸립니다.](https://pyrasis.com/assets/images/TheArtOfAmazonWebServicesChapter13/43_.png)
이제 이 RDS DB 스냅샷으로 US West (N. California) 리전에서 RDS DB 인스턴스를 생성하여 DB를 운영하면 됩니다.