2 개의 amazon rds 인스턴스 (프로덕션 용 및 개발/테스트 용)가 있습니다. 이제 프로덕션 인스턴스에서 개발 인스턴스로 하나의 데이터베이스를 복원하려고합니다. 프로덕션 인스턴스에서 스냅 샷을 만들고 있지만 다른 인스턴스에서 스냅 샷을 개발 인스턴스에 복원하는 옵션은 없습니다.다른 인스턴스에서 스냅 샷 복원
스냅 샷을 다운로드하지 않고이를 수행 할 수있는 방법이 있습니까?
2 개의 amazon rds 인스턴스 (프로덕션 용 및 개발/테스트 용)가 있습니다. 이제 프로덕션 인스턴스에서 개발 인스턴스로 하나의 데이터베이스를 복원하려고합니다. 프로덕션 인스턴스에서 스냅 샷을 만들고 있지만 다른 인스턴스에서 스냅 샷을 개발 인스턴스에 복원하는 옵션은 없습니다.다른 인스턴스에서 스냅 샷 복원
스냅 샷을 다운로드하지 않고이를 수행 할 수있는 방법이 있습니까?
스냅 샷에서 복원한다는 것은 새로운 RDS 인스턴스를 만드는 것을 의미하므로 기본적으로 이전 개발 인스턴스를 새로운 인스턴스로 바꿉니다.
먼저 원본 개발 인스턴스를 삭제하거나 이름을 바꾸어야합니다. 그렇지 않으면 새 인스턴스에 대해 이름을 다시 사용할 수 없습니다.
개발 스키마와 프로덕션 스키마가 모두있는 RDS 인스턴스를 원한다면 데이터베이스 관련 도구 (예 : MySQL을 사용하는 경우에는 mysqldump, Oracle을 사용하는 경우에는 데이터 펌프)를 사용하여 데이터를 전송해야합니다. 기타). 당신이 dev에 계정에서 복원 가지고 있기 때문에
당신은, 복원 =이
aws rds modify-db-snapshot-attribute --db-snapshot-identifier $SNAPSHOT_NAME --attribute-name restore --values-to-add "<ACCOUNT NUMBER FOR DEV>" --output=json
이름을 속성에 액세스 할 (귀하의 경우 데브) 다른 AWS 계정을 (생산) 스냅 샷의 특성을 수정 할 수 있습니다 이 스냅 샷. dev에 콘솔에서
, 당신이 늦은 2015 시작 "공유 스냅 샷"
에이를 발견 할 것이다, 스냅 샷의 공유는 AWS에 의해 기능이 추가되었습니다.
답장을 보내 주셔서 감사합니다. 이미 mysqldump를 사용하여 개발 인스턴스에서 데이터베이스를 복원하고 있습니다. 하지만 매우 시간을 할애하고 생산 인스턴스에서 백업을하는 동안 블록을 읽습니다 (매우 침대 상황). –
@ManishSapkal이 대답이 무엇인지 알려주는 경우 * 새 * 인스턴스에 스냅 샷을 복원 한 다음 * 이전 * dev 인스턴스를 삭제하고 dev에이 새 인스턴스를 사용하거나 mysqldump를 사용하여 새 인스턴스에서 이전 dev 인스턴스로 데이터를 전송하십시오 (그러면 복원 작업으로 생성 된 새 인스턴스를 삭제할 수 있습니다) ... 어느 쪽이든, 프로덕션 만 남겨 두십시오. 또한, mysqldump에'--single-transaction '을 추가하면 InnoDB를 사용할 때 락업을 방지 할 수있다. –
@ Michael-sqlbot에게 감사드립니다. 새로운 개발자 인스턴스를 사용할 준비가되었습니다. 그러나 프로덕션 인스턴스의 스냅 샷은 어떻게 복원합니까? 다른 인스턴스의 스냅 샷을 선택하는 옵션이 있습니까? –