brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Mar 16. 2023

31탄-2. RDS를 S3로 보낸후 복구하기

<1> RDS 생성

<2> 스넵셧 생성

<3> S3 생성

<4> Snapshot에서 S3로 내보내기 실행

<5> 내보내기 시작됨을 확인하기

<6> MySQL DB 인스턴스로 백업 복원

<7> RDS 복구 업무 프로세스 



<1> RDS 생성


개발 rds

버스트 인스턴스로 작은거로 선택

public에서 허용

보안그룹 3306 허용

워크 벤치로 접속 테스트

데이터 입력



<2> 스넵셧 생성


스넵셧만  S3로 보낼수 있다.



<3> S3 생성


snap1-s3




<4> Snapshot에서 S3로 내보내기 실행


1



2



3


입력값 ?


내보내기 식별자

seo-2023-03-16-1


S3 대상


IAM 역할

새역할 생성

read-role1


KMS

The KMS key arn:aws:k2 isn't a customer managed key, only customer managed keys are allowed.

kms 에서 customer managed keys 를 만들어야 한다. 

seo-2023-03-16-1-kms






<5> 내보내기 시작됨을 확인하기


1

RDS > Amazon S3 에서 내보내기에서 시작중인지 확인 가능하다.

% 나 남은 시간은 안나온다 - -




2

40분걸림



참고 자료

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.html#USER_ExportSnapshot.RegionVersionAvailability





<6> MySQL DB 인스턴스로 백업 복원


1

기존 DB 인스턴스가 아닌 새 DB 인스턴스로만 데이터를 가져올 수 있습니다.


2

서울 리전 선택

동일 리전만 가능


3

rds > 데이터 베이스 > S3에서 복원




3

복원



죄송합니다. DB 인스턴스 database-1 생성 요청이 실패했습니다.

Files from the specified Amazon S3 bucket cannot be downloaded. Make sure that you have created an AWS Identity and Access Management (IAM) role that lets Amazon RDS access Amazon S3 for you.


role 에 권한이 있어야 한다.

임시로 admin 권한 부여하니 된다.

s3full로는 안된다.



https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html




<7> RDS 복구 업무 프로세스 


1

무조건  Snapshot을 만들어야 한다.

Snapshot은  무조건 새 DB를  만들어야 함.

AWS에 제공하는 기능으로는  DB를 만들고 데이터만 이 전하는 건 없다.


2

개발 데이터 복원 요청 시에는 스냅션으로 디비 만든 다음에 추출해야 한다.

추출은 개발팀에서 해야 한다.


3

SnapShot에서   S3로 보내는 요건은?

특수하게 장기보관 해야 하는 경우이다.

S3에서 복원하는 것도  역시 새 DB로 만들어야만 한다.

데이터만 추출할 수 없다.



https://brunch.co.kr/@topasvga/1768


감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari